Endpoints / Productos
Listar productos
Lista productos de forma paginada, con búsqueda por código o nombre y filtro por estado, dentro de la empresa del usuario autenticado.
/productsCaso de Uso
Se usa cuando la aplicación necesita mostrar una tabla de productos, buscar por código o nombre, o filtrar por estado. Al usarlo, el usuario obtiene una página de resultados con el conteo total de productos de su empresa, incluyendo las relaciones anidadas de categoría, marca, proveedor y medida.
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.
Query params
pagestringobligatorioNúmero de página. Debe ser un entero positivo.
pageSizestringobligatorioCantidad de registros por página. Debe ser un entero positivo.
searchstring opcionalTexto opcional para buscar por prdtocodigo o prdtonombre.
statusstring opcionalEstado del producto. Solo acepta activo o inactivo.
Body
No aplica.
Reglas de negocio
Solo un usuario con rol jefe o empleado puede listar productos.
Solo permite listar productos 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.
Si no se envía status, se excluyen los productos con estado eliminado.
Si se envía status, solo acepta activo o inactivo.
search busca coincidencias parciales en prdtocodigo y prdtonombre.
La respuesta incluye las relaciones resueltas como objetos anidados (categoria, marca, proveedor, medida).
El campo prdtoimagen se devuelve como URL pública completa.
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.
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 productos.
El usuario autenticado no tiene un rol permitido para listar productos.
El usuario autenticado está inactivo y no puede usar el sistema.
Notas de uso
search y status son query params opcionales.
Si no hay resultados para la página solicitada, items se devuelve como arreglo vacío.
El listado está restringido a la empresa del usuario autenticado.
La respuesta ya incluye las relaciones anidadas listas para usar en la interfaz.