PROD

PUT /cabaprop/property

Actualiza campos puntuales de un aviso ya publicado en Cabaprop con POST /cabaprop/publish.

El servidor mergea los campos que enviás con el último Property Object publicado — no hace falta reenviar el objeto completo, solo los campos que cambiaron. El merge es a nivel del primer nivel de cada objeto (por ejemplo, si mandás price, reemplaza el objeto price completo, no solo las claves internas que incluiste).

title, location y property_type/operation_type no pueden modificarse una vez publicado el aviso — despublicá y volvé a publicar si necesitás cambiarlos (ver Property Object > Notas).

Información del recurso
AutenticaciónRequerida (token de Mapaprop + token de Cabaprop)
Método HTTPPUT
RespuestaJSON
Versión1

Resource URL

https://property-api.mapaprop.com/cabaprop/property

Headers

HeaderRequeridoDescripción
AuthorizationBearer <token> — token de Mapaprop
X-Cabaprop-TokenToken de Cabaprop obtenido en POST /cabaprop/connect
Content-Typeapplication/json

Parameters (body request)

KeyTipoRequeridoDescripción
propertyIdnumber/stringId de la propiedad ya publicada.
custIdnumber/stringId del cliente/cuenta, debe coincidir con la cuenta autenticada.
propertyobjectSubconjunto del Property Object con los campos a cambiar.

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"
}
CampoTipoDescripción
successbooleantrue si la actualización se aplicó.
cabapropIdstringId del aviso en Cabaprop.

Errores

StatusCuerpoCausa
400{"error":"Invalid JSON body"}El body no es un JSON válido.
403{"error":"custId does not match the authenticated customer"}El custId del body no coincide con la cuenta autenticada.
400{"error":"propertyId, custId and property are required"}Falta alguno de los campos requeridos.
400{"error":"Cabaprop account is not connected (missing token)"}Falta el token de Cabaprop.
404{"error":"Property is not published in Cabaprop — publish it first"}La propiedad no tiene un aviso vivo — usá POST /cabaprop/publish primero.
401{"error":"Cabaprop authentication failed — reconnect the account"}El token de Cabaprop es inválido o expiró.
200{"success":false,"errorCode":"...","detail":"..."}Cabaprop rechazó la actualización por datos inválidos. detail trae el mensaje textual del portal.
500{"error":"Error updating Cabaprop property","detail":"..."}Error inesperado.