Endpoints / Sucursales
Actualizar sucursal
Actualiza parcialmente los datos editables de una sucursal de la empresa del usuario autenticado.
/branches/:idCaso de Uso
Se usa cuando la aplicación necesita modificar el nombre, dirección, correo, identificador o estado de una sucursal existente. Al usarlo, el usuario obtiene la sucursal actualizada con sus datos vigentes.
Autenticación
Requiere token JWT en el header `Authorization: Bearer <token>`.
Parámetros de ruta
idstringobligatorioIdentificador de la sucursal.
Body
sunombrestring opcionalNuevo nombre de la sucursal.
sudireccionstring | null opcionalNueva dirección física de la sucursal; puede enviarse como null.
sucorreostring | null opcionalNuevo correo electrónico de contacto; puede enviarse como null.
suidentificadorstring opcionalNuevo código único de 3 dígitos para identificar la sucursal dentro de la empresa.
suestadostring opcionalNuevo estado de la sucursal; acepta activo o inactivo.
Reglas de negocio
Solo un usuario con rol jefe puede actualizar sucursales.
Solo permite actualizar sucursales de la empresa del usuario autenticado.
La empresa del usuario autenticado debe estar activa.
El usuario autenticado debe estar activo.
La sucursal debe existir dentro de la empresa autenticada.
Una sucursal con estado eliminado no puede actualizarse.
Debe enviarse al menos un campo editable con un valor diferente al actual.
Si se envía sunombre, no puede estar vacío.
Si se envía sudireccion como texto, no puede estar vacía.
Si se envía sucorreo como texto, debe tener formato de correo válido.
Si se envía suidentificador, debe tener exactamente 3 dígitos.
suidentificador no puede repetirse en otra sucursal de la misma empresa.
Si se envía suestado, solo puede ser activo o inactivo.
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 actualización no devolvió una sucursal actualizada.
sunombre fue enviado vacío.
sudireccion fue enviada como texto vacío.
sucorreo fue enviado como texto vacío.
sucorreo fue enviado, pero no tiene formato de correo válido.
suidentificador fue enviado vacío.
suidentificador no cumple el formato de 3 dígitos.
suestado fue enviado vacío.
suestado tiene un valor no permitido.
No se envió ningún campo editable o todos los valores enviados son iguales a los actuales.
La sucursal no existe o no pertenece a la empresa autenticada.
La sucursal existe, pero está en estado eliminado.
Otra sucursal de la misma empresa ya usa el suidentificador enviado.
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 usuario autenticado intentó operar sobre una empresa distinta a la suya.
El rol del usuario no está permitido para acceder al módulo de sucursales.
El usuario autenticado no tiene el rol requerido para actualizar sucursales.
El usuario autenticado está inactivo y no puede usar el sistema.
Ocurrió un error interno al actualizar la sucursal.
Notas de uso
Este endpoint no recibe query params.
Envía solo los campos que deseas actualizar.
El body debe incluir al menos un campo editable con un valor distinto al actual.
sudireccion y sucorreo pueden enviarse como null para limpiar esos datos.
suidentificador debe enviarse como texto para conservar ceros iniciales, por ejemplo "002".
Aunque el mensaje de validación menciona eliminado, la validación actual solo acepta activo o inactivo para suestado.