Avalúos individuales
La API de Avalúos te permite gestionar el ciclo de vida completo de una solicitud de tasación individual. A través de estos endpoints, puedes crear nuevas solicitudes, consultar su estado, obtener resultados y reintentar avalúos fallidos.
Flujo típico de uso
POST/valuation-request→ Crear solicitud (obtener requestCode)GET/valuation-request/{code}→ Consultar estado (polling hasta READY)GET/valuation-request/{code}/result→ Obtener resultado (priceLand, priceBuild)
Crear solicitud de avalúo
Registra una nueva solicitud de avalúo para una propiedad. La información del inmueble debe ser proporcionada en el cuerpo de la solicitud.
Campos del request
1. Campos requeridos (Globales)
Estos campos deben estar presentes en todas las peticiones, independientemente del tipo de propiedad:
latitude(number, formato: double): Latitud GPS de la propiedad en grados decimales. Debe estar entre -90 y 90.longitude(number, formato: double): Longitud GPS de la propiedad en grados decimales. Debe estar entre -180 y 180.property(object): Objeto que contiene la información de la propiedad.property.propertyType(string): Tipo de propiedad. Valores posibles:Terreno,Casa,Duplex,Departamento,Deposito,Tinglado,Oficina,Local Comercial,Propiedad rural,Casa quinta,Edificio.
2. Reglas de obligatoriedad condicional
Dependiendo del valor enviado en propertyType, los siguientes campos dentro del objeto property pasan a ser obligatorios: m2Land, m2Built, m2Covered, m2SemiCovered, propertyAge y propertyCondition.
En la siguiente tabla se detalla qué campos de la propiedad son estrictamente obligatorios según el propertyType seleccionado.
Tipo Propiedad property_Type | m2_Land | m2_Built | m2_Covered | m2_SemiCovered | property_Age | property_Condition |
|---|---|---|---|---|---|---|
| Terreno | Requerido | No exigido | No exigido | No exigido | No exigido | No exigido |
| Departamento | No exigido | No exigido | Requerido | Requerido | Requerido | No exigido |
| Otros | Requerido | Requerido | No exigido | No exigido | Requerido | Requerido |
Nota: Los campos marcados como
No exigido pueden omitirse en el JSON o enviarse con valornull.
Ejemplo para Departamento:
{ "latitude": -25.2821, "longitude": -57.6353, "property": { "propertyType": "Departamento", "m2Covered": 80, "m2SemiCovered": 10, "propertyAge": "Semi nuevo" } }
Mensajes de validación (cuando falta un campo requerido):
- Terreno:
"El área del terreno (m2Land) es requerida para Terrenos" - Departamento:
"El área cubierta (m2Covered) es requerida para Departamentos""El área semicubierta (m2SemiCovered) es requerida para Departamentos""La antigüedad (propertyAge) es requerida para Departamentos"
- Otros tipos:
"El área del terreno (m2Land) es requerida""El área construida (m2Built) es requerida""La antigüedad (propertyAge) es requerida""El estado de conservación (propertyCondition) es requerido"
3. Campos opcionales
Campos adicionales para enriquecer la valoración o el reporte:
property.numberOfBedrooms(integer): Número de dormitorios.property.numberOfBathrooms(integer): Número de baños.property.garageSpaces(integer): Número de espacios de garaje.property.hasServiceArea(boolean, default: false): Indica si la propiedad tiene área de servicio.property.hasBalcony(boolean, default: false): Indica si la propiedad tiene balcón.property.hasGym(boolean, default: false): Indica si la propiedad tiene gimnasio.property.isLuxury(boolean, default: false): Indica si la propiedad es considerada de lujo.property.hasPool(boolean, default: false): Indica si la propiedad tiene piscina.property.sum(boolean, default: false): Indica presencia de sum para Departamentos en Argentina.
Ejemplo de request
curl -X POST "https://api.placeanalyzer.com/valuation-request" \
-H "Content-Type: application/json" \
-H "X-API-KEY: tu-api-key-aqui" \
-d '{
"latitude": -25.2821,
"longitude": -57.6353,
"property": {
"propertyType": "Casa",
"m2Land": 360,
"m2Built": 120,
"numberOfBedrooms": 3,
"numberOfBathrooms": 2,
"garageSpaces": 1,
"propertyAge": "Semi nuevo",
"propertyCondition": "Bueno",
"hasServiceArea": true,
"hasBalcony": false,
"hasGym": false,
"isLuxury": false,
"hasPool": false
}
}'Consultar estado del avalúo
Recupera los detalles completos de una solicitud de avalúo específica utilizando el requestCode obtenido en la creación.
Este endpoint permite monitorear el estado del proceso (CREATED, READY, ERROR_VALUATION) y obtener información detallada de la propiedad, configuración del reporte y datos del usuario.
Parámetros
requestCode(string, path parameter, requerido): Código único de la solicitud de avalúo obtenido al crear la solicitud. Formato UUID.
Respuesta
La respuesta incluye los siguientes campos:
requestCode(string): Código único de la solicitud de avalúo.requestDate(string, formato: date-time): Timestamp que indica cuándo el cliente realizó originalmente la solicitud (timestamp de negocio).status(string): Estado actual del procesamiento de la solicitud de avalúo.region(string): Código de la región donde se realiza la solicitud de avalúo (ej:PY).currency(string): Código de moneda para los valores estimados (ej:USD).mlModelCode(string): Código de la versión del modelo ML utilizado (ej:V1,V2).failedMessage(string): Mensaje en caso de error en la solicitud de avalúo.property(object): Datos completos de la propiedad valuada.user(object): Datos del usuario final.
Estados posibles:
| Estado | Descripción |
|---|---|
CREATED | Solicitud en cola, pendiente de procesamiento |
READY | Avalúo completado exitosamente |
ERROR_VALUATION | Error durante el procesamiento (ver failedMessage) |
Ejemplo de request
curl -X GET "https://api.placeanalyzer.com/valuation-request/3fa85f64-5717-4562-b3fc-2c963f66afa6" \
-H "X-API-KEY: tu-api-key-aqui"Obtener resultado del avalúo
Para obtener el resultado de un avalúo completado, utiliza el requestCode proporcionado al crear la solicitud.
Parámetros
requestCode(string, path parameter, requerido): Código único de la solicitud de avalúo para la cual se desea obtener el resultado. Formato UUID.
Respuesta
Importante: Este endpoint solo devuelve resultados cuando el avalúo tiene estado READY. La respuesta incluye:
requestCode(string): Código único de la solicitud de avalúo, generado por el sistema.requestDate(string, formato: date-time): Timestamp que indica cuándo se generó el resultado de la valuación (timestamp de negocio).status(string): Estado actual del procesamiento de la solicitud de avalúo.priceLand(number, formato: double): Valor estimado del terreno.priceBuild(number, formato: double): Valor estimado de la propiedad/construcción.currency(string): Código de moneda para los valores estimados (ej:USD).mlModelCode(string): Identificador/código del modelo de Machine Learning utilizado para esta valuación.
Ejemplo de request
curl -X GET "https://api.placeanalyzer.com/valuation-request/3fa85f64-5717-4562-b3fc-2c963f66afa6/result" \
-H "X-API-KEY: tu-api-key-aqui"