Endpoints / Stock
Listar stocks
Lista stocks de forma paginada para una sucursal específica dentro de la empresa del usuario autenticado, con búsqueda por código o nombre de producto y filtro por estado.
/stocksCaso de Uso
Se usa cuando la aplicación necesita consultar el inventario de una sucursal concreta, buscar productos por código o nombre, o filtrar por estado. Al usarlo, el usuario obtiene una página de resultados con el conteo total de stocks de la sucursal indicada.
Autenticación
Requiere token JWT en el header `Authorization: Bearer <token>`. Permite acceso a usuarios con rol jefe o empleado.
Parámetros de ruta
Este endpoint no recibe parámetros de ruta.
Query params
pagestringobligatorioNúmero de página. Debe ser un entero positivo.
pageSizestringobligatorioCantidad de registros por página. Debe ser un entero positivo.
stcksuidstring opcionalID directo de la sucursal. Prioridad sobre suidentificador.
suidentificadorstring opcionalIdentificador de sucursal (3 dígitos).
searchstring opcionalTexto para buscar por código o nombre de producto.
statusstring opcionalEstado del stock. Solo acepta activo o inactivo.
Body
No aplica.
Reglas de negocio
Solo un usuario con rol jefe o empleado puede listar stock.
Solo permite listar stock de la empresa del usuario autenticado.
La empresa del usuario autenticado debe estar activa.
El usuario autenticado debe estar activo.
page y pageSize son obligatorios y deben ser enteros positivos.
Se requiere stcksuid o suidentificador para filtrar por sucursal.
Si se envían ambos, stcksuid tiene prioridad.
La sucursal debe existir en la empresa.
Si no se envía status, se excluyen los registros con estado eliminado.
search busca en prdtocodigo y prdtonombre.
La respuesta incluye relaciones de sucursal y producto.
Errores esperados
No se envió un token JWT válido o el token no contiene información válida del usuario.
El query param search fue enviado como arreglo en lugar de texto.
El query param status fue enviado como arreglo en lugar de texto.
El query param status tiene un valor distinto de activo o inactivo.
No se envió stcksuid ni suidentificador, o ambos fueron enviados vacíos.
El suidentificador enviado no corresponde a una sucursal existente en la empresa.
page no es un entero positivo o no fue enviado.
pageSize no es un entero positivo o no fue enviado.
La empresa asociada al usuario autenticado no fue encontrada.
La empresa asociada al usuario autenticado 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.
El usuario autenticado intentó acceder a una empresa distinta a la suya.
El rol del usuario no está permitido para acceder al módulo de stock.
El usuario autenticado no tiene un rol permitido para listar stock.
El usuario autenticado está inactivo y no puede usar el sistema.
El stcksuid enviado no corresponde a una sucursal existente en la empresa.
Notas de uso
search y status son opcionales.
Si se envían ambos stcksuid y suidentificador, stcksuid tiene prioridad.
Para listar stocks de todas las sucursales, usa GET /stocks/all.
La respuesta incluye relaciones anidadas de sucursal y producto.