Skip to content

CRUD de Usuarios

Endpoints para la gestión completa de usuarios (Crear, Leer, Actualizar, Eliminar).

Crea un nuevo usuario en el sistema.

Content-Type: application/json
Accept: application/json
Authorization: Bearer {token}
ParámetroTipoRequeridoDescripción
namestringNombre del usuario
lastnamestringApellido del usuario
emailstringEmail del usuario
passwordstringContraseña del usuario
account_idintegerID de la cuenta
rolesarrayNoArray de roles del usuario
accountsarrayNoArray de cuentas asociadas
{
"name": "Juan",
"lastname": "Pérez",
"email": "[email protected]",
"password": "contraseña123",
"account_id": 1,
"roles": ["user"],
"accounts": [1, 2]
}
{
"message": "Usuario creado exitosamente",
"status": "OK",
"payload": {
"uuid": 123456789,
"name": "Juan",
"lastname": "Pérez",
"email": "[email protected]",
"account_id": 1,
"status": "active",
"created_at": "2025-01-17 10:30:00"
}
}
{
"message": "El email ya está registrado",
"status": "ERROR"
}
{
"message": "Los datos proporcionados no son válidos",
"errors": {
"email": [
"El campo email es obligatorio"
],
"password": [
"La contraseña debe tener al menos 8 caracteres"
]
}
}

Actualiza un usuario existente.

Content-Type: application/json
Accept: application/json
Authorization: Bearer {token}
ParámetroTipoRequeridoDescripción
idintegerID del usuario a actualizar
namestringNoNombre del usuario
lastnamestringNoApellido del usuario
emailstringNoEmail del usuario
passwordstringNoNueva contraseña
account_idintegerNoID de la cuenta
rolesarrayNoArray de roles del usuario
accountsarrayNoArray de cuentas asociadas
{
"id": 123456789,
"name": "Juan Carlos",
"lastname": "Pérez García",
"email": "[email protected]",
"account_id": 1,
"roles": ["admin"],
"accounts": [1, 2, 3]
}
{
"message": "Registro Actualizado",
"status": "OK",
"payload": {
"uuid": 123456789,
"name": "Juan Carlos",
"last_name": "Pérez García",
"email": "[email protected]",
"phone": null,
"status": "active",
"manages": {
"uuid": 987654321,
"name": "Empresa Ejemplo",
"ruc": "0123456789001"
},
"roles": [
{
"id": 1,
"name": "admin",
"description": "Administrador"
}
]
}
}

Actualiza la información del usuario autenticado.

Content-Type: application/json
Accept: application/json
Authorization: Bearer {token}
ParámetroTipoRequeridoDescripción
namestringNoNombre del usuario
lastnamestringNoApellido del usuario
emailstringNoEmail del usuario
phonestringNoTeléfono del usuario
{
"name": "María",
"lastname": "González",
"email": "[email protected]",
"phone": "+593987654321"
}
{
"message": "Registro Actualizado",
"status": "OK",
"payload": {
"uuid": 123456789,
"name": "María",
"last_name": "González",
"email": "[email protected]",
"phone": "+593987654321",
"status": "active"
}
}

Endpoint alternativo para actualizar la información del usuario autenticado.

Content-Type: application/json
Accept: application/json
Authorization: Bearer {token}

Igual que /api/v1/users/update-my-information

Igual que /api/v1/users/update-my-information

Obtiene la información de un usuario específico por su ID.

Accept: application/json
Authorization: Bearer {token}
ParámetroTipoRequeridoDescripción
idintegerID del usuario a consultar
{
"message": "Usuario encontrado",
"status": "OK",
"payload": {
"uuid": 123456789,
"name": "Juan",
"last_name": "Pérez",
"email": "[email protected]",
"phone": "+593987654321",
"status": "active",
"created_at": "2025-01-17 10:30:00"
}
}
{
"message": "Usuario no encontrado",
"status": "ERROR"
}

Obtiene la información completa del usuario autenticado.

Accept: application/json
Authorization: Bearer {token}
{
"message": "Información del usuario",
"status": "OK",
"payload": {
"user": {
"uuid": 123456789,
"name": "Juan",
"last_name": "Pérez",
"email": "[email protected]",
"phone": "+593987654321",
"status": "active"
},
"company": {
"uuid": 987654321,
"name": "Empresa Ejemplo",
"ruc": "0123456789001",
"address": "Dirección de la empresa"
},
"management": {
"uuid": 555666777,
"permissions": ["create_documents", "view_reports"]
}
}
}

Obtiene una lista paginada de todos los usuarios.

Accept: application/json
Authorization: Bearer {token}
ParámetroTipoDescripción
pageintegerNúmero de página (por defecto: 1)
per_pageintegerElementos por página (por defecto: 15)
filtersstringFiltros avanzados en formato JSON (ver Sistema de Filtros)
GET /api/v1/users?filters=[{"field":"created_at","condition":"le","value":"2025-01-17"},{"field":"email","condition":"sw","value":"admin"}]
CampoDescripciónEjemplo
nameNombre del usuario{"field":"name","condition":"sw","value":"Juan"}
last_nameApellido del usuario{"field":"last_name","condition":"ew","value":"Pérez"}
emailEmail del usuario{"field":"email","condition":"ew","value":"@gmail.com"}
created_atFecha de creación{"field":"created_at","condition":"le","value":"2025-01-17"}
updated_atFecha de actualización{"field":"updated_at","condition":"ge","value":"2024-01-01"}
statusEstado del usuario{"field":"status","condition":"eq","value":"active"}

Para más información sobre el sistema de filtros, consulta la documentación completa de filtros.

{
"message": "Lista de usuarios",
"status": "OK",
"payload": {
"items": [
{
"uuid": 123456789,
"name": "Juan",
"last_name": "Pérez",
"email": "[email protected]",
"status": "active",
"created_at": "2025-01-17 10:30:00"
},
{
"uuid": 987654321,
"name": "María",
"last_name": "González",
"email": "[email protected]",
"status": "active",
"created_at": "2025-01-16 15:20:00"
}
],
"count": 2,
"current_page": 1,
"per_page": 15,
"total_pages": 1
}
}

Elimina un usuario del sistema.

Accept: application/json
Authorization: Bearer {token}
ParámetroTipoRequeridoDescripción
idintegerID del usuario a eliminar
DELETE /api/v1/users/1359194914
{
"message": "Usuario eliminado exitosamente",
"status": "OK"
}
{
"message": "Usuario no encontrado",
"status": "ERROR"
}

Obtiene los permisos del usuario autenticado.

Accept: application/json
Authorization: Bearer {token}
{
"message": "Permisos del usuario",
"status": "OK",
"payload": {
"permissions": [
"create_documents",
"view_reports",
"manage_users",
"edit_company"
],
"roles": [
{
"id": 1,
"name": "admin",
"description": "Administrador del sistema"
}
]
}
}

Endpoint alternativo para obtener los permisos del usuario autenticado.

Accept: application/json
Authorization: Bearer {token}

Igual que /api/v1/users/my-permissions