Endpoints / Cajas

GET

Obtener caja

Obtiene el detalle de una caja por su identificador funcional dentro de una sucursal específica.

GET/checkouts/:id

Caso de Uso

Se usa cuando la aplicación necesita consultar una caja específica para mostrar su detalle, validar su estado o cargar sus datos en una pantalla de gestión. Al usarlo, el usuario obtiene la información de la caja 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 funcional de la caja. Corresponde a cjidentificador, no a cjid.

Query params

cjsuidstringobligatorio

Identificador de la sucursal donde se busca la caja.

Body

No aplica.

Reglas de negocio

1

Solo permite consultar cajas de la empresa del usuario autenticado.

2

La empresa del usuario autenticado debe estar activa.

3

El usuario autenticado debe estar activo.

4

El usuario autenticado debe tener rol administrador, jefe o empleado.

5

La búsqueda se realiza por empresa autenticada, cjsuid y cjidentificador.

6

El parámetro id de la ruta corresponde al campo cjidentificador, no al campo cjid.

7

El query param cjsuid es obligatorio para identificar la sucursal donde se busca la caja.

8

Un mismo cjidentificador puede repetirse en sucursales distintas.

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.

400El id de sucursal es requerido

No se envió el query param obligatorio cjsuid.

500Caja no encontrada

No existe una caja con ese identificador dentro de la sucursal indicada y la empresa autenticada.

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ó acceder a información de una empresa distinta a la suya.

500El usuario no es jefe, empleado o administrador

El rol del usuario no tiene permiso para consultar cajas.

500El usuario no está activo

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

500Error finding checkout by id

Ocurrió un error interno al consultar la caja por empresa, sucursal e identificador.

Notas de uso

1

Este endpoint no recibe body.

2

Envía cjsuid como query param obligatorio.

3

El id de la ruta debe ser el cjidentificador visible de la caja, por ejemplo "001".

4

Para conservar ceros iniciales, trata el identificador de caja como texto.

5

La respuesta incluye el objeto sucursal con datos básicos de la sucursal asociada.