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 emailprofile: 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)