The cascade: zones1 / zones2 / zones3
These are three endpoints returning the same zones as the complete list, but one level at a time:
zones1 → a country's provinces/states
zones2 → a province's districts/municipalities
zones3 → a district's localities/neighborhoods
They are for resolving one specific branch without downloading the country's thousands of rows. If what you are doing is mapping your entire catalog, use the complete list: that is one call per thousand zones instead of one call per branch.
| Resource information | |
|---|---|
| Authentication | Required (API Token, Bearer) |
| Scope | property-api-catalog |
| HTTP Method | GET |
| Response | JSON |
| Version | 1 |
1 · A country's provinces
GET https://mapaprop.app/api/action/property-catalog-v1/zones1?country=AR
| Key | Type | Required | Description |
|---|---|---|---|
| country | string | yes | 2-letter ISO code |
[
{ "zone0": 1, "zone1": 2, "description": "Buenos Aires" },
{ "zone0": 1, "zone1": 1, "description": "Capital Federal" }
]
This level carries no code, and that is deliberate. A province on its own is not a
publishable zone: every valid code reaches at least the district. A code here would invite you
to send it in the property object and it would not work. Go down one more level.
2 · A province's districts
GET https://mapaprop.app/api/action/property-catalog-v1/zones2?country=AR&zone1=1
| Key | Type | Required | Description |
|---|---|---|---|
| country | string | yes | 2-letter ISO code |
| zone1 | int | yes | The zone1 returned by the previous step |
[
{ "zone0": 1, "zone1": 1, "zone2": 1340, "description": "Abasto", "code": "1-1-1340-0" }
]
Here a code does come back: every district is already a publishable zone on its own. If you
know the district but not the locality, this code is enough.
3 · A district's localities
GET https://mapaprop.app/api/action/property-catalog-v1/zones3?country=AR&zone1=2&zone2=201
| Key | Type | Required | Description |
|---|---|---|---|
| country | string | yes | 2-letter ISO code |
| zone1 | int | yes | The province |
| zone2 | int | yes | The district |
[
{ "zone0": 1, "zone1": 2, "zone2": 201, "zone3": 117,
"description": "Aldo Bonzi", "code": "1-2-201-117" }
]
An empty list here is not an error: it means that district has no localities beneath it and that
the publishable code is the district's (zone2 with -0). This happens with every Buenos Aires city
neighborhood, for example.
Errors
| HTTP | error | What happened |
|---|---|---|
| 400 | REQUIRED_INPUT | country is missing |
| 400 | VALIDATION | zone1 is missing (in zones2/zones3) or zone2 is missing (in zones3) |
| 400 | INVALID_INPUT | The ISO code matches no country |
| 403 | INVALID_PERMISSION | Your token lacks the property-api-catalog scope |
| 404 | — | You used a different method: all three are GET |
See also
- Zones — the concept and the code format
- The complete list — to map your catalog in batch