Para publicar ou atualizar um anúncio você precisa montar um objeto property com a estrutura descrita nesta página. Ele é enviado dentro do campo property do body de POST /cabaprop/publish e PUT /cabaprop/property.
status, external_reference, real_estate_id e branch_office_id são preenchidos automaticamente pelo servidor — não os envie (se você os enviar, serão ignorados).
Modelo
{
"title": "Hermosa casa 4 ambientes con parrilla",
"description": "Casa de 4 ambientes con jardín y parrilla, a metros del subte D.",
"operation_type": "1",
"property_type": "3",
"sub_property_type": "12",
"location": {
"barrios": [1234],
"area_level_1": "Buenos Aires",
"area_level_2": "Palermo",
"cp": "1425",
"cp_suffix": "",
"letter": "",
"lat": "-34.5885",
"lng": "-58.4306",
"locality": "Palermo, Capital Federal",
"street": "Av. Santa Fe",
"number": "3253"
},
"share": {},
"surface": {
"totalSurface": 180,
"coveredSurface": 140
},
"antiquity": {
"years": 15,
"type": 2
},
"price": {
"currency": 1,
"total": 250000,
"expenses": 15000,
"expensesCurrency": 2
},
"characteristics": {
"ambience": 4,
"bedrooms": 3,
"bathrooms": 2,
"toilettes": 1,
"accessibilities": false
},
"images": [
{
"url": "https://tu-servidor.com/fotos/casa-4amb-1.jpg",
"title": "imagen1",
"originalname": "Hermosa casa 4 ambientes1",
"filename": null
}
],
"houseMaps": [
{
"url": "https://tu-servidor.com/planos/casa-4amb.jpg",
"title": "plano",
"originalname": "Hermosa casa 4 ambientes",
"filename": null
}
],
"video": "https://www.youtube.com/watch?v=xxxxxxxxxxx",
"video360": "",
"extras": {
"serviciosEsenciales": {
"internet_wifi": true,
"tv_cable": false,
"telefono": false
},
"seguridad": {
"alarma": true,
"grupoElectrogeno": false
},
"calefaccion": {
"aireAcondicionado": true,
"split": true,
"termotanque_calefon": true
},
"vigilancia": {
"encargado": false,
"vigilancia_24hs": false
},
"adicionales": {
"amoblado": false,
"hidromasaje": false,
"laundry": false,
"parrilla": true,
"piscina": false,
"sala_de_juegos": false,
"sum": false
}
}
}
Campos
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
title | string | sim | Título do anúncio. Não pode ser modificado depois de publicado (veja as notas). |
description | string | não | Descrição do anúncio. |
operation_type | string/number | sim | Id da operação no Cabaprop. Resolva-o com GET /cabaprop/utils/get-operations ou com o mapeamento de operação. |
property_type | string/number | sim | Id do tipo de imóvel no Cabaprop. Resolva-o com GET /cabaprop/utils/get-types ou com o mapeamento de tipo. |
sub_property_type | string/number | não | Id do subtipo. 0 se não se aplica. |
location.barrios | number | sim | Um ou mais ids de bairro (CABA), resolvidos com GET /cabaprop/utils/get-zones ou com o mapeamento de zona. Não pode ser modificado depois de publicado (veja as notas). |
location.area_level_1 | string | não | Província/estado. Para CABA, normalmente "Buenos Aires". |
location.area_level_2 | string | não | Bairro/localidade. |
location.cp | string | não | Código postal. |
location.cp_suffix | string | não | Sufixo do código postal. |
location.letter | string | não | Letra do código postal. |
location.lat / location.lng | string/number | não | Coordenadas. Devem corresponder a um ponto dentro de CABA (veja as notas). |
location.locality | string | não | Localidade descritiva. |
location.street | string | não | Rua. |
location.number | string | sim (a key) | Número da rua. A key deve estar presente mesmo que o valor seja "" — veja as notas. |
surface.totalSurface | number | não | Área total (m²). |
surface.coveredSurface | number | não | Área construída (m²). |
antiquity.years | number/string | não | Idade do imóvel em anos. |
antiquity.type | number/string | não | 2 quando a idade do imóvel é informada, vazio se não se aplica. |
price.currency | number | sim | Moeda do preço: 2 = ARS, 1 = qualquer outra moeda. |
price.total | number | não | Preço da operação. |
price.expenses | number | não | Despesas de condomínio (expensas). |
price.expensesCurrency | number | não | Moeda das despesas de condomínio: mesmo código de price.currency. |
characteristics.ambience | number | não | Quantidade de ambientes. |
characteristics.bedrooms | number | não | Quantidade de quartos. |
characteristics.bathrooms | number | não | Quantidade de banheiros. |
characteristics.toilettes | number | não | Quantidade de lavabos. |
characteristics.accessibilities | boolean/number | não | Acessibilidade. |
images | array | sim, mínimo 3 | Veja Imagens abaixo. Requisito do Cabaprop para publicar. |
houseMaps | array | não | Plantas. Mesmo formato de images. |
video | string | não | URL de vídeo (YouTube ou outro incorporado). |
video360 | string | não | URL de tour 360°. |
extras | object | não | Comodidades/amenities, agrupadas por categoria (veja o modelo acima). |
Imagens
Cada imagem é um objeto:
| Campo | Tipo | Descrição |
|---|---|---|
url | string | URL pública da imagem (acessível sem autenticação). |
title | string | Título da imagem. |
originalname | string | Nome original do arquivo. |
filename | string | null | Nome de arquivo interno, se aplicável. |
O Cabaprop exige um mínimo de 3 imagens para publicar um anúncio. POST /cabaprop/publish devolve 400 com a mensagem "La propiedad debe tener al menos 3 imagenes para publicarse en Cabaprop" se forem enviadas menos.
Notas
title,locationeproperty_type/operation_typenão podem ser modificados depois que o anúncio é publicado. Para alterá-los é preciso despublicar (DELETE /cabaprop/property/unpublish) e publicar novamente (POST /cabaprop/publish).- Se
operation_type,property_typeoulocation.barriosestiverem faltando ou vazios, POST /cabaprop/publish devolve400com{"error":"La zona/tipo/operacion no tiene mapping en Cabaprop","missing":[...]}antes de tentar publicar. - A key
location.numberdeve estar presente no JSON mesmo que você não tenha o dado (envie-a como""). Se a key estiver ausente, o Cabaprop rejeita a publicação com a mensagem"Debe ingresar una calle y un número de calle". - Se as coordenadas (
location.lat/location.lng) não corresponderem a um ponto dentro de CABA, o Cabaprop pode rejeitar a publicação com a mensagem"Las coordenadas ingresadas no se encuentran dentro de los límites de la ciudad". - Esses erros de negócio do portal são devolvidos com HTTP
200e o formato{"success":false,"errorCode":"...","detail":"..."}— veja a seção de erros de POST /cabaprop/publish, PUT /cabaprop/property e DELETE /cabaprop/property/unpublish.