PRODUCCIÓN
Este servicio devuelve la lista de propiedades pertenecientes a desarrollos inmobiliarios.
| Información del recurso | |
|---|---|
| Autenticación | Required |
| Método HTTP | GET |
| Respuesta | JSON |
| Versión | 1 |
URL del recurso
https://mapaprop.app/api/action/express-v1/development/properties
Código de ejemplo
GET /api/action/express-v1/development/properties?propertyIds=30378,188242,193054,196831,206881,247032&tempOccupancy=2&dateFrom=20-02-2019&dateTo=28-02-2019 HTTP/1.1
Host: mapaprop.app
Content-Type: application/x-www-form-urlencoded
Content-Length: 0
Authorization: Bearer {access_token}
Parámetros
| Clave | Tipo | Requerido | Descripción |
|---|---|---|---|
| term | string | no | Término que intenta coincidir con al menos 3 caracteres en la zona, dirección o título de la propiedad. Admite búsqueda de texto completo. |
| type | int | no | Tipo de propiedad. Constantes |
| operation | int | no | Operación de la propiedad. Constantes |
| from | int | no | Número de registro inicial. El valor por defecto es 0. |
| size | int | no | Cantidad de registros a traer en cada consulta. El valor por defecto es 7. El máximo es 20 (error de validación: "You cannot retrieve more than 20 properties at a time"). |
| branchId | int | no | ID de la sucursal donde se encuentran las propiedades. |
| buildingStatus | int | no | Estado físico del edificio. Constantes |
| bedrooms | int | no | Cantidad de dormitorios de la propiedad. |
| bathrooms | int | no | Cantidad de baños de la propiedad. |
| stateId | int | no | ID del estado o provincia de la propiedad. |
| countyId | int | no | ID del partido o municipio de la propiedad. |
| cityId | int | no | ID de la ciudad de la propiedad. |
| tempOccupancy | int | no | Número de personas que pueden hospedarse en la propiedad. |
| dateFrom | string | no | Fecha de llegada (formato: "dd-MM-yyyy"). |
| dateTo | string | no | Fecha de salida (formato: "dd-MM-yyyy"). |
| propertyIds | string | yes | IDs de las propiedades del desarrollo a buscar. |
Paginación
Este endpoint utiliza paginación por offset a través de los parámetros from y size.
| Parámetro | Significado | Valor por defecto | Máximo |
|---|---|---|---|
from | Offset (base cero) del primer registro a devolver | 0 | — |
size | Cantidad de registros devueltos por solicitud | 7 | 20 |
La respuesta siempre incluye el campo total con el total de registros que coinciden con los filtros (no solo los de la página actual). Usá ese valor para saber cuándo dejar de paginar.
Cómo paginar
Para obtener la página N (índice 1) con un tamaño fijo de página:
from = (N - 1) * size
Seguí solicitando la siguiente página mientras from + size < total.
Ejemplo: paginar 32 unidades de un desarrollo, 20 por página
Supongamos que un desarrollo tiene 32 unidades vinculadas (propertyIds con 32 valores) y la búsqueda devuelve "total": 32. Para obtener todos los resultados se necesitan 2 solicitudes:
Página 1 — registros 1 a 20:
GET /api/action/express-v1/development/properties?propertyIds=30378,188242,193054,...&from=0&size=20
Respuesta: { "took": 9, "total": 32, "properties": [ ...20 items... ] }
Página 2 — registros 21 a 32:
GET /api/action/express-v1/development/properties?propertyIds=30378,188242,193054,...&from=20&size=20
Respuesta: { "took": 7, "total": 32, "properties": [ ...12 items... ] }
En este punto from + size = 40 >= total = 32, por lo que no hay más páginas.
Notas
propertyIdsdebe enviarse en cada página. Es el filtro obligatorio que delimita el conjunto de resultados; omitirlo genera un error.- Mantené los filtros consistentes entre páginas. Cambiar
propertyIdsu otro filtro entre solicitudes reinicia el conjunto de resultados y tu offset apuntará a una colección diferente. sizeno puede superar 20. Solicitarsize=21o más devuelve un error de validación:"You cannot retrieve more than 20 properties at a time". Para recuperar conjuntos grandes debés paginar.fromes un offset, no un número de página.from=2devuelve registros a partir de la posición 3, no "página 2".- El campo
tookindica el tiempo en milisegundos que tardó la búsqueda en el servidor para esa página.
Respuesta
Un documento JSON con la lista de zonas en jerarquía donde el cliente tiene propiedades.
| Objeto | Campo | Tipo | Requerido | Descripción |
|---|---|---|---|---|
| Response | took | int | yes | Tiempo que tardó la búsqueda, en milisegundos |
| total | int | yes | Total de registros en el contexto de esta búsqueda. Podés paginarlo | |
| properties | Array of Property | yes | La lista de objetos Property | |
| Property | propertyHash | string | yes | ID único de la propiedad |
| timestamp | string | yes | Timestamp ISO8601 de cuándo se creó la propiedad | |
| lastUpdate | string | yes | Timestamp ISO8601 de la última actualización de la propiedad | |
| code | string | yes | Código único de la propiedad ingresado por el cliente | |
| branchId | int | yes | ID de la sucursal asociada a esta propiedad. GET /api/action/express-v1/branches. | |
| type | int | yes | Id del tipo de propiedad. GET /api/action/express-v1/types | |
| operation | int | yes | Id de la operación de la propiedad. Constantes | |
| propertyType | string | yes | Descripción traducida del tipo de propiedad. GET /api/action/express-v1/types | |
| propertyOperation | string | yes | Descripción traducida de la operación de la propiedad. Constantes | |
| status | string | yes | Descripción traducida del estado constructivo. Constantes | |
| mainImage | string | no | Id del tipo de propiedad. GET /api/action/express-v1/types | |
| currency | string | yes | Símbolo de moneda del precio de la propiedad. Constantes | |
| price | int | yes | Precio de la propiedad | |
| expensesCurrencies | string | no | Símbolo de moneda de las expensas mensuales/anuales. Constantes | |
| expensesPrice | int | no | Monto de las expensas mensuales/anuales | |
| taxCurrency | string | no | Símbolo de moneda de los impuestos mensuales/anuales. Constantes | |
| taxPrice | int | no | Monto de los impuestos mensuales/anuales | |
| title | string | yes | Título ingresado por el cliente | |
| address | string | yes | Dirección y número de la propiedad | |
| zipCode | string | yes | Código postal de la propiedad | |
| zone | string | yes | Descripción combinada desde ciudad (si está disponible) hasta estado | |
| countryId | int | yes | ID del país de la propiedad | |
| stateId | int | yes | ID del estado o provincia. GET /api/action/express-v1/zones | |
| countyId | int | yes | ID del partido o municipio. GET /api/action/express-v1/zones | |
| cityId | int | no | ID de la ciudad. GET /api/action/express-v1/zones | |
| countryId | int | yes | ID del país. GET /api/action/express-v1/zones | |
| country | string | yes | Nombre del país | |
| state | string | yes | Nombre del estado o provincia | |
| county | string | yes | Nombre del partido o segunda división | |
| city | string | no | Nombre de la ciudad, barrio o tercera división | |
| suspended | boolean | yes | La publicación ha sido suspendida | |
| reserved | boolean | yes | La propiedad ha sido reservada | |
| rented | boolean | yes | La propiedad ha sido alquilada | |
| sold | boolean | yes | La propiedad ha sido vendida | |
| description | string | yes | Descripción larga de la propiedad | |
| conditions | string | no | Condiciones de la propiedad. Generalmente relacionadas con los pagos | |
| bedrooms | int | no | Número de dormitorios | |
| ambiences | int | no | Número de ambientes o espacios | |
| bathrooms | int | no | Número de baños | |
| dependencies | int | no | Número de cuartos de servicio | |
| occupancy | int | no | Número de ocupantes (generalmente en alquiler temporario) | |
| toilettes | int | no | Número de toilettes (baños de media) | |
| buildingArea | int | no | Metros cuadrados de superficie construida | |
| landArea | int | no | Metros cuadrados del terreno | |
| yearsOld | int | no | Antigüedad de la propiedad | |
| ubication | string | no | Orientación cardinal de la propiedad en el edificio | |
| totalFloors | int | no | Total de pisos del edificio | |
| apartmentsPerFloor | int | no | Cantidad de departamentos por piso | |
| airConditionerType | string | no | Tipo de aire acondicionado | |
| waterHeaterType | string | no | Tipo de calefón | |
| heatingType | string | no | Tipo de calefacción | |
| balconyType | string | no | Tipo de balcón | |
| garage | int | no | Total de cocheras de la propiedad | |
| garageType | string | no | Tipo de cochera | |
| images | Array of Image | no | Array de objetos Image | |
| location | Location | yes | Objeto Location | |
| Location | lon | string | yes | Longitud geográfica de la propiedad |
| lat | string | yes | Latitud geográfica de la propiedad | |
| Image | image | string | yes | URL de la imagen |
| thumbnail | string | yes | URL del thumbnail | |
| orientation | int | yes | Orientación de la imagen. 1 = PORTRAIT, 2 = LANDSCAPE | |
| type | int | yes | Tipo de imagen. 1 = PHOTO, 2 = BLUEPRINT | |
| contentType | string | yes | Tipo de contenido de la imagen | |
| timestamp | string | yes | Timestamp ISO8601 de cuándo se subió la imagen | |
| Labels | labels | Array of labels | no | Etiquetas de la propiedad. Constantes |
| attributes | attributes | Array of json attributes | no | Todos los atributos de la propiedad |
| descriptionFormatted | description | string | no | Descripción con formato nuevo que acepta saltos de línea |
Respuesta de ejemplo
{
"took": 111,
"total": 13,
"properties": [
{
"country": "Argentina",
"county": "Caballito",
"type": 20,
"zone": "Caballito, Capital Federal, Argentina",
"price": 54554,
"state": "Capital Federal",
"branchId": 773,
"images": [],
"suspended": false,
"labels": [
"mortgage-ready",
"professional-available",
"furnished",
"janitor",
"grill",
"storage",
"security",
"security-box",
"swimming-pool",
"party-saloon",
"cable-included",
"telephone-line",
"daily-dinning",
"alarm",
"front-garden",
"laundry",
"patio",
"playroom",
"private-elevator",
"suite"
],
"propertyOperation": "Alquiler Temporario",
"reserved": false,
"lastUpdate": "2019-10-29T14:13:54.000-03:00",
"customerCountryDesc": "Argentina",
"code": "1-6454656",
"description": "gran casa en haedo capital de ahora morona",
"alternativePrices": [],
"title": "gran casa en haedo capital de ahora morona",
"customerCountry": 1,
"countryId": 1,
"seoUrl": "alquiler-temporario-de-loft-en-caballito-capital-federal-1-147874",
"rented": false,
"countyId": 18,
"propertyType": "Loft",
"ambiences": 2,
"hightlight": {},
"currency": "USD",
"timestamp": "2019-10-29T00:00:00.000-03:00",
"sold": false,
"address": "paysandu 984",
"stateId": 1,
"propertyHash": "e86a6a15b7f93ae633b0b009c5c51120",
"mainImage": "https://s3.amazonaws.com/mapaprop-dev/photos/noimage.gif",
"location": {
"lon": "-58.45284939999999",
"lat": "-34.6125374"
},
"operation": 3
},
{
"country": "Argentina",
"county": "Saavedra",
"cityId": 1774,
"type": 17,
"zone": "Arroyo Corto, Saavedra, Buenos Aires, Argentina",
"price": 1,
"state": "Buenos Aires",
"branchId": 773,
"images": [
{
"image": "https://s3.amazonaws.com/mapaprop-dev/photos/1/145148/1342116.jpg",
"thumbnail": "https://s3.amazonaws.com/mapaprop-dev/photos/1/145148/1342116t.jpg",
"orientation": 2,
"imageId": 1342116,
"main": true,
"type": 2,
"contentType": "image/jpeg",
"order": 0,
"timestamp": "2017-12-20T16:27:58Z"
}
],
"suspended": false,
"labels": [],
"propertyOperation": "Alquiler Temporario",
"reserved": false,
"lastUpdate": "2018-01-16T15:36:31.000-03:00",
"paymentPeriod": "Por día",
"customerCountryDesc": "Argentina",
"code": "1-ABC635265",
"city": "Arroyo Corto",
"description": "una descripcion larga es mucho mejor que nada.",
"alternativePrices": [],
"title": "Una gran casa requiere una casita",
"customerCountry": 1,
"countryId": 1,
"seoUrl": "alquiler-temporario-de-complejo-turistico-en-arroyo-corto-saavedra-buenos-aires-1-145148",
"rented": false,
"countyId": 300,
"propertyType": "Complejo Turístico",
"hightlight": {},
"currency": "ARS",
"timestamp": "2018-01-16T00:00:00.000-03:00",
"sold": false,
"address": "Maipu 191",
"stateId": 2,
"propertyHash": "c6ed3571d0215b75c19de96d40783a1b",
"mainImage": "https://s3.amazonaws.com/mapaprop-dev/photos/1/145148/1342116t.jpg",
"location": {
"lon": "-62.40793050000002",
"lat": "-37.5996419"
},
"operation": 19
},
{
"country": "Argentina",
"occupancy": 2,
"county": "Balvanera",
"type": 1,
"zone": "Balvanera, Capital Federal, Argentina",
"price": 90000,
"state": "Capital Federal",
"branchId": 773,
"images": [
{
"image": "https://s3.amazonaws.com/mapaprop-dev/photos/1/139555/1335004.jpg",
"thumbnail": "https://s3.amazonaws.com/mapaprop-dev/photos/1/139555/1335004t.jpg",
"orientation": 2,
"imageId": 1335004,
"main": false,
"type": 1,
"contentType": "image/png",
"timestamp": "2017-12-09T16:27:54Z"
},
],
"suspended": false,
"labels": [],
"propertyOperation": "Alquiler Temporario",
"reserved": false,
"lastUpdate": "2017-11-28T21:16:48.000-03:00",
"paymentPeriod": "Por día",
"customerCountryDesc": "Argentina",
"code": "1-389398",
"expensesCurrency": "ARS",
"description": "Buena prop a estrenar",
"alternativePrices": [
{
"price": 50000.0,
"description": "Casa",
"currency": "ARS",
"id": "1863"
},
{
"price": 6500.0,
"description": "Por dia",
"currency": "ARS",
"id": "12216"
}
],
"title": "Nueva propeidad here",
"customerCountry": 1,
"countryId": 1,
"seoUrl": "alquiler-temporario-de-departamento-en-balvanera-capital-federal-1-139555",
"rented": false,
"expensesPrice": 2323,
"countyId": 91,
"propertyType": "Departamento",
"hightlight": {},
"currency": "ARS",
"timestamp": "2017-09-29T00:00:00.000-03:00",
"sold": false,
"address": "Balvanera 3993",
"zipCode": "1661",
"stateId": 1,
"propertyHash": "74f6dd0e4809f9ba1b044f3704cfef62",
"mainImage": "https://s3.amazonaws.com/mapaprop-dev/photos/1/139555/1272968t.jpg",
"taxCurrency": "ARS",
"taxPrice": 2000,
"location": {
"lon": "-58.392606099999966",
"lat": "-34.6098208"
},
"attributes": [
{
"group_sub": "label",
"country": "ar",
"key_legacy": "accessible",
"group_subtype": "ammenities",
"id": "accessible",
"label": "Accesible",
"locale": "es_AR",
"type": "bool",
"group": "propertyAttribute",
"status": true
},
],
"descriptionFormatted": "Test Images, Propiedad TestTest Images, \n\nPropiedad Test",
"operation": 19,
"status": "En Construcción"
},
]
}