Zonas
O seu sistema guarda cada imóvel com as suas zonas. O nosso espera as nossas. Antes de nos
enviar o primeiro imóvel, você precisa de uma tabela de equivalências —"a minha zona 4471 é
1-1-49-0 da Mapaprop"— que você monta uma vez e depois reutiliza em cada cadastro.
Esta página explica como montá-la. Para isso há duas formas de nos pedir as zonas, e qual delas convém depende do que você estiver fazendo.
As duas formas, e quando usar cada uma
| O que você está fazendo | Use | Por quê |
|---|---|---|
| Mapear todo o seu catálogo, uma vez, do seu lado | A lista completa | Você baixa todas as zonas do país e as cruza com as suas sem idas e vindas |
| Resolver um ramo pontual (uma província, um município) | A cascata | Três chamadas pequenas em vez de baixar milhares de linhas |
O normal é usar as duas: a lista para o mapeamento inicial, a cascata para consultas pontuais depois.
O catálogo é baixado uma vez e armazenado. Não é um endpoint para chamar a cada cadastro de imóvel: as zonas mudam muito pouco. Guarde o resultado do seu lado e atualize-o de vez em quando — o endpoint ajuda você com isso, veja cache e ETag.
O código de zona: quatro segmentos, sempre
Cada zona tem um código, e esse código é a única coisa que viaja no objeto do imóvel:
1-2-201-0
│ │ │ └─ zone3 — localidade / bairro (0 se você não descer até esse nível)
│ │ └──── zone2 — município
│ └─────── zone1 — província / estado
└───────── zone0 — país
Sempre quatro segmentos, mesmo quando não há zone3. Quando você não desce até o último nível,
vai um 0 ali — não se omite. 1-1-49 não é um código válido; o válido é 1-1-49-0.
Os quatro números também vêm separados em cada linha (zone0, zone1, zone2, zone3), então você
pode preencher o objeto sem quebrar a string.
O que é uma zona publicável
Aqui está o que mais surpreende, e convém entender antes de mapear:
As folhas da árvore não são as únicas zonas publicáveis. O município também é publicável por si só.
| Código | O que é | Publicável? |
|---|---|---|
1-2-201-0 | La Matanza (o município inteiro) | Sim |
1-2-201-117 | Aldo Bonzi (uma localidade de La Matanza) | Sim |
1-1-49-0 | Palermo Hollywood (um bairro de Buenos Aires, sem nível abaixo) | Sim |
Se você souber a localidade exata, envie a localidade. Se souber apenas o município, envie o
município com -0 no final: é um endereço válido e você não precisa inventar uma localidade.
Cada linha traz um campo level que diz qual dos dois é (2 = município, 3 = localidade).
Como cruzar com as suas zonas
Cada linha traz os nomes dos ancestrais como campos próprios, além do path montado:
{
"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 fazer o match por texto com os seus nomes, use
path: ele inclui a ancestralidade, que é o que desambigua. Há dezenas de "San Martín" na Argentina; "Buenos Aires > San Martín" há um. - Para montar uma árvore do seu lado, agrupe por
zone1e depois porzone2. Não é preciso quebrar opathnem chamar a cascata: a lista plana já traz tudo.
Guarde o code, não o nome. Os nomes podem ser corrigidos (um acento, uma abreviação); o
código não muda. Se o seu mapeamento se apoiar no texto, um dia ele quebra sozinho.
Os países
Antes de mais nada você precisa saber qual número é o seu país, porque todo o resto o exige:
GET https://mapaprop.app/api/action/property-catalog-v1/countries
Sem parâmetros. Devolve os países com o seu ISO e o seu id (o zone0):
[
{ "id": 1, "iso": "AR", "description": "Argentina" },
{ "id": 2, "iso": "ES", "description": "España" }
]
Nos demais endpoints o país vai pelo ISO (country=AR), não pelo número.
Autenticação
Todo o catálogo exige Authorization: Bearer {o seu access_token} com o escopo
property-api-catalog.
O catálogo é servido a partir de mapaprop.app/api/action/…, não de
property-api.mapaprop.com. São dois hosts e isso é proposital: o catálogo fica onde ficam os
dados. O token é o mesmo para os dois, você não precisa de credenciais separadas.
Se você receber um 403, é o token ou o escopo; se receber um 404, é o método ou a URL (todos
estes endpoints são GET).
Veja também
- A lista completa de zonas — para o mapeamento em lote
- A cascata — para resolver um ramo
- O objeto JSON do imóvel — onde vai o código
- POST /properties/verify — teste o seu objeto antes de publicar