DEVELOPING

Publicar em um portal

Quando o imóvel já está cadastrado e a conta do portal conectada, isto o publica.

PUT /property-v1/properties/{paId}/publication/{portal}

Você não envia o imóvel de novo: nós já o temos, e o publicamos exatamente como ficou salvo. Nós o traduzimos para o formato do portal.

PortalValor de {portal}Situação
Zonapropzonapropapidisponível
Argenprop, Cabaprop, MercadoLibre—em breve

Requer o escopo {portal}:publish — por exemplo zonapropapi:publish. É diferente do :connect: você pode estar habilitado para conectar contas de um portal e não para publicar nele.

Antes de publicar

Três coisas, nesta ordem:

  1. A ficha do seu cliente — Clientes
  2. A conta do portal dele conectada — Conectar com um link
  3. O imóvel cadastrado, com o seu paId — Cadastro de imóveis

A chamada

CampoTipoObrigatórioDescrição
planstringdepende do portalO plano de publicação. Sobrepõe o que você tenha colocado em publication dentro do objeto
curl -X PUT https://property-api.mapaprop.com/property-v1/properties/01M3PTZ8YBMM5DSNW03WP8VD9E/publication/zonapropapi \
  -H "Authorization: Bearer <SEU_TOKEN>" \
  -H "x-client-ref: cliente-42" \
  -H "Content-Type: application/json" \
  -d '{ "plan": "SUPERDESTACADO" }'

Resposta 200:

{
  "status": "published",
  "portal": "zonapropapi",
  "paId": "01M3PTZ8YBMM5DSNW03WP8VD9E",
  "plan": "SUPERDESTACADO",
  "quota": { "remaining": 1493, "limit": 1500 }
}

O plan também pode ficar fixo no objeto, em publication. Se você enviar os dois, vence o desta chamada: assim dá para trocar de plano sem reescrever o imóvel.

Chamar de novo ATUALIZA, não duplica

Publicar o mesmo imóvel duas vezes não cria dois anúncios. A segunda chamada atualiza o que já existe. Você pode tentar de novo sem medo: se uma chamada falhou e você não sabe se chegou, chame outra vez.

É a propriedade mais importante deste endpoint, e o motivo de não haver um "criar" e um "atualizar" separados: uma única operação, e o resultado depende de o anúncio já existir ou não.

Quando não dá para publicar: 422

Não é um erro da sua chamada — é que falta um dado. Por isso vêm duas listas separadas:

{
  "error": "not_publishable",
  "detail": "La propiedad no se puede publicar en este portal todavía.",
  "blockers": [
    { "field": "title", "kind": "missing", "message": "Falta el título" }
  ],
  "accountBlockers": [
    { "field": "options.zoneNaventId", "kind": "missing",
      "message": "La zona de la propiedad no tiene mapeo guardado en Zonaprop" }
  ]
}
ListaO que significaQuem resolve
blockersfalta um dado do imóvelvocê: corrija o objeto e tente de novo
accountBlockersfalta algo da conta no portal (zona sem mapeamento, plano, filial)resolve-se uma vez e vale para todos os imóveis daquele cliente

Estão separadas porque a correção é diferente. Se você veio de accountBlockers, revisar o JSON do imóvel não vai levar a lugar nenhum: ele está certo.

Dá para antecipar quase todos os blockers com POST /properties/verify, que não cria nem publica nada.

Códigos de resposta

CódigoO que aconteceuO que fazer
200Publicado—
400O portal ainda não está disponível, ou o body não é JSON válidoConfira o valor de {portal}
403O seu token não tem o escopo {portal}:publishEscreva para nós para habilitá-lo
404Esse imóvel não existe para este clienteConfira o paId e o x-client-ref
409A conta não está conectada ao portalSolicite um link de conexão
409O cliente está com baixa (customer_not_active)Reative-o com POST /property-v1/customers — veja Clientes
422Falta um dadoVeja acima
502O portal recusou a publicação, ou não respondeuVeja abaixo

O 502, que tem dois sabores

{ "error": "portal_rejected",
  "detail": "No pudimos alcanzar al portal. El aviso PUEDE haberse publicado: volvé a intentar, la operación es idempotente y no duplica.",
  "portalResponse": null }
  • O portal recusou → portalResponse traz a resposta dele tal como veio. O motivo está ali.
  • Não respondeu → o detail informa isso, e pode ter sido publicado mesmo assim. Tentar de novo é seguro: não duplica.

Não dizemos "não foi publicado" quando não sabemos.

Despublicar

Em breve. DELETE /property-v1/properties/{paId}/publication/{portal} vai retirar o anúncio do portal. Escreva para dev@mapaprop.com se a sua integração precisar disso.

Enquanto isso, o seu cliente pode retirar o anúncio pelo painel do próprio portal.

Específico de cada portal

  • Zonaprop: o plano é obrigatório e cada publicação consome a cota mensal do seu cliente — Cota mensal e limites

Relacionado