Skip to main content

API - Gestión de Usuarios

Visión General

Endpoints para la gestión completa de usuarios, incluyendo creación, edición, consulta y administración de perfiles de usuario.


GET /users/all

Obtener lista de todos los usuarios.

Query Parameters

  • page: Número de página (default: 1)
  • limit: Elementos por página (default: 20)
  • search: Buscar por nombre o email
  • profile: Filtrar por perfil

Response Success (200)

{
"success": true,
"data": [
{
"id": 1,
"email": "usuario@email.com",
"first_name": "Juan",
"last_name": "Pérez",
"phone": "+57 310 123 4567",
"profiles": ["Propietario", "Inquilino"],
"is_active": true,
"created_at": "2024-01-15T10:30:00Z"
}
],
"count": 25,
"total_pages": 3
}

POST /users/create

Crear nuevo usuario.

Request

{
"email": "nuevo@email.com",
"password": "contraseña123",
"first_name": "María",
"last_name": "García",
"phone": "+57 320 987 6543",
"profiles": [1, 2],
"document_id": "87654321"
}

Response Success (201)

{
"success": true,
"message": "Usuario creado exitosamente",
"data": {
"id": 124,
"email": "nuevo@email.com",
"first_name": "María",
"last_name": "García"
}
}

PUT /users/edit

Editar usuario existente.

Request

{
"user_id": 124,
"first_name": "María Isabel",
"phone": "+57 320 111 2222",
"profiles": [1, 3]
}

Response Success (200)

{
"success": true,
"message": "Usuario actualizado exitosamente",
"data": {
"id": 124,
"first_name": "María Isabel",
"phone": "+57 320 111 2222"
}
}

POST /users/one

Obtener datos de un usuario específico.

Request

{
"user_id": 124
}

Response Success (200)

{
"success": true,
"data": {
"id": 124,
"email": "usuario@email.com",
"first_name": "María Isabel",
"last_name": "García",
"phone": "+57 320 111 2222",
"profiles": [
{"id": 1, "name": "Propietario"},
{"id": 3, "name": "Administrador"}
],
"properties_count": 5,
"contracts_count": 3
}
}

Perfiles de Usuario

Los usuarios pueden tener múltiples perfiles:

  • Administrador: Acceso completo al sistema
  • Propietario: Gestión de propiedades propias
  • Inquilino: Acceso a propiedades arrendadas
  • Agente: Gestión de propiedades asignadas

Validaciones

Email

  • Formato válido requerido
  • Único en el sistema
  • Verificación automática por email

Contraseña

  • Mínimo 8 caracteres
  • Al menos una mayúscula
  • Al menos un número
  • Hash con BCrypt

Teléfono

  • Formato internacional recomendado
  • Validación de país Colombia (+57)