Skip to main content
El módulo de gestión de usuarios permite a los administradores de Comfaca Créditos en Línea mantener el directorio completo de cuentas del sistema. Desde estos endpoints es posible consultar el listado de usuarios con sus roles y estados, acceder al perfil detallado de cualquier cuenta, crear nuevos usuarios directamente desde el panel administrativo y aplicar cambios como modificación de roles, activación/suspensión de cuentas y actualización de datos personales. El sistema utiliza el username como identificador único en la mayoría de los flujos internos.
Todos los endpoints bajo /api/admin/users requieren una sesión activa con rol administrador. Los intentos de acceso sin privilegios recibirán 401 Unauthorized o 403 Forbidden.

GET /api/admin/users

Lista todos los usuarios del sistema con soporte de filtros por rol, estado y búsqueda de texto libre. Además de la lista, la respuesta incluye conteos por rol y por estado para alimentar los widgets del panel.

Query Parameters

number
default:"10"
Número máximo de usuarios a devolver. Entero positivo.
number
default:"0"
Desplazamiento para la paginación. Entero no negativo.
string
Filtra usuarios que tengan este rol en su array roles. Ejemplos: admin, user_trabajador, asesor.
string
Filtra por estado de la cuenta. Valores reconocidos:
  • active — usuario activo (is_active: true y disabled: false)
  • inactive — usuario inactivo (is_active: false)
  • suspended — usuario suspendido (disabled: true)
string
Búsqueda de texto libre sobre full_name, email y username.

Response

object

GET /api/admin/users/:id

Obtiene el perfil completo de un usuario específico por su ID numérico.

Path Parameters

number
required
ID numérico del usuario. Se valida que sea un entero válido antes de ejecutar la consulta.

Response

object
Objeto Usuario con todos los campos del perfil. Ver estructura completa en la sección de tipos al final de esta página.

POST /api/admin/users/create

Crea una nueva cuenta de usuario desde el panel administrativo. A diferencia del registro público, este endpoint permite asignar roles específicos y configurar el estado de la cuenta desde el momento de la creación.

Body

string
required
Nombre de usuario único en el sistema (máx. 255 caracteres). Se usa como identificador en todas las solicitudes vinculadas al usuario.
string
required
Correo electrónico válido del usuario (máx. 255 caracteres). Debe ser único en el sistema.
string
required
Contraseña inicial de la cuenta. Mínimo 8 caracteres. El usuario puede cambiarla posteriormente.
string
required
Nombre(s) del usuario (máx. 100 caracteres).
string
required
Apellido(s) del usuario (máx. 100 caracteres).
array
Array de strings con los roles a asignar. Roles disponibles en el sistema: admin, user_trabajador, asesor. Si se omite, se asigna el rol por defecto según la configuración del servicio.
boolean
Si es true, la cuenta se crea suspendida. Por defecto false (cuenta activa).
string
Tipo de documento de identidad (máx. 20 caracteres). Ejemplo: CC, CE, TI, Pasaporte.
string
Número de documento de identidad (máx. 20 caracteres).
string
Teléfono de contacto del usuario (máx. 20 caracteres).

Response

object

PUT /api/admin/users/:id

Actualiza los datos de un usuario existente. Todos los campos son opcionales. Permite cambiar el rol, suspender/activar la cuenta, actualizar datos personales o restablecer la contraseña.

Path Parameters

number
required
ID numérico del usuario a actualizar.

Body

string
Nuevo username (máx. 255 caracteres).
string
Nuevo correo electrónico (máx. 255 caracteres).
string
Nueva contraseña. Mínimo 8 caracteres. Solo enviar si se desea restablecer la contraseña.
string
Nombres actualizados (máx. 100 caracteres).
string
Apellidos actualizados (máx. 100 caracteres).
array
Array de roles a asignar. Reemplaza completamente los roles actuales del usuario.
boolean
true para suspender la cuenta, false para reactivarla.
string
Tipo de documento (máx. 20 caracteres).
string
Número de documento (máx. 20 caracteres).
string
Teléfono de contacto (máx. 20 caracteres).

Response

object

Endpoints de Autoservicio de Usuario

Los usuarios autenticados (cualquier rol) también pueden gestionar su propio perfil a través de los siguientes endpoints. Estos no requieren rol administrador:

GET /api/user/perfil

Obtiene el perfil del usuario actualmente autenticado. Devuelve los datos personales, tipo de documento y configuración de la cuenta.

PUT /api/user/perfil

Actualiza los datos del perfil propio: nombres, apellidos, teléfono, dirección, ciudad, barrio y tipo de vivienda.

PUT /api/user/password-change

Permite al usuario cambiar su propia contraseña proporcionando la contraseña actual y la nueva. Requiere confirmación de la nueva contraseña.
Los endpoints de autoservicio validan que el usuario solo pueda modificar su propio perfil. Un administrador que desee cambiar datos de otro usuario debe usar PUT /api/admin/users/:id.

Tipo Usuario

Estructura TypeScript completa del objeto usuario en el contexto administrativo:

Tipo CreateUserForm

Estructura del formulario de creación/edición de usuario: