API - Gestión de Propiedades
Visión General
Endpoints para la gestión completa de propiedades inmobiliarias, incluyendo creación, edición, consulta, filtrado y gestión de imágenes.
GET /properties/all
Obtener lista de todas las propiedades.
Query Parameters
city: Filtrar por ciudadtype: Tipo de propiedad (house, apartment, commercial, office)status: Estado (available, occupied, maintenance)min_price: Precio mínimomax_price: Precio máximobedrooms: Número de habitacionespage: Número de páginalimit: Elementos por página
Response Success (200)
{
"success": true,
"data": [
{
"id": 1,
"title": "Casa Familiar Norte",
"description": "Hermosa casa en zona exclusiva...",
"property_type": "house",
"status": "available",
"address": "Calle 123 #45-67",
"city": "Bogotá",
"state": "Cundinamarca",
"country": "Colombia",
"bedrooms": 3,
"bathrooms": 2,
"area": 120.5,
"price": 1200000,
"currency": "COP",
"amenities": ["wifi", "parking", "gym"],
"images": [
{
"id": 1,
"image_url": "https://bucket.s3.amazonaws.com/image1.jpg",
"is_main": true,
"order_index": 0
}
],
"available_from": "2024-02-01",
"created_at": "2024-01-15T10:30:00Z"
}
],
"count": 15
}
GET /properties/active
Obtener propiedades activas/disponibles.
Response Success (200)
{
"success": true,
"data": [
{
"id": 1,
"title": "Casa Familiar Norte",
"price": 1200000,
"city": "Bogotá",
"bedrooms": 3,
"bathrooms": 2,
"main_image": "https://bucket.s3.amazonaws.com/image1.jpg",
"available_from": "2024-02-01"
}
],
"count": 8
}
POST /property/create
Crear nueva propiedad.
Request
{
"title": "Apartamento Moderno",
"description": "Apartamento completamente renovado...",
"property_type": "apartment",
"address": "Carrera 15 #67-89",
"city": "Medellín",
"state": "Antioquia",
"country": "Colombia",
"postal_code": "050001",
"bedrooms": 2,
"bathrooms": 2,
"area": 85.0,
"parking_spaces": 1,
"balcony": true,
"price": 900000,
"deposit": 900000,
"admin_fee": 120000,
"amenities": ["wifi", "ac", "gym", "pool"],
"available_from": "2024-03-01"
}
Response Success (201)
{
"success": true,
"message": "Propiedad creada exitosamente",
"data": {
"id": 25,
"title": "Apartamento Moderno",
"city": "Medellín",
"price": 900000,
"status": "available"
}
}
PUT /property/edit
Editar propiedad existente.
Request
{
"property_id": 25,
"price": 950000,
"description": "Apartamento completamente renovado con nuevas especificaciones...",
"amenities": ["wifi", "ac", "gym", "pool", "security"]
}
Response Success (200)
{
"success": true,
"message": "Propiedad actualizada exitosamente"
}
DELETE /property/delete
Eliminar propiedad.
Request
{
"property_id": 25
}
Response Success (200)
{
"success": true,
"message": "Propiedad eliminada exitosamente"
}
GET /properties/stats
Obtener estadísticas de propiedades.
Response Success (200)
{
"success": true,
"data": {
"total_properties": 45,
"available": 18,
"occupied": 22,
"maintenance": 3,
"inactive": 2,
"average_price": 1150000,
"by_type": {
"house": 20,
"apartment": 18,
"commercial": 5,
"office": 2
},
"by_city": {
"Bogotá": 25,
"Medellín": 12,
"Cali": 8
}
}
}
Gestión de Imágenes
POST /property-relation/upload-images-to-property
Subir imágenes a una propiedad.
Request (multipart/form-data)
property_id: 25
images: [file1.jpg, file2.jpg, file3.jpg]
Response Success (200)
{
"success": true,
"message": "Imágenes subidas exitosamente",
"data": {
"uploaded_count": 3,
"images": [
{
"id": 101,
"image_url": "https://bucket.s3.amazonaws.com/properties/25/image1.jpg",
"is_main": true,
"order_index": 0
}
]
}
}
Tipos de Propiedad
- house: Casa
- apartment: Apartamento
- commercial: Local Comercial
- office: Oficina
- warehouse: Bodega
Estados de Propiedad
- available: Disponible
- occupied: Ocupada
- maintenance: En mantenimiento
- inactive: Inactiva
Amenidades Disponibles
- wifi, ac, gym, pool, parking, security, garden, terrace, elevator, furnished