Qual modo cada portal suporta
GET /property-v1/leads/capabilities
As consultas não chegam da mesma forma em todos os portais: em alguns você as solicita e em outros chegam sozinhas. E isso é decidido por cada portal, não por nós.
Este método informa isso como dado, para que você não precise manter essa informação escrita no seu código.
É o único método de leads que NÃO exige {portal}:leads. Exige
property-api-catalog — o mesmo das zonas e dos atributos. É assim porque fala sobre todos os
portais ao mesmo tempo: exigir o de um só seria arbitrário, e exigir os quatro faria com que você não
pudesse lê-lo. Se você já consome o catálogo de zonas, não precisa nos pedir nada novo.
curl "https://property-api.mapaprop.com/property-v1/leads/capabilities" \
-H "Authorization: Bearer $TOKEN"
Não leva parâmetros. Não olha nenhuma conta dos seus clientes e não gasta cota de ninguém.
Os três modos
Têm o nome de quem dispara, que é a única diferença que muda o seu trabalho:
| Modo | Quem dispara | O que você tem que fazer |
|---|---|---|
pull | você, quando quiser | solicitar as consultas com por conta ou por imóvel |
pushFromPortal | o portal avisa, e nós encaminhamos para você | ter um endpoint próprio e verificar a nossa assinatura |
pushFromMapaprop | nós consultamos e enviamos para você | o mesmo: o seu endpoint e a assinatura |
Os dois push ainda não estão disponíveis em nenhum portal. Quando estiverem, este método vai
informar — e é exatamente para isso que ele existe.
A resposta
{
"portals": {
"zonapropapi": {
"pull": { "available": true, "byAccount": true, "byProperty": true, "quotaShared": true },
"pushFromPortal": { "available": false },
"pushFromMapaprop": { "available": false }
},
"argenpropapi": {
"pull": { "available": false },
"pushFromPortal": { "available": false },
"pushFromMapaprop": { "available": false }
},
"cabapropapi": {
"pull": { "available": false },
"pushFromPortal": { "available": false },
"pushFromMapaprop": { "available": false }
},
"mercadolibreapi": {
"pull": { "available": false },
"pushFromPortal": { "available": false },
"pushFromMapaprop": { "available": false }
}
}
}
O que significa cada campo
available | se esse modo pode ser usado hoje nesse portal |
byAccount | se você pode trazer as da conta inteira em uma única chamada — o caminho normal |
byProperty | se você pode trazer as de um anúncio específico |
quotaShared | se as consultas gastam a mesma cota mensal que publicar e que consultar o status do anúncio |
byAccount, byProperty e quotaShared aparecem somente quando pull.available é true: em um
portal sem pull não descrevem nada, e enviá-los como false seria lido como se o serviço existisse e
estivesse desligado.
quotaShared: true significa que uma consulta pode deixar você sem cota para publicar. É o caso do
Zonaprop: o limite do mês é único e é compartilhado por publicar, consultar o status e trazer consultas.
Como funciona a cota do Zonaprop.
Como usar
Leia uma vez ao iniciar a sua integração e guarde o resultado; leia de novo de vez em quando. Não é necessário consultá-lo antes de cada pedido de leads.
O que isso evita:
- Escrever no seu código qual portal se consulta e qual avisa. No dia em que um portal ganhar um modo novo, a sua integração descobre sozinha.
- Descobrir na tentativa. Se você pedir consultas de um portal que ainda não as oferece, a resposta é
um
501honesto que informa qual dos dois serviços está faltando — mas você descobriu depois de ter montado a chamada.
Um portal que não aparece na lista não é um portal sem suporte: é um portal que não existe nesta
API. Os que ainda não suportam nada aparecem sim, com tudo em false.
Os erros
| Quando | O que fazer | |
|---|---|---|
| 401 | o token está faltando, venceu ou não é válido | verifique o Authorization |
| 403 | está faltando o scope property-api-catalog | peça para nós concedermos a você. Não é {portal}:leads: esse não habilita este método |