Endpoints / Stock

POST

Crear stock

Registra un nuevo stock para una sucursal y un producto dentro de la empresa del usuario autenticado.

POST/stocks

Caso de Uso

Se usa cuando la aplicación necesita inicializar las existencias de un producto en una sucursal específica, por ejemplo al dar de alta un producto nuevo o al configurar el inventario inicial. Al usarlo, el usuario obtiene los datos del stock creado, incluyendo las relaciones resueltas de sucursal y producto.

Autenticación

Requiere token JWT en el header `Authorization: Bearer <token>`. Permite acceso a usuarios con rol jefe o empleado. La empresa y el usuario autenticado deben estar activos.

Parámetros de ruta

Este endpoint no recibe parámetros de ruta.

Body

stckemidstringobligatorio

Identificador de la empresa a la que pertenecerá el stock; debe coincidir con la empresa del usuario autenticado.

stcksuidstringobligatorio

Identificador de la sucursal donde se registrará el stock; debe existir en la empresa.

stckprdtoidstringobligatorio

Identificador del producto para el que se registrará el stock; debe existir en la empresa.

stckcantidadnumberobligatorio

Cantidad inicial de existencias.

Reglas de negocio

1

Solo un usuario con rol jefe o empleado puede registrar stock.

2

Solo permite crear stock en la misma empresa del usuario autenticado.

3

La empresa del usuario autenticado debe estar activa.

4

El usuario autenticado debe estar activo.

5

Todos los campos del body son obligatorios.

6

stcksuid debe corresponder a una sucursal existente en la empresa.

7

stckprdtoid debe corresponder a un producto existente en la empresa.

8

stckcantidad debe ser un valor numérico válido.

9

No puede existir otro registro de stock para la misma combinación de sucursal y producto.

10

El stock se crea con estado activo.

11

Después de crear el stock, el backend sincroniza automáticamente las alertas de stock bajo.

Errores esperados

401No autorizado

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

500El id de empresa es requerido

stckemid fue enviado vacío.

500El id de sucursal de stock es requerido

stcksuid fue enviado vacío.

500El id de producto de stock es requerido

stckprdtoid fue enviado vacío.

500El número es requerido

stckcantidad fue enviado vacío.

500El valor debe ser un número válido

stckcantidad no es un número válido.

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

stckemid pertenece a una empresa distinta a la del usuario autenticado.

500El usuario no es jefe, empleado o administrador

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

500El usuario no es jefe o empleado

El usuario autenticado no tiene un rol permitido para crear stock.

500El usuario no está activo

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

500La sucursal de stock no existe

stcksuid no corresponde a una sucursal existente en la empresa.

500El producto de stock no existe

stckprdtoid no corresponde a un producto existente en la empresa.

500Ya existe un stock para esta sucursal y producto

Ya hay un registro de stock para la misma combinación de sucursal y producto.

500El stock no fue creado

El stock fue guardado, pero no pudo consultarse para devolver la respuesta.

500Error saving stock

Ocurrió un error interno al guardar el stock.

Notas de uso

1

Este endpoint no recibe parámetros de ruta ni query params.

2

No se puede crear más de un stock para la misma sucursal y producto dentro de una empresa.

3

La creación de stock puede disparar la sincronización de alertas de stock bajo para el producto.

4

La respuesta incluye las relaciones resueltas de sucursal y producto.