Neste guia, usaremos duas interfaces pertencentes a um integrador, uma para leitura e outra para leitura e escrita. A leitura e a escrita já possuem anúncios criados e associados a algumas de suas empresas associadas.
NOTA: Em todo o guia, chamaremos de LES a interface de leitura e escrita e de LEC a interface de leitura.
Consultando pelas imobiliárias, com a interface de LEC, você obtém:
{
“number”: 0,
“size”: 4,
“total”: 4,
“content”: [
{
“codigoInmobiliaria”: “Prueba_guia_2_e1”,
“idNavplat”: 30345987,
“nombre”: “Inmobiliaria de Prueba Prueba_guia_2_e1”,
“habilitadoDesde”: 1575547036000
},
{
“codigoInmobiliaria”: “Prueba_guia_2_e2”,
“idNavplat”: 30345989,
“nombre”: “Inmobiliaria de Prueba Prueba_guia_2_e2”,
“habilitadoDesde”: 1575547037000
},
{
“codigoInmobiliaria”: “Prueba_guia_2_e3”,
“idNavplat”: 30345991,
“nombre”: “Inmobiliaria de Prueba Prueba_guia_2_e3”,
“habilitadoDesde”: 1575547039000
},
{
“codigoInmobiliaria”: “Prueba_guia_2_e4”,
“idNavplat”: 30345993,
“nombre”: “Inmobiliaria de Prueba Prueba_guia_2_e4”,
“habilitadoDesde”: 1575547040000
}
]
}
Executando a mesma ação com a interface LES, o mesmo resultado é obtido.
Agora, buscaremos o resumo dos anúncios para uma determinada imobiliária. Tomaremos como exemplo a empresa “Prueba_guia_2_e2”, que possui dois anúncios.
Consultamos o resumo dos anúncios on-line da imobiliária com a interface LES e você obtém:
{
“number”: 0,
“size”: 2,
“total”: 2,
“content”: [
{
“idAvisoNavplat”: 45491025,
“codigoAviso”: “15A2D2C2C069BFB3A318FB841FD8FC25_e2_a1”,
“idDesarrolloNavplat”: null,
“codigoDesarrollo”: null,
“tipoDeAviso”: “AVISO_CLASIFICADO”,
“titulo”: “Prueba_guia_2 – Casa En Venta”,
“fechaModificado”: “2019-12-05 06:57:18.0”,
“fechaModificacion”: 1575547038000,
“publicacion”: “SIMPLE”,
“claveInterna”: null,
“dataModificacao”: 1575547038000,
“publicação”: “SIMPLE”
},
{
“idAvisoNavplat”: 45491027,
“codigoAviso”: “15A2D2C2C069BFB3A318FB841FD8FC25_e2_a3”,
“idDesarrolloNavplat”: null,
“codigoDesarrollo”: null,
“tipoDeAviso”: “AVISO_CLASIFICADO”,
“titulo”: “Prueba_guia_2 – Edificio En Venta”,
“fechaModificado”: “2019-12-05 06:57:18.0”,
“fechaModificacion”: 1575547038000,
“publicacion”: “SIMPLE”,
“claveInterna”: null,
“dataModificacao”: 1575547038000,
“publicação”: “SIMPLE”
}
]
}
Executando a mesma consulta com a interface LEC, o mesmo resultado é obtido, mas com códigos de anúncios diferentes.
{
“number”: 0,
“size”: 2,
“total”: 2,
“content”: [
{
“idAvisoNavplat”: 45491025,
“codigoAviso”: null,
“idDesarrolloNavplat”: null,
“codigoDesarrollo”: null,
“tipoDeAviso”: “AVISO_CLASIFICADO”,
“titulo”: “Prueba_guia_2 – Casa En Venta”,
“fechaModificado”: “2019-12-05 06:57:18.0”,
“fechaModificacion”: 1575547038000,
“publicacion”: “SIMPLE”,
“claveInterna”: null,
“dataModificacao”: 1575547038000,
“publicação”: “SIMPLE”
},
{
“idAvisoNavplat”: 45491027,
“codigoAviso”: null,
“idDesarrolloNavplat”: null,
“codigoDesarrollo”: null,
“tipoDeAviso”: “AVISO_CLASIFICADO”,
“titulo”: “Prueba_guia_2 – Edificio En Venta”,
“fechaModificado”: “2019-12-05 06:57:18.0”,
“fechaModificacion”: 1575547038000,
“publicacion”: “SIMPLE”,
“claveInterna”: null,
“dataModificacao”: 1575547038000,
“publicação”: “SIMPLE”
}
]
}
ATENÇÃO: É aqui que começam as diferenças entre as interfaces. Ambos têm as mesmas empresas associadas e, consultando o resumo on-line dos anúncios de alguma imobiliária, podemos observá-los. A diferença é que a interface do LEC não tem associados seus anúncios, e como consequência disso, você não receberá nenhuma notificação sobre nenhuma ação tomada sobre os anúncios ou alguma consulta sobre o mesmo no portal. Para isso, devemos associar o anúncio à interface. Para executar esta ação, devemos usar o endpoint
PUT /v1/imobiliarias/{codigoImobiliaria}/anuncios/{codigoAnuncio}/asociar/{idAnuncio}
Realizando esta ação, também deixamos o anúncio associado à interface do LEC.
Tomaremos como exemplo a imobiliária “Prueba_Guia_2_e2” e associaremos o anúncio com idAnuncio = 45491025 e colocaremos o código do anúncio "CodigoPersonalizadoGuia".
A URL de requisição realizado:
http://api-zp.sandbox.open.navent.com/v1/inmobiliarias/Prueba_guia_2_e2/anuncios/CodigoPersonalizadoGuia/asociar/45491025?access_token=*******
E a resposta:
{
“code”: “ok”,
“respuesta”: “El aviso con id 45491025 de la inmobiliaria Prueba_guia_2_e2 se asocio al codigoAviso CodigoPersonalizadoGuia.”,
“resposta”: “El aviso con id 45491025 de la inmobiliaria Prueba_guia_2_e2 se asocio al codigoAviso CodigoPersonalizadoGuia.”
}
Aqui, o anúncio já foi associado e com o código de anúncio personalizado pelo integrador.
Voltamos a consultar o resumo dos anúncios e agora obtemos a seguinte resposta:
{
“number”: 0,
“size”: 2,
“total”: 2,
“content”: [
{
“idAvisoNavplat”: 45491025,
“codigoAviso”: “CodigoPersonalizadoGuia”,
“idDesarrolloNavplat”: null,
“codigoDesarrollo”: null,
“tipoDeAviso”: “AVISO_CLASIFICADO”,
“titulo”: “Prueba_guia_2 – Casa En Venta”,
“fechaModificado”: “2019-12-05 06:57:18.0”,
“fechaModificacion”: 1575547038000,
“publicacion”: “SIMPLE” = Simples no portal,
“claveInterna”: null,
“dataModificacao”: 1575547038000,
“publicação”: “SIMPLE” = Simples no portal
},
{
“idAvisoNavplat”: 45491027,
“codigoAviso”: null,
“idDesarrolloNavplat”: null,
“codigoDesarrollo”: null,
“tipoDeAviso”: “AVISO_CLASIFICADO”,
“titulo”: “Prueba_guia_2 – Edificio En Venta”,
“fechaModificado”: “2019-12-05 06:57:18.0”,
“fechaModificacion”: 1575547038000,
“publicacion”: “SIMPLE” = Simples no portal,
“claveInterna”: null,
“dataModificacao”: 1575547038000,
“publicação”: “SIMPLE” = Simples no portal
}
]
}
Outra diferença entre as interfaces é que a interface LEC não pode executar nenhuma ação sobre os anúncios, ou seja, nada que as modifique ou altere seu status. Mas a interface LES pode, e a mudança também será refletida na interface LEC. Se tentar realizar uma ação indevida com a interface LEC, um erro será recebido indicando que a ação indicada não pode ser executada. Com uma resposta:
{
“code”: “error_inesperado”,
“message”: “Access is denied”
}
Um endpoint a ter em conta e que pode ser útil é o Sumário de Empreendimentos, este irá listar a informação de todos os empreendimentos online de um imóvel e das suas unidades:
GET /v1/imobiliarias/{codigoImobiliaria}/lancamentos/online/resumo
Continuando com o guia, uma vez associado um anúncio, podemos prosseguir para configurar os callbacks. Essa funcionalidade permite que você receba notificações sobre diferentes ações que são executadas sobre os anúncios. Por exemplo, uma consulta no portal por telefone, mensagem de um possível cliente.
Para configurar, se deve utilizar o endpoint
PUT /v1/configuracion/callbacks
Este endpoint recebe um objeto com a seguinte informação:
- url: URL POST onde se realizará o callback. É obrigatório enviar a url e deve começar com http:// o https://
- authorizationHeaderKey: Key para adicionar ao header como autorização. É opcional e por Authorization padrão.
- authorizationHeaderValue: Valor com token ou sequência criptografada para autorização do callback. Se esse valor for atribuído, mas a authorizationHeaderKey não tiver valor, então a key no header será Authorization.
- lenguajeCallbackBody: EN para inglês, ES para espanhol, PT para português. Opcional.
Agora configuraremos callbacks para a interface LEC com as seguintes informações, desta vez o idioma espanhol foi configurado, mas os idiomas também podem ser inglês (EN) ou português (PT):
{
“url”: “https://prueba.open.navent.com/callbacks”,
“authorizationHeaderKey”: “token”,
“authorizationHeaderValue”: “Password”,
“lenguajeCallbackBody”: “ES”
}
Retorna o código HTTP 204 e a resposta:
no content
O qual é correto.
Se pode verificar se a configuração foi correta, obtendo a configuração com o endpoint:
GET /v1/configuracion/callbacks
Agora, devemos executar ações nos anúncios e assim começar a receber os callback com as notificações.
Como exemplo, executarei ações diferentes no anúncio, que associamos anteriormente a essa interface.
Como primeira ação, fizemos uma consulta por telefone da imobiliária na publicação no portal. Quando o integrador deseja começar a testar os callback, ele deve solicitar suporte para executar algumas ações para gerar o callback e assim testar o mesmo. As duas ações possíveis que serão executadas pela equipe de suporte são a consulta por telefone e a mensagem enviada por um possível cliente.
No lado do integrador, chega no callback, a notificação com as informações do evento. O body recebido foi o seguinte:
{
“idEvento”:“bef4eef3-882f-4701-a31d-f3313bc8cbd2”,
“tipoEvento”:“CONTACTO”,
“idMensaje”:null,
“idTipoContacto”:6,
“idContacto”:null,
“codigoInmobiliaria”:null,
“codigoCliente”:null,
“referencia”:“15A2D2C2C069BFB3A318FB841FD8FC25_e2_a1”,
“fechaRegistro”:“2019-12-05T09:51:43.978-0500”,
“nombre”:“ANONYMOUS”,
“email”:“–“,
“telefono”:null,
“mensaje”:null
}
Como segunda ação, simulamos uma mensagem de um possível cliente no portal.
No lado do integrador, o evento é notificado e nos enviou a requisição com os seguinte body:
{
“idEvento”:“67b02b7a-e648-441d-90f7-e298c3cac633”,
“tipoEvento”:“CONTACTO_MENSAJE”,
“idMensaje”:236161673,
“idTipoContacto”:1,
“idContacto”:null,
“codigoInmobiliaria”:null,
“codigoCliente”:null,
“referencia”:“15A2D2C2C069BFB3A318FB841FD8FC25_e2_a1”,
“fechaRegistro”:“2019-12-05T09:53:04.529-0500”,
“nombre”:“Juli”,
“email”:“[email protected]”,
“telefono”:“1165889654”,
“mensaje”:“Hola, me interesa esta propiedad que vi en Zonaprop y quiero que me contacten. Gracias.”
}
Este foi um tutorial sobre como executar a associação de um anúncio, configuração de callbacks e como as notificações são recebidas por meio deles.
Observação: Nosso Timezone é UTC-4.
Qualquer dúvida ou reclamação, entrar em contato com [email protected] ou [email protected]