---
title: "Consultar todos los productos"
method: GET
path: "/products"
tags: ["Productos"]
---

# Consultar todos los productos

`GET /products`

## Request

- Base URL: `https://api.pirpos.com`
- URL: `https://api.pirpos.com/products`
- Auth: HTTP bearer

Consulta todos los productos activos del negocio del usuario autenticado.

**Autenticación requerida:** Este endpoint requiere autenticación Bearer Token.
Usar el campo `tokenCurrent` obtenido del servicio de login (/login) en el header:
`Authorization: Bearer {tokenCurrent}`

**Ejemplos de uso:**
- Consultar todos los productos: `GET /products`
- Con paginación: `GET /products?pagination=true&limit=10&page=0`
- Filtrar por categoría: `GET /products?categoryId=507f1f77bcf86cd799439013`
- Buscar por nombre: `GET /products?name=Hamburguesa`
- Incluir ingredientes: `GET /products?includeIngredients=true`
- Productos para Rappi: `GET /products?useInRappi=true`
- Tipos específicos: `GET /products?types=Combo,Subproducto`
- Combinado: `GET /products?pagination=true&limit=20&page=1&categoryId=123&name=Pizza&useInRappi=true`

## Query parameters

- `pagination` boolean
- `limit` integer
- `page` integer
- `includeIngredients` boolean
- `types` string
- `categoryId` string
- `name` string
- `inventoryType` string
- `useInRappi` boolean

## Headers

- `Authorization` string, required

## Response `200`

Lista de productos obtenida exitosamente

- Product[]
  - `_id` string: ID único del producto
  - `business` string: ID del negocio al que pertenece el producto
  - `category` string: ID de la categoría del producto
  - `name` string: Nombre del producto
  - `nameShort` string: Nombre corto del producto
  - `description` string: Descripción del producto
  - `price` number: Precio base del producto (deprecado)
  - `pricePurchase` number: Costo de compra
  - `urlImage` string: URL de la imagen del producto
  - `barcode` string: Código de barras del producto
  - `tax` string: ID del impuesto
  - `promo` string: ID de la promoción
  - `unit` string: ID de la unidad
  - `stock` number: Stock total
  - `stockMinimum` number: Stock mínimo
  - `variablePrice` object: Configuración de precio variable
    - `isVariablePrice` boolean
    - `type` string: MayorValor|MenorValor
  - `locationsStock` object[]: Configuración por ubicación de stock
    - `locationStock` string: ID de la ubicación
    - `stock` number: Stock en la ubicación
    - `stockMinimum` number: Stock mínimo en la ubicación
    - `isMain` boolean: Ubicación principal
    - `pricePurchase` number: Costo de compra en ubicación
    - `avgCost` number: Costo promedio
    - `price` number: Precio en ubicación
    - `tax` string: ID de impuesto (deprecado)
    - `taxes` object[]: Impuestos por ubicación
      - `tax` string: ID del impuesto
      - `valuePerUnit` number: Valor por unidad
      - `required` boolean: Si es requerido
    - `promo` string: ID de promoción
    - `config` object: Configuración de ubicación
    - `waiterOrderArea` string: ID del área de pedidos
  - `ingredients` object[]: Ingredientes (si aplica)
    - `ingredient` string: ID del producto ingrediente
    - `quantity` number
    - `locationStock` string
    - `isForProduction` boolean
    - `discountOnce` boolean
  - `extra` object[]: Productos extra
    - `product` string
  - `accompanying` object[]: Acompañantes
    - `product` string
    - `quantity` number
  - `subProducts` string[]: Subproductos
  - `parent` string: ID del producto padre
  - `weekdays` number[]: Días de la semana (1-7) en que aplica
  - `notes` string[]: Notas del producto
  - `isIngredient` boolean: Si el producto es un ingrediente
  - `isActive` boolean: Si el producto está activo
  - `isSubproduct` boolean: Si el producto es subproducto
  - `discountInventory` boolean: Si descuenta inventario
  - `withoutIngredients` boolean: Si no maneja ingredientes
  - `inventoryType` string: Tipo de inventario (WithIngredients|PerUnit|Mixed|None)
  - `type` string: Tipo de producto (Normal|Subproducto|Ingrediente|Combo)
  - `configCombo` object: Configuración de combos
    - `options` object[]
      - `selectionType` string
      - `name` string
      - `severalOption` object
        - `min` number
        - `max` number
      - `products` object[]
        - `product` string
        - `quantity` number
      - `unlockSelection` boolean
      - `noShowQty` boolean
    - `showInReports` boolean
  - `waiterOrderArea` string: ID del área de pedidos
  - `externalIntegration` object: Integraciones externas
    - `siigo` object
    - `rappi` object
    - `loggro` object
  - `deleted` boolean: Si el producto está eliminado
  - `deletedInfo` object: Información de eliminación
    - `isDeleted` boolean
    - `deletedBy` string
    - `date` string, date-time
  - `modifiedOn` string, date-time: Fecha de última modificación
  - `createdOn` string, date-time: Fecha de creación

## Other responses

- `401`: No autorizado - Token JWT requerido
- `500`: Error interno del servidor

---

[API](https://skmtc.dev/loggro/apis/restobar-servicios-del-m-dulo-de-restobar.md) - [All operations](https://skmtc.dev/loggro/apis/restobar-servicios-del-m-dulo-de-restobar/llms.txt) - [OpenAPI document](https://skmtc.dev/loggro/apis/restobar-servicios-del-m-dulo-de-restobar/revisions/9d4431a3cddc?raw)
