Skip to main content

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 ciudad
  • type: Tipo de propiedad (house, apartment, commercial, office)
  • status: Estado (available, occupied, maintenance)
  • min_price: Precio mínimo
  • max_price: Precio máximo
  • bedrooms: Número de habitaciones
  • page: Número de página
  • limit: 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