PUT /cabaprop/property
Atualiza campos pontuais de um anúncio já publicado no Cabaprop com POST /cabaprop/publish.
O servidor faz o merge dos campos que você envia com o último Property Object publicado — não é preciso reenviar o objeto completo, apenas os campos que mudaram. O merge é feito no primeiro nível de cada objeto (por exemplo, se você mandar price, o objeto price inteiro é substituído, e não apenas as chaves internas que você incluiu).
title, location e property_type/operation_type não podem ser modificados depois que o anúncio é publicado — despublique e publique novamente se precisar alterá-los (veja Property Object > Notas).
| Informações do recurso | |
|---|---|
| Autenticação | Obrigatória (token do Mapaprop + token do Cabaprop) |
| Método HTTP | PUT |
| Resposta | JSON |
| Versão | 1 |
Resource URL
https://property-api.mapaprop.com/cabaprop/property
Headers
| Header | Obrigatório | Descrição |
|---|---|---|
Authorization | sim | Bearer <token> — token do Mapaprop |
X-Cabaprop-Token | sim | Token do Cabaprop obtido em POST /cabaprop/connect |
Content-Type | sim | application/json |
Parameters (body request)
| Key | Tipo | Obrigatório | Descrição |
|---|---|---|---|
propertyId | number/string | sim | Id do imóvel já publicado. |
custId | number/string | sim | Id do cliente/conta, deve coincidir com a conta autenticada. |
property | object | sim | Subconjunto do Property Object com os campos a alterar. |
Sample code
PUT /cabaprop/property
Host: property-api.mapaprop.com
Content-Type: application/json
Authorization: Bearer {access_token}
X-Cabaprop-Token: {cabaprop_token}
{
"propertyId": 188017,
"custId": 1,
"property": {
"price": { "currency": 1, "total": 240000 },
"description": "Precio actualizado. Casa de 4 ambientes con jardín y parrilla."
}
}
Response
{
"success": true,
"cabapropId": "68cae034f1a2b3c4d5e6f7a8"
}
| Campo | Tipo | Descrição |
|---|---|---|
success | boolean | true se a atualização foi aplicada. |
cabapropId | string | Id do anúncio no Cabaprop. |
Erros
| Status | Corpo | Causa |
|---|---|---|
| 400 | {"error":"Invalid JSON body"} | O body não é um JSON válido. |
| 403 | {"error":"custId does not match the authenticated customer"} | O custId do body não coincide com a conta autenticada. |
| 400 | {"error":"propertyId, custId and property are required"} | Falta algum dos campos obrigatórios. |
| 400 | {"error":"Cabaprop account is not connected (missing token)"} | Falta o token do Cabaprop. |
| 404 | {"error":"Property is not published in Cabaprop — publish it first"} | O imóvel não tem um anúncio ativo — use POST /cabaprop/publish primeiro. |
| 401 | {"error":"Cabaprop authentication failed — reconnect the account"} | O token do Cabaprop é inválido ou expirou. |
| 200 | {"success":false,"errorCode":"...","detail":"..."} | O Cabaprop rejeitou a atualização por dados inválidos. detail traz a mensagem textual do portal. |
| 500 | {"error":"Error updating Cabaprop property","detail":"..."} | Erro inesperado. |