---
title: "Consultar productos y subproductos"
method: GET
path: "/products/subproducts"
tags: ["Productos"]
---

# Consultar productos y subproductos

`GET /products/subproducts`

## Request

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

Consulta productos (y opcionalmente subproductos) con filtros por tipo, categoría o datos del producto.
Soporta paginación.

**Autenticación requerida:** Bearer Token.

## Query parameters

- `onlyNormal` boolean
- `onlyProducts` boolean
- `categoryId` string
- `productData` string
- `pagination` boolean
- `limit` integer
- `page` integer

## Headers

- `Authorization` string, required

## Response `200`

Lista de productos/subproductos

- union
  - 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
  - object
    - `data` 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
    - `count` integer

## Other responses

- `401`: No autorizado
- `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)
