Endpoints / Cajas
Crear caja
Crea una nueva caja dentro de una sucursal de la empresa indicada.
/checkoutsCaso de Uso
Se usa cuando la aplicación necesita registrar una caja o punto de cobro para una sucursal activa. Al usarlo, el usuario obtiene la caja creada con su identificador, sucursal, estado y fecha de registro.
Autenticación
Requiere token JWT en el header `Authorization: Bearer <token>`.
Parámetros de ruta
Este endpoint no recibe parámetros de ruta.
Body
cjemidstringobligatorioIdentificador de la empresa a la que pertenecerá la caja.
cjsuidstringobligatorioIdentificador de la sucursal donde se creará la caja.
cjidentificadorstringobligatorioCódigo único de 3 dígitos para identificar la caja dentro de la sucursal.
Reglas de negocio
Solo un usuario con rol jefe puede crear cajas.
La empresa del usuario autenticado debe estar activa.
El usuario autenticado debe estar activo.
La caja solo puede crearse en la misma empresa del usuario autenticado.
La sucursal indicada debe existir dentro de la empresa.
La sucursal indicada debe estar activa.
cjemid, cjsuid y cjidentificador son obligatorios.
cjidentificador debe tener exactamente 3 dígitos.
cjidentificador no puede repetirse dentro de la misma sucursal.
La caja se crea con estado activo.
Errores esperados
No se envió un token JWT válido o el token no contiene información válida del usuario.
No se envió cjemid o se envió vacío.
No se envió cjsuid o se envió vacío.
No se envió cjidentificador o se envió vacío.
cjidentificador no cumple el formato de 3 dígitos.
La empresa indicada en cjemid o la empresa del usuario autenticado no fue encontrada.
La empresa asociada a la solicitud 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.
cjemid pertenece a una empresa distinta a la del usuario autenticado.
El rol del usuario no está permitido para acceder al módulo de cajas.
El usuario autenticado no tiene el rol requerido para crear cajas.
El usuario autenticado está inactivo y no puede usar el sistema.
La sucursal indicada en cjsuid no existe dentro de la empresa.
La sucursal indicada existe, pero no está activa.
Ya hay una caja registrada con el mismo cjidentificador dentro de la sucursal.
Ocurrió un error interno al guardar la caja.
La caja fue creada, pero ocurrió un error al consultar sus datos para devolver la respuesta.
Notas de uso
Este endpoint no recibe parámetros de ruta.
Envía el body en formato JSON con el header Content-Type: application/json.
cjidentificador debe enviarse como texto para conservar ceros iniciales, por ejemplo "001".
El identificador de caja es único por sucursal, no necesariamente por toda la empresa.
La respuesta devuelve el registro base creado, sin el objeto sucursal anidado.