Endpoints / Cajas
Actualizar estado de caja
Actualiza el estado de una caja de la empresa del usuario autenticado.
/checkouts/:id/statusCaso de Uso
Se usa cuando la aplicación necesita activar, inactivar o cambiar el estado operativo de una caja existente. Al usarlo, el usuario obtiene la caja actualizada junto con un resumen de la sucursal asociada.
Autenticación
Requiere token JWT en el header `Authorization: Bearer <token>`.
Parámetros de ruta
idstringobligatorioIdentificador interno de la caja. Corresponde a cjid, no al identificador visible.
Body
cjestadostringobligatorioNuevo estado de la caja. Acepta activo o inactivo.
Reglas de negocio
Solo un usuario con rol jefe puede actualizar el estado de una caja.
Solo permite actualizar cajas de la empresa del usuario autenticado.
La empresa del usuario autenticado debe estar activa.
El usuario autenticado debe estar activo.
La caja debe existir dentro de la empresa autenticada.
Una caja con estado eliminado no puede actualizarse.
cjestado es obligatorio.
cjestado solo puede ser activo o inactivo.
La respuesta incluye un resumen de la sucursal asociada en sucursal.
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 caja no existe o no pertenece a la empresa autenticada.
El identificador interno de la caja llegó vacío al servicio.
No se envió cjestado o se envió vacío.
cjestado tiene un valor no permitido.
La caja existe, pero está en estado eliminado.
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 cajas.
El usuario autenticado no tiene el rol requerido para actualizar cajas.
El usuario autenticado está inactivo y no puede usar el sistema.
Ocurrió un error interno al actualizar el estado de la caja.
Notas de uso
Este endpoint no recibe query params.
En esta ruta, id corresponde al identificador interno cjid, no al identificador visible cjidentificador.
Envía el body en formato JSON con el header Content-Type: application/json.
Aunque el mensaje de validación menciona eliminado, la validación actual solo acepta activo o inactivo para cjestado.
Si necesitas consultar por identificador visible de caja, usa GET /checkouts/:id con el query param cjsuid.