Endpoints / Stock

PATCH

Actualizar stock

Actualiza parcialmente la cantidad o el estado de un stock existente, dentro de la empresa del usuario autenticado.

PATCH/stocks/:id

Caso de Uso

Se usa cuando la aplicación necesita ajustar manualmente la cantidad disponible de un producto en una sucursal, o cambiar su estado operativo. Al usarlo, el usuario obtiene los datos del stock actualizado con 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.

Parámetros de ruta

idstringobligatorio

Identificador del stock a actualizar.

Body

stcksuidstringobligatorio

Identificador de la sucursal; debe existir en la empresa y coincidir con la sucursal real del stock.

stckcantidadnumber opcional

Nueva cantidad de existencias.

stckestadostring opcional

Nuevo estado del stock; acepta activo, inactivo o eliminado.

Reglas de negocio

1

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

2

Solo permite actualizar stock de la empresa del usuario autenticado.

3

La empresa del usuario autenticado debe estar activa.

4

El usuario autenticado debe estar activo.

5

stcksuid es obligatorio y debe corresponder a una sucursal existente en la empresa.

6

El id de la ruta y el stcksuid del body deben coincidir con la sucursal real del stock.

7

No se permite cambiar el producto asociado al stock mediante este endpoint.

8

Un stock con estado eliminado no puede actualizarse.

9

Debe enviarse al menos stckcantidad o stckestado con un valor diferente al actual.

10

Si se envía stckcantidad, debe ser un número válido.

11

Si se envía stckestado, solo puede ser activo, inactivo o eliminado.

12

Después de actualizar, 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.

400El id de stock es requerido

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

400El id de sucursal de stock es requerido

No se envió stcksuid en el body.

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.

500El estado de stock es requerido

stckestado fue enviado vacío.

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

stckestado tiene un valor no permitido.

500Al menos un campo es requerido para actualizar el stock

No se envió ningún campo editable o todos los valores enviados son iguales a los actuales.

500Stock no encontrado

El stock no existe dentro de la empresa del usuario autenticado, o no coincide con la sucursal enviada.

500El stock eliminado no puede ser actualizado

El stock existe, pero está en estado eliminado.

500La sucursal de stock no existe

stcksuid no corresponde a una sucursal existente en la empresa.

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 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 stock.

500El usuario no es jefe o empleado

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

500El usuario no está activo

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

Notas de uso

1

Este endpoint no recibe query params.

2

stcksuid es obligatorio y debe coincidir con la sucursal real del stock.

3

No se puede cambiar el producto del stock mediante este endpoint.

4

stckestado permite el valor eliminado para eliminación lógica.

5

La actualización puede disparar la sincronización de alertas de stock bajo.