Actualizar Inmueble
PUThttps://{environment}.metrocuadrado.com/rest-api/realestate/update
Actualiza la información de un inmueble existente. Este endpoint utiliza el método PUT, por lo que se debe enviar la petición completa con todos los campos obligatorios y los valores con los que el inmueble debe quedar. No es una actualización parcial (PATCH).
Ambientes Disponibles
| Ambiente | URL Base |
|---|---|
| Desarrollo | https://ptec-core-dev.metrocuadrado.com/rest-api/realestate/update |
| Producción | https://www.metrocuadrado.com/rest-api/realestate/update |
Parámetros
- Headers
- Body
- Amenities
| Header | Valor | Requerido | Descripción |
|---|---|---|---|
| Content-Type | application/json | Sí | Tipo de contenido |
| x-api-key | string | Sí | API key de autenticación |
| token | string | Sí | Token JWT de acceso |
| Campo | Tipo | Requerido | Descripción | Ejemplo |
|---|---|---|---|---|
| realEstateId | string | Sí | ID del inmueble a actualizar | "11222-M1234567" |
| realEstateType | number | Sí | Tipo de inmueble (consultar catálogo de tipos de inmueble) | 1 |
| realEstateOffer | number | Sí | Tipo de oferta (consultar catálogo de tipos de negocio) | 2 |
| price | number | Sí | Precio del inmueble (mín: 100.000, máx: 9.999.999.999.999) | 9000000 |
| city | number | Sí | ID de la ciudad (consultar catálogo de ciudades) | 5 |
| administration | number | No | Valor de administración (mín: 10.000, máx: 9.999.999.999.999) | 1000000 |
| images | array | Sí | URLs de imágenes. Reemplaza todas las imágenes existentes. Mínimo 3, máximo 20 | ["https://example.com/img1.jpg"] |
| comments | string | No | Comentarios del inmueble (máx: 1.000 caracteres). No se soporta marcado HTML | "Apartamento amplio..." |
| stratum | number | No | Estrato (1-6, 7=Comercial, 8=Rural) | 2 |
| address | string | No | Dirección del inmueble | "TV 77 I 71 A 63 SUR" |
| neighborhood | string | Sí | Barrio | "JOSE MARIA CARBONEL" |
| agentId | number | No | ID del agente. Debe existir previamente (consultar endpoint de agentes) | 340716 |
| latitude | number | No | Latitud (máx: 10 decimales) | 4.60059 |
| longitude | number | No | Longitud (máx: 10 decimales) | -74.19626 |
| video | string | No | URL del video | "https://youtu.be/0Gy0xdmMpZY" |
| reference1 | string | Sí | Referencia 1 del inmueble | "REF-001" |
| responseUrl | string | Sí | URL de callback para recibir el resultado del procesamiento | "https://example.com/api/callback" |
| integratorId | number | No | ID del integrador | 3769 |
| amenities | object | Sí | Amenidades del inmueble. Solo se aceptan atributos definidos por la API (consultar catálogo de características) | Ver pestaña Amenities |
Apartamento
| Campo | Tipo | Obligatorio | Valores Permitidos |
|---|---|---|---|
| builtTime Tiempo de construido | String | Sí | Remodelado|Entre 0 y 5 años|Entre 5 y 10 años|Entre 10 y 20 años|Más de 20 años |
| rooms Habitaciones | Integer | Sí | 1-20 |
| bathrooms Baños | Integer | Sí | 0-20 |
| garages Parqueadero | Integer | Sí | 0-100 |
| builtArea Área construida | Double | Sí | 1-9999999.99 |
| area Área privada | Double | Sí | 1-9999999.99 |
| onMainStreet Sobre vía principal | Boolean | No | true|false |
| onSecondaryRoad Sobre vía secundaria | Boolean | No | true|false |
| nearbySupermarket Cerca Supermercados | Boolean | No | true|false |
| nearbyShoppingCenter Cerca Centros Comerciales | Boolean | No | true|false |
| nearbyPark Cerca Parques | Boolean | No | true|false |
| nearbyPublicTransport Cerca Transporte Público | Boolean | No | true|false |
| nearbySchoolCollege Cerca Colegios / Universidades | Boolean | No | true|false |
| woodenFloor Piso en madera | Boolean | No | true|false |
| carpetedFloor Piso en alfombra | Boolean | No | true|false |
| tiledFloor Piso en baldosa | Boolean | No | true|false |
| porcelainTiledFloor Piso en porcelanato | Boolean | No | true|false |
| fullKitchen Cocina integral | Boolean | No | true|false |
| americanKitchen Cocina Tipo Americano | Boolean | No | true|false |
| surveillanceType Vigilancia | String | No | 0|12hrs|24hrs |
| surveillance Vigilancia | Boolean | No | true|false |
| cctv Circuito cerrado de TV | Boolean | No | true|false |
| alarm Alarma | Boolean | No | true|false |
| gateHouse Portería | Boolean | No | true|false |
| heater Con calefacción | Boolean | No | true|false |
| handicappedAccesible Acceso para discapacitados | Boolean | No | true|false |
| greenArea Zonas verdes | Boolean | No | true|false |
| childrenArea Zona para niños | Boolean | No | true|false |
| bbqArea Zona de BBQ | Boolean | No | true|false |
| communityHall Salón comunal | Boolean | No | true|false |
| coveredGarage Parqueadero cubierto | Boolean | No | true|false |
| gym Gimnasio | Boolean | No | true|false |
| petsAllowed Se Permiten Mascotas | Boolean | No | true|false |
| smokingAllowed Se Permite Fumar | Boolean | No | true|false |
| serviceBathroom Baño de Servicio | Boolean | No | true|false |
| visitorParkingLot Parqueadero visitantes | Boolean | No | true|false |
| utilityRoom Depósito o cuarto útil | Boolean | No | true|false |
| residentialZone Zona Residencial | Boolean | No | true|false |
| shoppingZone Zona Comercial | Boolean | No | true|false |
| view Vista | String | No | Interior|Exterior |
| negotiable Negociar precio | Boolean | No | true|false |
| furnished Con muebles | Boolean | No | true|false |
| floorNumber Número de piso | Integer | No | 1-999 |
| airConditioned Aire acondicionado | Boolean | No | true|false |
| elevator Ascensor | Boolean | No | true|false |
| pool Piscina | Boolean | No | true|false |
| deposits Depósito | Integer | No | 1-20 |
| terrace Con Terraza | Boolean | No | true|false |
| lifts Número de Ascensores | Integer | No | 0-4 |
| inBuilding Ubicado en Edificio | Boolean | No | true|false |
Ejemplos
- Request
- 200 OK
- 404 Not Found
- 401 Unauthorized
curl -X PUT \
'https://ptec-core-dev.metrocuadrado.com/rest-api/realestate/update' \
-H 'Content-Type: application/json' \
-H 'x-api-key: YOUR_API_KEY' \
-H 'token: tu-jwt-token' \
-d '{
"realEstateId": "11222-M1234567",
"realEstateType": 2,
"realEstateOffer": 1,
"price": 12000000,
"administration": 800000,
"city": 5,
"neighborhood": "Laureles",
"stratum": 5,
"reference1": "9876543210",
"address": "Carrera 80 # 33B 45",
"latitude": 6.24420,
"longitude": -75.58121,
"amenities": {
"builtTime": "Entre 5 y 10 años",
"rooms": "4",
"bathrooms": "3",
"garages": "2",
"garageType": "Compartido",
"builtArea": "90",
"area": "110",
"negotiable": "false",
"terraceOrBalcony": "Balcón",
"terraceOrBalconyArea": "12.5",
"dinningRoomType": "Comedor Auxiliar",
"kitchenForm": "Abierta",
"heaterType": "Gas",
"gasInstallationType": "Propano",
"stoveType": "Eléctrica",
"closedComplex": false,
"laundryArea": false,
"furnished": false,
"wardrobes": "3",
"curtainType": "Cortinas",
"block": "B",
"apartmentNumber": "204",
"floorNumber": "2",
"studyOrLibrary": false,
"serviceRoom": "false",
"chimney": "false",
"airConditioned": "false",
"cytophone": "false",
"registrationNumber": "XYZ123456",
"jacuzzi": "false",
"alarm": "false",
"pool": "false",
"tennisCourt": "false",
"squashCourt": "false",
"basketballCourt": "false",
"soccerField": "false",
"sauna": "false",
"heater": "false",
"handicappedAccesible": "false",
"greenArea": "true",
"childrenArea": "true",
"cctv": "true",
"bbqArea": "false",
"surveillanceType": "Portería",
"petsAllowed": "true",
"onMainStreet": "false",
"onSecondaryRoad": "true",
"smokingAllowed": "false",
"nearbySupermarket": "true",
"nearbyShoppingCenter": "false",
"nearbyPark": "true",
"nearbyPublicTransport": "true",
"nearbySchoolCollege": "false",
"woodenFloor": "false",
"carpetedFloor": "false",
"tiledFloor": "true",
"porcelainTiledFloor": "false",
"fullKitchen": "true",
"americanKitchen": "false",
"serviceBathroom": "false",
"utilityRoom": "false",
"golfCage": "false",
"surveillance": "true",
"gateHouse": "false",
"ruralZone": "false",
"suitableForChildren": true,
"terrace": false,
"twoFamilyHome": false,
"auxiliaryBathroom": false,
"inBuilding": true,
"shoppingZone": false,
"residentialZone": true,
"lifts": "1",
"bodyguardRoom": false,
"view": "Interior",
"auxiliaryDinningRoom": false,
"bedroomFlooringType": "Vinilo",
"studyFlooringType": "Cerámica",
"diningRoomFlooringType": "Mármol",
"livingRoomFlooringType": "Granito",
"flooringType": "Cerámica",
"mortgageEntity": "Bancolombia",
"hall": false,
"securityDoors": false,
"panoramicView": false,
"elevator": false,
"communityHall": false,
"coveredGarage": false,
"gym": false,
"visitorParkingLot": false,
"parkingType": "Cubierto"
},
"images": [
"https://example.com/image1.jpg",
"https://example.com/image2.jpg",
"https://example.com/image3.jpg"
],
"video": "https://www.youtube.com/watch?v=example123",
"comments": "APTO EN VENTA: Este apartamento está ubicado en una zona tranquila y residencial, ideal para familias. Cuenta con amplios espacios y buena iluminación natural.",
"agentId": 123456,
"responseUrl": "https://example.com/api/callback"
}'
{
"data": {
"transactionId": "2a0f2cd3-e6ad-4980-8f2a-bbc9047c8629",
"response": "Transacción de actualización recibida"
}
}
{
"error": "Inmueble no encontrado"
}
{
"error": "Token de autorización inválido o expirado"
}
Notas Importantes
- Requiere un token JWT válido (generar en el endpoint de autenticación)
- La API Key debe corresponder al ambiente seleccionado
- Todos los campos marcados como requeridos deben enviarse
Comportamiento del PUT
- Este endpoint requiere el envío completo del recurso. Se debe incluir todos los campos obligatorios y todos los valores con los que el inmueble debe quedar registrado.
- Todos los campos son modificables una vez creado el inmueble.
Campos opcionales y valores nulos
- Los campos opcionales que no se necesiten no deben incluirse en la petición. No enviar campos con valor
nullo vacío.
Imágenes
- El arreglo
imagesreemplaza completamente las imágenes existentes del inmueble. - Se requieren mínimo 3 y máximo 20 imágenes.
- Formatos aceptados: JPG, JPEG, JIF, JFIF, JPE, JFI, PNG. Máximo 8 MB por imagen.
Amenities
- Solo se aceptan los atributos definidos por la API. No se permiten atributos personalizados.
- Consultar el catálogo de características para ver los amenities disponibles según el tipo de inmueble.
Validaciones de negocio
realEstateId: No es obligatorio en el body, se obtiene automáticamente del token JWT enviado en los headers.agentId: Si se envía, debe corresponder a un agente existente. Consultar el endpoint de agentes para obtener IDs válidos.username: Se utiliza en la autenticación. Debe ser un usuario válido, con membresía activa y credenciales creadas.integratorId: Campo opcional. Identificador del integrador que realiza la petición.
Campos de texto
- No se soporta marcado HTML en ningún campo de texto.
- El campo
commentstiene un máximo de 1.000 caracteres.
Cómo Probar
Para probar este endpoint, sigue estos pasos:
- Genera un token JWT usando el endpoint de autenticación
- Asegúrate de usar la API Key correcta según el ambiente
- Incluye el token en el header
token - Prepara el body JSON con todos los campos obligatorios y los valores actualizados del inmueble
- Realiza la petición PUT al endpoint correspondiente
Códigos de Respuesta
| Código | Descripción |
|---|---|
| 200 | Transacción de actualización recibida |
| 400 | Parámetros inválidos o faltantes |
| 401 | Token inválido o expirado |
| 404 | Inmueble no encontrado |
Probar Endpoint
API Tester
Prueba los endpoints de forma interactiva