Endpoints / Productos

GET

Obtener producto

Obtiene el detalle completo de un producto por su identificador, dentro de la empresa del usuario autenticado, incluyendo sus relaciones comerciales.

GET/products/:id

Caso de Uso

Se usa cuando la aplicación necesita cargar la información completa de un producto para una vista de detalle, un formulario de edición o una consulta de inventario. Al usarlo, el usuario obtiene los datos del producto con sus relaciones anidadas de categoría, marca, proveedor y medida, más la URL pública de la imagen.

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

idstringobligatorio

Identificador del producto.

Body

No aplica.

Reglas de negocio

1

Solo un usuario con rol jefe o empleado puede consultar productos.

2

Solo permite consultar productos de la empresa del usuario autenticado.

3

La empresa del usuario autenticado debe estar activa.

4

El usuario autenticado debe estar activo.

5

La respuesta incluye las relaciones resueltas como objetos anidados (categoria, marca, proveedor, medida).

6

El campo prdtoimagen se devuelve como URL pública completa.

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 producto es requerido

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

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

500El usuario no es jefe o empleado

El usuario autenticado no tiene un rol permitido para consultar productos.

500El usuario no está activo

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

500Producto no encontrado

No existe un producto con el id indicado dentro de la empresa del usuario autenticado.

Notas de uso

1

Este endpoint no recibe query params ni body.

2

Solo devuelve productos que pertenecen a la empresa del usuario autenticado.

3

La respuesta ya incluye las relaciones anidadas listas para usar en la interfaz.