Este serviço retorna a lista de empreendimentos imobiliários da sua conta (a imobiliária dona do token). O escopo vem do access token, não é enviado como parâmetro.
| Informações do recurso | |
|---|---|
| Autenticação | Obrigatória (Token de API, Bearer) |
| Scope | express-base |
| Método HTTP | GET |
| Resposta | JSON |
| Versão | 1 |
URL do recurso
https://mapaprop.app/api/action/express-v1/developments
Código de exemplo
GET /api/action/express-v1/developments?customerId=1&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
| Chave | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| customerId | int | no | ID do cliente para delimitar a busca. O padrão é o ID do cliente autenticado. |
| term | string | no | Termo que tentará corresponder a pelo menos 3 caracteres na zona, endereço ou título do imóvel. Suporta busca de texto completo. |
| type | int | no | Sempre substituído por 23 (Desarrollo Inmobiliario) pela API. Qualquer valor enviado pelo usuário é ignorado. Constantes |
| operation | int | no | Operação do imóvel. Constantes |
| from | int | no | Número do registro inicial. O padrão é 0. |
| size | int | no | Quantidade de registros a retornar por consulta. O padrão é 7. O máximo é 20 (erro de validação: "You cannot retrieve more than 20 properties at a time"). |
| branchId | int | no | ID da filial onde os imóveis estão localizados. |
| stateId | int | no | ID do estado do imóvel. |
| countyId | int | no | ID do município do imóvel. |
| cityId | int | no | ID da cidade do imóvel. |
| tempOccupancy | int | no | Número de pessoas que podem se hospedar no imóvel. |
| dateFrom | string | no | Data de chegada (formato: "dd-MM-yyyy"). |
| dateTo | string | no | Data de saída (formato: "dd-MM-yyyy"). |
Paginação
Este endpoint utiliza paginação por offset via os parâmetros from e size.
| Parâmetro | Significado | Padrão | Máximo |
|---|---|---|---|
from | Offset (base zero) do primeiro registro a retornar | 0 | — |
size | Número de registros retornados por requisição | 7 | 20 |
A resposta sempre inclui o campo total com o total de registros que correspondem aos seus filtros (não apenas os retornados na página atual). Use-o para saber quando parar de paginar.
Como paginar
Para obter a página N (índice 1) com um tamanho de página fixo:
from = (N - 1) * size
Continue solicitando a próxima página enquanto from + size < total.
Exemplo: paginar 25 empreendimentos, 20 por página
Suponha que uma busca retorne "total": 25. Para obter todos os resultados são necessárias 2 requisições:
Página 1 — registros 1 a 20:
GET /api/action/express-v1/developments?from=0&size=20
Resposta: { "took": 8, "total": 25, "properties": [ ...20 items... ] }
Página 2 — registros 21 a 25:
GET /api/action/express-v1/developments?from=20&size=20
Resposta: { "took": 6, "total": 25, "properties": [ ...5 items... ] }
Neste ponto from + size = 40 >= total = 25, portanto não há mais páginas.
Observações
- Mantenha os filtros consistentes entre páginas. Alterar qualquer filtro entre requisições (por exemplo
operation,stateId,dateFrom) reinicia o conjunto de resultados e seu offset apontará para uma coleção diferente. sizenão pode ultrapassar 20. Solicitarsize=21ou mais retorna um erro de validação:"You cannot retrieve more than 20 properties at a time". Para recuperar conjuntos grandes é necessário paginar.fromé um offset, não um número de página.from=2retorna registros a partir da posição 3, não a "página 2".- O campo
tookindica o tempo em milissegundos que a busca levou no servidor para aquela página.
Resposta
Um documento JSON com a lista de zonas em hierarquia onde o cliente possui imóveis.
| Objeto | Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|---|
| Response | took | int | yes | Tempo que a busca levou, em milissegundos |
| total | int | yes | Total de registros no contexto desta busca. Você pode paginá-los | |
| properties | Array of Property | yes | A lista de objetos Property | |
| Property | propertyHash | string | yes | ID único do imóvel |
| timestamp | string | yes | Timestamp ISO8601 de quando o imóvel foi criado | |
| lastUpdate | string | yes | Timestamp ISO8601 da última atualização do imóvel | |
| code | string | yes | Código único do imóvel inserido pelo cliente | |
| branchId | int | yes | ID da filial associada a este imóvel. GET /api/action/express-v1/branches. | |
| type | int | yes | Id do tipo de imóvel. GET /api/action/express-v1/types | |
| operation | int | yes | Id da operação do imóvel. Constantes | |
| propertyType | string | yes | Descrição traduzida do tipo de imóvel. GET /api/action/express-v1/types | |
| propertyOperation | string | yes | Descrição traduzida da operação do imóvel. Constantes | |
| status | string | yes | Descrição traduzida do estado da construção. Constantes | |
| mainImage | string | no | Id do tipo de imóvel. GET /api/action/express-v1/types | |
| currency | string | yes | Símbolo de moeda do preço do imóvel. Constantes | |
| price | int | yes | Preço do imóvel | |
| expensesCurrencies | string | no | Símbolo de moeda das despesas mensais/anuais. Constantes | |
| expensesPrice | int | no | Valor das despesas mensais/anuais | |
| taxCurrency | string | no | Símbolo de moeda dos impostos mensais/anuais. Constantes | |
| taxPrice | int | no | Valor dos impostos mensais/anuais | |
| title | string | yes | Título inserido pelo cliente | |
| address | string | yes | Endereço e número do imóvel | |
| zipCode | string | yes | CEP do imóvel | |
| zone | string | yes | Descrição combinada desde a cidade (se disponível) até o estado | |
| countryId | int | yes | ID do país do imóvel | |
| stateId | int | yes | ID do estado do imóvel. GET /api/action/express-v1/zones | |
| countyId | int | yes | ID do município do imóvel. GET /api/action/express-v1/zones | |
| cityId | int | no | ID da cidade do imóvel. GET /api/action/express-v1/zones | |
| countryId | int | yes | ID do país do imóvel. GET /api/action/express-v1/zones | |
| country | string | yes | Nome do país | |
| state | string | yes | Nome do estado | |
| county | string | yes | Nome do município ou segunda divisão | |
| city | string | no | Nome da cidade, bairro ou terceira divisão | |
| suspended | boolean | yes | A publicação foi suspensa | |
| reserved | boolean | yes | O imóvel foi reservado | |
| rented | boolean | yes | O imóvel foi alugado | |
| sold | boolean | yes | O imóvel foi vendido | |
| description | string | yes | Descrição longa do imóvel | |
| conditions | string | no | Condições do imóvel. Geralmente relacionadas a pagamentos | |
| bedrooms | int | no | Número de dormitórios | |
| ambiences | int | no | Número de ambientes ou espaços | |
| bathrooms | int | no | Número de banheiros | |
| dependencies | int | no | Número de quartos de serviço | |
| occupancy | int | no | Número de ocupantes (geralmente em aluguel temporário) | |
| toilettes | int | no | Número de lavabos | |
| buildingArea | int | no | Metros quadrados de área construída | |
| landArea | int | no | Metros quadrados do terreno | |
| yearsOld | int | no | Idade do imóvel | |
| ubication | string | no | Orientação cardinal do imóvel no edifício | |
| totalFloors | int | no | Total de andares do edifício | |
| apartmentsPerFloor | int | no | Quantidade de apartamentos por andar | |
| airConditionerType | string | no | Tipo de ar-condicionado | |
| waterHeaterType | string | no | Tipo de aquecedor de água | |
| heatingType | string | no | Tipo de aquecimento | |
| balconyType | string | no | Tipo de varanda | |
| garage | int | no | Total de vagas de garagem | |
| garageType | string | no | Tipo de garagem | |
| images | Array of Image | no | Array de objetos Image | |
| location | Location | yes | Objeto Location | |
| Location | lon | string | yes | Longitude geográfica do imóvel |
| lat | string | yes | Latitude geográfica do imóvel | |
| Image | image | string | yes | URL da imagem |
| thumbnail | string | yes | URL do thumbnail | |
| orientation | int | yes | Orientação da imagem. 1 = PORTRAIT, 2 = LANDSCAPE | |
| type | int | yes | Tipo de imagem. 1 = PHOTO, 2 = BLUEPRINT | |
| contentType | string | yes | Tipo de conteúdo da imagem | |
| timestamp | string | yes | Timestamp ISO8601 de quando a imagem foi enviada | |
| Labels | labels | Array of labels | no | Etiquetas do imóvel. Constantes |
| attributes | attributes | Array of json attributes | no | Todos os atributos do imóvel |
| descriptionFormatted | description | string | no | Descrição com nova formatação que aceita quebras de linha |
Resposta de exemplo
{
"took":6,
"total":3,
"properties": [
{
"zipCode":"1884",
"country":"Argentina",
"developmentProperties": [
198102
],
"landArea":133,
"county":"Almirante Brown",
"buildingArea":235,
"cityId":897,
"type":220,
"ambiences":2,
"zone":"Malvinas Argentinas, Almirante Brown, Buenos Aires, Argentina",
"price":1200000,
"airConditionerType":"Central",
"publication": [
{
"mercadolibre":false,
"plan":"no-plan"
},
{
"cabaprop":false,
"plan":"no-plan"
},
{
"zonaprop":false,
"plan":"no-plan"
},
{
"navent":false,
"plan":"no-plan"
}
],
"state":"Buenos Aires",
"branchId":1,
"images": [],
"development":true,
"descriptionFormatted":"Descripcion de un desarrollo unico del sistema.",
"bathrooms":2,
"suspended":false,
"labels": [
"laundry",
"playroom",
"suite"
],
"propertyOperation":"Venta",
"bedrooms":2,
"garages":1,
"yearsOld":12,
"reserved":false,
"lastUpdate":"2024-10-22T12:21:00.000-03:00",
"customerCountryDesc":"Argentina",
"code":"1-DESARROLLO-3",
"city":"Malvinas Argentinas",
"description":"Descripcion de un desarrollo unico del sistema.",
"alternativePrices": [],
"title":"titulo de desarrollo",
"networks": [
"4",
"5"
],
"customerCountry":1,
"countryId":1,
"seoUrl":"venta-de-desarrollo-inmobiliario-en-malvinas-argentinas-almirante-brown-buenos-aires-1-247058",
"rented":false,
"countyId":140,
"propertyType":"Desarrollo Inmobiliario",
"hightlight": {},
"currency":"ARS",
"timestamp":"2024-10-03T00:00:00.000-03:00",
"sold":false,
"address":"Calle 123 1537",
"stateId":2,
"garage":1,
"propertyHash":"1a9ad9df2c25980db55e6f74c5d62b94",
"mainImage":"https://s3.amazonaws.com/mapaprop-dev-image/photos/noimage.gif",
"garageType":"Espacio Guarda Coche",
"location": {
"lon":"-58.54596230000001",
"lat":"-34.5904958"
},
"attributes": [
{
"group_sub":"label",
"country":"ar",
"key_legacy":"hasLaundry",
"group_subtype":"spaces",
"id":"laundry",
"label":"Lavadero",
"locale":"es_AR",
"type":"bool",
"group":"propertyAttribute",
"status":true
},
{
"group_sub":"label",
"country":"ar",
"key_legacy":"petsReady",
"group_subtype":"extras",
"id":"petsReady",
"label":"Apto mascotas",
"locale":"es_AR",
"type":"bool",
"group":"propertyAttribute",
"status":true
},
{
"group_sub":"label",
"country":"ar",
"key_legacy":"playroom",
"group_subtype":"spaces",
"id":"playroom",
"label":"Playroom",
"locale":"es_AR",
"type":"bool",
"group":"propertyAttribute",
"status":true
},
{
"group_sub":"label",
"country":"ar",
"key_legacy":"hasPrivatElevator",
"group_subtype":"ammenities",
"id":"private-elevator",
"label":"Elevador privado",
"locale":"es_AR",
"type":"bool",
"group":"propertyAttribute",
"status":true
},
{
"group_sub":"label",
"country":"ar",
"key_legacy":"suite",
"group_subtype":"spaces",
"id":"suite",
"label":"Dormitorio en suite",
"locale":"es_AR",
"type":"bool",
"group":"propertyAttribute",
"status":true
}
],
"operation":1
}
]
}