DEVELOPING

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 devolveCota
GET /properties/{paId}o último estado que já tínhamos, em published.{portal}.remotegratuita
GET …/publication/{portal} (esta página)pergunta ao portal agora1 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 portalremoteStatus fica em
ONLINEpublished
OFFLINEunpublished
o anúncio não existe no portalunpublished
um valor que não reconhecemosnão é alterado

inSync responde a pergunta que importa: o anúncio está como você o deixou?

inSyncO que significaO que fazer
trueo portal coincide com o que você esperavanada
falsemudou sem que você pedisse — caiu, ou o plano venceupublique de novo se quiser que fique no ar
nullo portal devolveu um estado que não sabemos interpretarolhe 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

CampoO que é
portalItemIdo id que o portal deu ao anúncio. É o que forma a URL
publicationStateONLINE / OFFLINE — se o anúncio está no ar
processingStateem que etapa do processamento do portal está (ex. PROCESADO)
onlineAt · offlineAtquando entrou no ar e quando foi retirado
createdAt · modifiedAtdo lado do portal, não do seu
visitsvisitas que o portal registrou. null se não as informa
errors · warningsexatamente como o portal os envia, sem tradução
imagesStatuso que o portal fez com cada imagem
existsfalse se o anúncio não está no portal
checkedAtquando 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ódigoO que aconteceuO que fazer
200o estado do anúncio—
403o seu token não tem o scope {portal}:publishescreva para nós para habilitá-lo
404esse imóvel não está no seu inventárioverifique o paId e o x-client-ref
409a conta não está conectada ao portalsolicite um link de conexão
501ainda não podemos consultar o estado nesse portalo portal vem em portal
502não conseguimos perguntar ao portaltente 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