PROD

O documento a seguir descreve o fluxo de implementação para integrar a API do Cabaprop ao seu sistema.

Fluxo de trabalho

  1. Conectar a conta: o titular da conta gera uma API KEY no seu painel em cabaprop.com.ar e você a envia para POST /cabaprop/connect, que devolve um token do Cabaprop (token + exp). Guarde-o — você vai precisar dele no header X-Cabaprop-Token de todos os endpoints seguintes.
  2. Obter o perfil e as filiais: com GET /cabaprop/get-branches você obtém o id da imobiliária (realStateId) e o id de pelo menos uma filial (branchOfficeId). Ambos são obrigatórios para publicar.
  3. Resolver os catálogos: use Cabaprop API > Catálogos de localização (bairros, tipos de operação, tipos/subtipos de imóvel, atributos) para obter os ids necessários para montar o Property Object (operation_type, property_type, sub_property_type, location.barrios). Se o seu sistema já conhece o esquema interno do Mapaprop, você também pode consultar o mapeamento de zona/operação/tipo/atributo — mas não há como criar mapeamentos novos, por isso a via recomendada para integrações novas é sempre o catálogo.
  4. Montar o seu Property Object: com os ids resolvidos, construa o objeto property de acordo com Cabaprop API > Property Object. Lembre-se do mínimo de 3 imagens e da key location.number presente (mesmo que seja "").
  5. Publicar o imóvel: com POST /cabaprop/publish você publica o anúncio. O endpoint é idempotente — se você chamá-lo novamente para o mesmo imóvel, ele atualiza o anúncio existente em vez de falhar.
  6. Atualizar o anúncio: para alterações posteriores (preço, descrição, imagens, etc.) use PUT /cabaprop/property, enviando apenas os campos que mudaram. title, location e property_type/operation_type não podem ser atualizados — nesses casos é preciso despublicar e publicar novamente.
  7. Despublicar o anúncio: com DELETE /cabaprop/property/unpublish você dá baixa no anúncio. Também é idempotente.
  8. Desconectar a conta (opcional): DELETE /cabaprop/disconnect marca a conta como desconectada do seu lado. Não despublica anúncios existentes — despublique-os antes, se for o caso.

Renovação do token do Cabaprop

O token devolvido por POST /cabaprop/connect expira (aproximadamente 30 dias, de acordo com o campo exp da resposta). Quando qualquer endpoint devolver 401 com "Cabaprop authentication failed", chame novamente POST /cabaprop/connect com a mesma apiKey para obter um token novo.

Erros de negócio do portal

Os erros de validação devolvidos pelo Cabaprop (por exemplo, coordenadas fora de CABA ou falta de rua/número) não são propagados como erro HTTP: são devolvidos com status 200 e o formato {"success":false,"errorCode":"...","detail":"..."}. Verifique sempre o campo success da resposta de POST /cabaprop/publish, PUT /cabaprop/property e DELETE /cabaprop/property/unpublish — um 200 nem sempre significa sucesso.

Banco de dados intermediário

O sistema guarda uma cópia do último estado publicado de cada anúncio, vinculada ao seu propertyId/custId. É isso que permite que PUT /cabaprop/property faça o merge apenas dos campos que você envia, e que POST /cabaprop/publish seja idempotente. As informações que você vai carregando e modificando no Cabaprop ficam registradas até você despublicar o anúncio com DELETE /cabaprop/property/unpublish.