Endpoints / Usuarios
Crear usuario
Registra un nuevo usuario en el sistema, ya sea dentro de la misma empresa del solicitante o para otra empresa desde administración central.
/usersCaso de Uso
Se usa cuando la aplicación necesita crear un nuevo usuario, ya sea un empleado o jefe dentro de la misma empresa, o cualquier tipo de usuario para otra empresa desde el panel de administración central. Al usarlo, el usuario obtiene los datos completos del usuario creado, incluyendo la URL pública de su imagen de perfil.
Autenticación
Requiere token JWT en el header `Authorization: Bearer <token>`. Para creación en la misma empresa: rol jefe, no permite crear administradores. Para otra empresa: rol administrador, empresa debe ser padre.
Parámetros de ruta
Este endpoint no recibe parámetros de ruta.
Body
usemidstringobligatorioIdentificador de la empresa a la que pertenecerá el usuario.
usnombrestringobligatorioNombre completo del usuario; debe contener solo letras y espacios.
usapodostringobligatorioApodo o nombre de usuario; debe ser único dentro de la empresa.
uscorreostringobligatorioCorreo electrónico del usuario; debe tener formato válido y ser único globalmente.
uspasswordstringobligatorioContraseña del usuario; debe tener al menos 8 caracteres.
usrolstringobligatorioRol del usuario. Valores: administrador, jefe, empleado.
imagenfile opcionalImagen de perfil del usuario; solo se aceptan .png o .jpg de hasta 5 MB.
Reglas de negocio
El campo usemid es obligatorio y debe corresponder a una empresa existente.
El campo usnombre es obligatorio y solo permite letras y espacios.
El campo usapodo es obligatorio y debe ser único dentro de la empresa destino.
El campo uscorreo es obligatorio, debe tener formato de correo electrónico válido y ser único a nivel global.
El campo uspassword es obligatorio y debe tener al menos 8 caracteres.
El campo usrol es obligatorio y solo acepta los valores: administrador, jefe, empleado.
El campo imagen es opcional; si no se envía, se asigna una imagen por defecto.
La imagen solo acepta formatos .png y .jpg.
La imagen no puede superar los 5 MB.
Si no se envía imagen, la solicitud debe usar Content-Type: application/json.
Si se envía imagen, la solicitud debe usar Content-Type: multipart/form-data.
La contraseña se almacena cifrada; nunca se devuelve en la respuesta.
El usuario autenticado debe tener rol jefe para crear dentro de la misma empresa.
El usuario autenticado debe tener rol administrador para crear en otra empresa.
Para crear en otra empresa, la empresa autenticada debe ser empresa padre de la empresa destino.
No se permite crear usuarios con rol administrador dentro de la misma empresa.
El sistema verifica que la empresa destino exista y esté activa.
El sistema verifica que el usuario autenticado esté activo.
Si el correo ya está registrado en el sistema, se rechaza la creación.
Si el apodo ya existe en la empresa destino, se rechaza la creación.
El endpoint transforma la ruta de la imagen a una URL pública completa.
La imagen por defecto se asigna desde /uploads/usuarios/user.png.
El endpoint no recibe parámetros de ruta ni query params.
El usuario creado se devuelve con todos sus datos, incluida la URL de la imagen.
El estado del usuario se asigna como "activo" por defecto.
La fecha de registro se genera automáticamente al crear el usuario.
Errores esperados
No se envió un token JWT válido o el token no contiene información válida del usuario.
usemid fue enviado vacío.
usnombre fue enviado vacío.
usnombre contiene caracteres no permitidos.
usapodo fue enviado vacío.
uscorreo fue enviado vacío.
uscorreo no tiene formato de correo válido.
uspassword fue enviado vacío.
uspassword tiene menos de 8 caracteres.
usrol fue enviado vacío.
usrol no es uno de los valores permitidos.
La imagen enviada supera los 5 MB.
La imagen enviada no tiene extensión .png o .jpg.
Ocurrió un error interno al guardar la imagen en el servidor.
La empresa asociada al usuario autenticado no fue encontrada.
La empresa asociada al usuario autenticado está inactiva.
Se intentó crear un usuario para otra empresa, pero la empresa del solicitante no es empresa padre.
El usuario autenticado no fue encontrado dentro de su empresa.
El usuario autenticado no pertenece a la empresa indicada por su sesión.
El usuario autenticado intentó operar sobre una empresa distinta a la suya.
Para crear usuarios en otra empresa, el solicitante debe ser administrador.
El rol del usuario no está permitido para acceder al módulo de usuarios.
El usuario autenticado está inactivo y no puede usar el sistema.
La empresa destino indicada en usemid no fue encontrada.
En creación dentro de la misma empresa, no se permite crear usuarios con rol administrador.
Para crear usuarios en la misma empresa, el solicitante debe tener rol jefe.
El uscorreo enviado ya está registrado por otro usuario.
El usapodo enviado ya está en uso por otro usuario dentro de la empresa destino.
El usuario fue guardado, pero no pudo consultarse para devolver la respuesta.
Ocurrió un error interno al guardar el usuario.
Notas de uso
Este endpoint no recibe parámetros de ruta ni query params.
Si no se envía imagen, usa Content-Type: application/json.
Si se envía imagen, usa Content-Type: multipart/form-data con el archivo en el campo imagen.
La contraseña se almacena cifrada; nunca se devuelve en la respuesta.
uscorreo debe ser único a nivel global.
usapodo debe ser único solo dentro de la empresa destino.
En creación dentro de la misma empresa, no se permite asignar el rol administrador.