Las consultas de una propiedad
GET /property-v1/properties/{paId}/leads?portal={portal}
Trae las consultas de un aviso, el de la propiedad que indiques.
Para traer todo, usá el método por cuenta. Recorrer tus propiedades una por una gasta una llamada del cupo por cada una, y con el otro método son todas en una. Este método es para cuando querés mirar una sola — el detalle de un aviso en tu panel.
curl "https://property-api.mapaprop.com/property-v1/properties/01M41AQNXYG4W4SEEEEPHEDNX4/leads?portal=zonapropapi&fromDate=20260101" \
-H "Authorization: Bearer $TOKEN" \
-H "x-client-ref: cliente-42"
Los parámetros
portal | obligatorio | zonapropapi |
fromDate | desde qué fecha, YYYYMMDD | si no lo mandás, los últimos 7 días |
toDate | hasta qué fecha, YYYYMMDD | acá sí se aplica |
size | cuántos leads como máximo | 100 |
Mandá fromDate siempre que quieras más que lo muy reciente. Sin una ventana explícita el portal usa
una propia, muy angosta: el mismo aviso que devuelve 8 consultas con fromDate de nueve meses atrás
devuelve 1 sin el parámetro. Si no lo mandás, parece que el aviso casi no tuviera consultas.
La respuesta
{
"portal": "zonaprop",
"paId": "2605257",
"from": "20260101",
"to": "20260601",
"leads": [
{
"id": "322337250",
"propertyCode": "2605257___mapaprop",
"name": "Lucía",
"email": "lucia@ejemplo.com",
"phone": "1156781234",
"message": "Hola, quería coordinar una visita",
"date": 1790878040000,
"portalMessageId": null,
"portalAdId": 56801168,
"portalContactId": 49474924,
"portalActionId": 10
}
],
"total": 8,
"quota": { "remaining": 1346, "limit": 1500 }
}
Es la misma forma que el método por cuenta, más el paId que pediste. El objeto lead, campo por campo,
está en la introducción.
to aparece sólo si mandaste toDate — y aparece porque acá el filtro se aplicó.
Si el aviso no está en el portal
No es un error: es 200, con la lista vacía y el motivo.
{
"portal": "zonaprop",
"paId": "01M41AQNXYG4W4SEEEEPHEDNX4",
"from": "20260929",
"leads": [],
"total": 0,
"notPublishedOnPortal": true,
"detail": "Ese aviso no figura en esa inmobiliaria del portal, así que no tiene consultas. Puede que todavía no se haya publicado, que el portal lo haya dado de baja, o que esté publicado bajo otra cuenta.",
"quota": { "remaining": 1346, "limit": 1500 }
}
El portal nos dice "ese aviso no figura en esta inmobiliaria" y nada más, así que no podemos decirte cuál de las tres razones es. Preferimos nombrarte las tres antes que elegir una y arriesgarnos a mandarte a buscar donde no está.
La propiedad sí existe en tu inventario — si no existiera, la respuesta sería un 404.
Los errores
| Cuándo | Qué hacer | |
|---|---|---|
400 portal_requerido | falta ?portal= | mandalo |
| 403 | te falta el scope {portal}:leads | pedinos que te lo otorguemos |
404 property_not_found | ese paId no está en tu inventario | revisá el id. No gasta cupo: cortamos antes de preguntarle al portal |
409 portal_not_connected | esa cuenta no está conectada a ese portal | conectala |
409 portal_account_unlinked | la desvincularon del lado del portal | hay que volver a conectarla |
429 portal_quota_exhausted | la inmobiliaria agotó su cupo del mes | esperar al mes siguiente. El cupo se comparte con publicar — ver el cupo de Zonaprop |
501 leads_no_soportado | ese portal todavía no ofrece este servicio | — |
502 portal_rejected | el portal no contestó o rechazó la consulta | reintentar es seguro |