Endpoints / Cajas

PATCH

Actualizar estado de caja

Actualiza el estado de una caja de la empresa del usuario autenticado.

PATCH/checkouts/:id/status

Caso 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

idstringobligatorio

Identificador interno de la caja. Corresponde a cjid, no al identificador visible.

Body

cjestadostringobligatorio

Nuevo estado de la caja. Acepta activo o inactivo.

Reglas de negocio

1

Solo un usuario con rol jefe puede actualizar el estado de una caja.

2

Solo permite actualizar cajas de la empresa del usuario autenticado.

3

La empresa del usuario autenticado debe estar activa.

4

El usuario autenticado debe estar activo.

5

La caja debe existir dentro de la empresa autenticada.

6

Una caja con estado eliminado no puede actualizarse.

7

cjestado es obligatorio.

8

cjestado solo puede ser activo o inactivo.

9

La respuesta incluye un resumen de la sucursal asociada en sucursal.

Errores esperados

401No autorizado

No se envió un token JWT válido o el token no contiene información válida del usuario.

400El id de caja es requerido

No se envió el parámetro id en la ruta.

404Caja no encontrada

La caja no existe o no pertenece a la empresa autenticada.

500El identificador de caja es requerido

El identificador interno de la caja llegó vacío al servicio.

500El estado de caja es requerido

No se envió cjestado o se envió vacío.

500El estado de caja debe ser activo, inactivo o eliminado

cjestado tiene un valor no permitido.

500La caja eliminada no puede ser actualizada

La caja existe, pero está en estado eliminado.

500La empresa no existe

La empresa asociada al usuario autenticado no fue encontrada.

500La empresa no está activa

La empresa asociada al usuario autenticado está inactiva.

500El usuario no existe

El usuario autenticado no fue encontrado dentro de su empresa.

500El usuario no pertenece a la empresa

El usuario autenticado no pertenece a la empresa indicada por su sesión.

500El usuario no puede acceder a otra empresa

El usuario autenticado intentó operar sobre una empresa distinta a la suya.

500El usuario no es jefe, empleado o administrador

El rol del usuario no está permitido para acceder al módulo de cajas.

500El usuario no es jefe

El usuario autenticado no tiene el rol requerido para actualizar cajas.

500El usuario no está activo

El usuario autenticado está inactivo y no puede usar el sistema.

500Error updating checkout status by id

Ocurrió un error interno al actualizar el estado de la caja.

Notas de uso

1

Este endpoint no recibe query params.

2

En esta ruta, id corresponde al identificador interno cjid, no al identificador visible cjidentificador.

3

Envía el body en formato JSON con el header Content-Type: application/json.

4

Aunque el mensaje de validación menciona eliminado, la validación actual solo acepta activo o inactivo para cjestado.

5

Si necesitas consultar por identificador visible de caja, usa GET /checkouts/:id con el query param cjsuid.