Consultar o estado no portal
GET /property-v1/properties/{paId}/publication/{portal}
É a forma de saber como está o anúncio do outro lado: se continua online, qual é a sua URL pública, quantas visitas teve e se o portal registrou algum erro.
Esta chamada gasta uma chamada da cota mensal do cliente no portal, igual a publicar.
Se você só precisa do último estado conhecido, GET /properties/{paId} devolve isso sem gastar nada.
curl https://property-api.mapaprop.com/property-v1/properties/01M41AQNXYG4W4SEEEEPHEDNX4/publication/zonapropapi \
-H "Authorization: Bearer $TOKEN" \
-H "x-client-ref: cliente-42"
{
"paId": "01M41AQNXYG4W4SEEEEPHEDNX4",
"portal": "zonapropapi",
"remoteStatus": "unpublished",
"inSync": false,
"remote": {
"portalItemId": 60321762,
"url": "https://www.zonaprop.com.ar/propiedades/clasificado/-60321762.html",
"publicationState": "OFFLINE",
"processingState": "PROCESADO",
"onlineAt": "2026-10-03T17:14:06.000Z",
"offlineAt": "2026-10-03T04:00:00.000Z",
"createdAt": "2026-10-03T17:14:05.000Z",
"modifiedAt": "2026-10-03T17:14:28.000Z",
"visits": 0,
"errors": [],
"warnings": [],
"imagesStatus": [],
"exists": true,
"checkedAt": "2026-10-03T18:42:57.716Z"
},
"quota": { "remaining": 1443, "limit": 1500 }
}
A URL do anúncio
remote.url é onde o anúncio publicado pode ser visto. Não é possível construí-la do seu lado:
ela usa o id interno do portal (remote.portalItemId), que é diferente do código com o qual você
publica.
remote.url vem como null se ainda não tivermos o id do portal, ou se não pudermos montar a URL
com certeza para o país do imóvel. Não montamos uma aproximada: um link que leva a outro lugar
é pior do que não ter link.
As duas leituras: uma gratuita e uma fresca
| O que devolve | Cota | |
|---|---|---|
GET /properties/{paId} | o último estado que já tínhamos, em published.{portal}.remote | gratuita |
GET …/publication/{portal} (esta página) | pergunta ao portal agora | 1 chamada |
Para escolher entre as duas existe remote.checkedAt: diz de quando é o dado guardado. Se for
suficiente, não é preciso perguntar de novo.
Se você percorrer todo o seu inventário consultando imóvel por imóvel, gasta uma chamada para cada um. Com 400 imóveis são 400 das 1500 chamadas do mês. Leia primeiro o estado guardado e consulte apenas o que realmente precisa fresco.
remoteStatus e inSync
remoteStatus é o estado do anúncio, e esta chamada o atualiza com o que o portal disser.
publicationState do portal | remoteStatus fica em |
|---|---|
ONLINE | published |
OFFLINE | unpublished |
| o anúncio não existe no portal | unpublished |
| um valor que não reconhecemos | não é alterado |
inSync responde a pergunta que importa: o anúncio está como você o deixou?
inSync | O que significa | O que fazer |
|---|---|---|
true | o portal coincide com o que você esperava | nada |
false | mudou sem que você pedisse — caiu, ou o plano venceu | publique de novo se quiser que fique no ar |
null | o portal devolveu um estado que não sabemos interpretar | olhe remote.publicationState e escreva para nós |
Nós não republicamos por conta própria. Se o anúncio caiu, dizemos isso com inSync: false e a
decisão é sua: pode ser que você já não o queira no ar.
Os outros campos de remote
| Campo | O que é |
|---|---|
portalItemId | o id que o portal deu ao anúncio. É o que forma a URL |
publicationState | ONLINE / OFFLINE — se o anúncio está no ar |
processingState | em que etapa do processamento do portal está (ex. PROCESADO) |
onlineAt · offlineAt | quando entrou no ar e quando foi retirado |
createdAt · modifiedAt | do lado do portal, não do seu |
visits | visitas que o portal registrou. null se não as informa |
errors · warnings | exatamente como o portal os envia, sem tradução |
imagesStatus | o que o portal fez com cada imagem |
exists | false se o anúncio não está no portal |
checkedAt | quando perguntamos |
errors pode trazer entradas mesmo quando a publicação saiu bem: são anotações que o portal deixa
por conta própria. Vão sem interpretação porque o texto do portal é mais preciso do que qualquer
tradução nossa.
Códigos de resposta
| Código | O que aconteceu | O que fazer |
|---|---|---|
200 | o estado do anúncio | — |
403 | o seu token não tem o scope {portal}:publish | escreva para nós para habilitá-lo |
404 | esse imóvel não está no seu inventário | verifique o paId e o x-client-ref |
409 | a conta não está conectada ao portal | solicite um link de conexão |
501 | ainda não podemos consultar o estado nesse portal | o portal vem em portal |
502 | não conseguimos perguntar ao portal | tente de novo; não alteramos nada do seu lado |
O 501 não significa que o portal não exista: você pode estar publicando nele perfeitamente e o que
falta é esta consulta. Hoje está disponível no Zonaprop.
Relacionado
- Publicação em portais — os três métodos do mesmo endpoint
PUTpublicar ·DELETEdespublicarGET /properties/{paId}— a leitura que não gasta cota