Endpoints / Empresas
Actualizar empresa
Actualiza parcialmente los datos editables de una empresa, limitado a la empresa del usuario autenticado.
/companies/:idCaso de Uso
Se usa cuando la aplicación necesita modificar la razón social, el correo o el logo de la empresa del usuario autenticado. Al usarlo, el usuario obtiene los datos completos de la empresa actualizada, incluyendo la URL pública del logo.
Autenticación
Requiere token JWT en el header `Authorization: Bearer <token>`. Permite acceso a usuarios con rol administrador, jefe o empleado, pero solo sobre la misma empresa del usuario autenticado.
Parámetros de ruta
idstringobligatorioIdentificador de la empresa.
Body
emrznsocialstring opcionalNueva razón social de la empresa.
emcorreostring opcionalNuevo correo electrónico de la empresa; debe tener formato válido.
imagenfile opcionalNuevo logo de la empresa; solo se aceptan .png o .jpg de hasta 5 MB.
Reglas de negocio
Solo permite actualizar la empresa del usuario autenticado; no permite modificar otras empresas.
La empresa del usuario autenticado debe estar activa.
El usuario autenticado debe estar activo.
El usuario autenticado debe tener rol administrador, jefe o empleado.
La empresa objetivo debe estar activa; si está inactiva o eliminada, no puede actualizarse.
Debe enviarse al menos un campo editable con un valor diferente al actual.
Si se envía emrznsocial, no puede estar vacío.
Si se envía emcorreo, debe tener formato de correo válido.
emcorreo no puede repetirse en otra empresa.
Si se envía imagen, solo se aceptan archivos .png y .jpg.
Si se envía imagen, el tamaño máximo permitido es 5 MB.
El backend transforma emlogo a una URL pública completa.
Cuando se envía imagen, el Content-Type debe ser multipart/form-data. Si no, puede usarse application/json.
Errores esperados
No se envió un token JWT válido o el token no contiene información válida del usuario.
No se envió el parámetro id en la ruta.
La empresa objetivo no existe o la actualización no devolvió resultados.
emrznsocial fue enviado vacío.
emcorreo fue enviado vacío.
emcorreo no tiene formato de correo válido.
emlogo fue enviado vacío.
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 objetivo está en estado inactivo o eliminado.
Otra empresa ya usa el emcorreo enviado.
No se envió ningún campo editable o todos los valores enviados son iguales a los actuales.
Ocurrió un error interno al ejecutar la actualización.
La empresa asociada al usuario autenticado no fue encontrada.
La empresa asociada al usuario autenticado está inactiva.
El usuario autenticado no fue encontrado dentro de su empresa.
El usuario autenticado no pertenece a la empresa indicada por su sesión.
El id enviado no coincide con la empresa del usuario autenticado.
El rol del usuario no está permitido para acceder al módulo de empresas.
El usuario autenticado está inactivo y no puede usar el sistema.
Notas de uso
Este endpoint no recibe query params.
Envía solo los campos que deseas actualizar.
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.
El campo emlogo se devuelve como URL pública completa, lista para usar en etiquetas <img>.