BETA

Zonas

Tu sistema guarda cada propiedad con tus zonas. El nuestro espera las nuestras. Antes de mandarnos la primera propiedad necesitás una tabla de equivalencias —"mi zona 4471 es 1-1-49-0 de Mapaprop"— que armás una vez y después reusás en cada alta.

Esta página explica cómo armarla. Para eso hay dos formas de pedirnos las zonas, y cuál te conviene depende de qué estés haciendo.

Las dos formas, y cuándo usar cada una

Estás haciendoUsáPor qué
Mapear tu catálogo entero, una vez, de tu ladoLa lista completaTe traés todas las zonas del país y las cruzás contra las tuyas sin ir y venir
Resolver una rama puntual (una provincia, un partido)La cascadaTres llamadas chicas en vez de bajar miles de filas

Lo normal es usar las dos: la lista para el mapeo inicial, la cascada para consultas puntuales después.

El catálogo se baja una vez y se guarda. No es un endpoint para llamar en cada alta de propiedad: las zonas cambian muy poco. Guardate el resultado de tu lado y refrescalo de vez en cuando — el endpoint te ayuda con eso, ver caché y ETag.

El código de zona: 4 segmentos, siempre

Cada zona tiene un código que es lo único que viaja en el objeto de la propiedad:

1-2-201-0
│ │  │  └─ zone3 — localidad / barrio  (0 si no bajás a ese nivel)
│ │  └──── zone2 — partido / municipio
│ └─────── zone1 — provincia / estado
└───────── zone0 — país

Siempre cuatro segmentos, aunque no haya zone3. Cuando no bajás al último nivel, ahí va 0 — no se omite. 1-1-49 no es un código válido; el válido es 1-1-49-0.

Los cuatro números también vienen sueltos en cada fila (zone0, zone1, zone2, zone3), así que podés llenar el objeto sin partir el string.

Qué es una zona publicable

Acá está lo que más sorprende, y conviene entenderlo antes de mapear:

No sólo las hojas del árbol son publicables. El partido también lo es, por sí mismo.

CódigoEs¿Publicable?
1-2-201-0La Matanza (el partido entero)Sí
1-2-201-117Aldo Bonzi (una localidad de La Matanza)Sí
1-1-49-0Palermo Hollywood (un barrio porteño, sin nivel debajo)Sí

Si sabés la localidad exacta, mandá la localidad. Si sólo sabés el partido, mandá el partido con -0 al final: es una dirección válida y no necesitás inventar una localidad.

Cada fila trae un campo level que te dice cuál de los dos es (2 = partido, 3 = localidad).

Cómo cruzar contra tus zonas

Cada fila trae los nombres de los ancestros como campos propios, además del path armado:

{
  "code": "1-2-201-117",
  "zone0": 1, "zone1": 2, "zone2": 201, "zone3": 117,
  "level": 3,
  "description": "Aldo Bonzi",
  "zone1Description": "Buenos Aires",
  "zone2Description": "La Matanza",
  "path": "Buenos Aires > La Matanza > Aldo Bonzi"
}
  • Para matchear por texto contra tus nombres, usá path: incluye la ancestría, que es lo que desambigua. Hay decenas de "San Martín" en Argentina; "Buenos Aires > San Martín" hay uno.
  • Para armar un árbol de tu lado, agrupá por zone1 y después por zone2. No hace falta partir el path ni llamar a la cascada: la lista plana ya trae todo.

Guardá el code, no el nombre. Los nombres se pueden corregir (una tilde, una abreviatura); el código no cambia. Si tu mapeo se apoya en el texto, un día se rompe solo.

Los países

Antes que nada necesitás saber qué número es tu país, porque todo lo demás lo pide:

GET https://mapaprop.app/api/action/property-catalog-v1/countries

Sin parámetros. Devuelve los países con su ISO y su id (el zone0):

[
  { "id": 1, "iso": "AR", "description": "Argentina" },
  { "id": 2, "iso": "ES", "description": "España" }
]

En el resto de los endpoints el país va por ISO (country=AR), no por número.

Autenticación

Todo el catálogo pide Authorization: Bearer {tu access_token} con el scope property-api-catalog.

El catálogo sale de mapaprop.app/api/action/…, no de property-api.mapaprop.com. Son dos hosts y es a propósito: el catálogo vive donde viven los datos. El token es el mismo para los dos, no necesitás credenciales aparte.

Si te devuelve 403, es el token o el scope; si te devuelve 404, es el método o la URL (todos estos endpoints son GET).

Ver también