DEVELOPING

O modelo de imóvel

Você envia o JSON de acordo com o nosso modelo e nós o traduzimos para o formato de cada portal.

A Mapaprop é multipaís, e para que isso funcione há uma única coisa que você precisa entender bem: o vocabulário é único. O tipo casa é o mesmo valor em todos os países. O que muda de um país para outro é como ele se chama na tela — "Departamento", "Piso", "Apartamento" — e quais opções estão disponíveis, não o valor que você envia.

Se você integra vários países, aprende um vocabulário, não um por país.

Tipo e operação

No JSON do imóvel eles viajam como números:

CampoO que é
typeO tipo de imóvel
propertyOperationA operação

Esses números são estáveis: significam a mesma coisa em todos os países.

As operações são sete:

propertyOperationOperação
1Venda
2Aluguel
3Aluguel por temporada
4Permuta
5Trespasse
6Compartilhar
7Leilão

Os tipos são vinte e três e não os listamos aqui, porque nem todos estão habilitados em todos os países. Você os obtém a partir do catálogo.

O catálogo: de onde saem os valores

GET /property-attributes devolve, para um país, tudo o que esse país aceita. Cada entrada traz:

CampoO que é
pa_keyA chave em texto — apartment, house, pool
pa_key_legacyO valor estável que você envia no JSON
pa_labelO rótulo traduzido, para mostrar ao seu usuário
pa_typeA natureza do dado: bool, list ou string
pa_group_subtypeA família, para agrupar na tela — ammenities, spaces, services

Com isso você pode traduzir nas duas direções: do seu sistema para o nosso, e da nossa resposta para algo legível para o seu usuário.

Peça o catálogo do país do imóvel, não de um só. Um tipo pode estar habilitado na Argentina e não no Peru.

E tenha isto em mente: não validamos os valores contra o catálogo. A validação do cadastro verifica que os campos obrigatórios estejam presentes e sejam do tipo correto — nada mais. Um valor que esse país não usa não é rejeitado: é armazenado, e o imóvel fica publicado com um dado errado. O catálogo não é uma sugestão: é a única forma de saber o que enviar.

Os atributos

Além dos campos fixos, o imóvel leva um array attributes com todo o resto: as comodidades, os acabamentos, as orientações. É ali que vive a riqueza da ficha, e é o mesmo lugar para os três tipos de dado:

pa_typeO que éO que você envia
boolTem ou não tem — piscina, churrasqueira, garagem cobertaa entrada do atributo, marcada como presente
listUma opção entre várias — tipo de ar-condicionado, orientaçãoa entrada da opção escolhida, com o seu valor
stringUm valor com texto próprioa entrada, com a chave do valor

Copie os nomes exatos dos campos de cada entrada a partir do exemplo de O objeto JSON do imóvel — eles não são os mesmos para as três naturezas, e não coincidem com os do catálogo. Esse exemplo é o contrato.

O que você envia e o que nós definimos

O catálogo traz mais campos do que você precisa enviar. A regra é simples: envie apenas o que você sabe e nós não.

Quem define
O identificador do clienteNós, a partir do seu token — se você enviar no body, é ignorado
Todo o restoVocê

O array attributes é armazenado exatamente como você o envia, rótulos e idioma incluídos: não o reescrevemos contra o catálogo. Isso significa que, se você inventar um rótulo, é ele que vai ser exibido.

Por isso: monte cada entrada a partir do catálogo do país em vez de escrevê-la à mão. Peça GET /property-attributes para o país do imóvel e copie a entrada exatamente como ela vem.

Um exemplo do vocabulário único

O mesmo imóvel, publicado em dois países, envia o mesmo valor:

// Argentina
{ "type": 1, "propertyOperation": 1, "currency": "USD" }

// España — mismo tipo, mismo número
{ "type": 1, "propertyOperation": 1, "currency": "EUR" }

O que muda é o que o seu usuário vê: na Argentina o catálogo devolve pa_label: "Departamento"; na Espanha, pa_label: "Piso".

Se GET /property-attributes não devolver o país que você procura, esse país ainda não está habilitado para publicar. Não converta os valores à mão nem assuma os de outro país: escreva para nós e nós o habilitamos.

Veja também