---
title: "Modelo de productos | Documentación de Ordering.co"
description: "Usa GET /products para descubrir productos entre negocios. La operación pública es Product.all; no declara autenticación a nivel de operación."
canonical: https://docs.ordering.co/es/api-reference/guides/products-model/
---

# Modelo de productos

Usa `GET /products` para descubrir productos entre negocios. La operación pública es `Product.all`; no declara autenticación a nivel de operación.

La consulta de productos sigue una de dos rutas:

- Sin `order_type_id` ni `type`, delega en el comportamiento de listado general de productos.
- Con un tipo de cumplimiento, evalúa la disponibilidad mediante negocios, zonas de entrega, menús, horarios y el estado del producto.

## Parámetros de disponibilidad

- `timestamp` se interpreta como una marca de tiempo Unix cuando está presente.
- `location` usa `LAT,LNG` y debe contener exactamente dos valores numéricos.
- `dropdown_option_id` o `dropdownoption` pueden seleccionar una opción configurada de zona de entrega en lugar de coordenadas.
- `order_type_id` o `type` selecciona el modo de cumplimiento.
- `professional_id` puede delimitar productos para la asignación de profesionales.
- `groupBy=business` cambia el resultado de productos a negocios coincidentes en la rama de disponibilidad.

Los modos de cumplimiento incluyen:

| Valor | Modo                |
| ----- | ------------------- |
| `1`   | `delivery`          |
| `2`   | `pickup`            |
| `3`   | `eatin`             |
| `4`   | `curbside`          |
| `5`   | `driver_thru`       |
| `6`   | `seat_delivery`     |
| `7`   | `catering_delivery` |
| `8`   | `catering_pickup`   |
| `9`   | `reservation`       |

Campos como `offer_rate`, `offer_rate_type` y `offer_include_options` pertenecen al modelo de producto; no son parámetros de consulta de `GET /products`.

El modelo Product contiene muchos campos adicionales de catálogo, inventario, precios, SEO y datos dietéticos, además de otros campos operativos. Usa proyecciones parciales y esquemas específicos de la operación en vez de tratar esta guía como un contrato de respuesta completo.

## Propiedades del esquema

**Esquema:** `Product`

| Nombre                      | Tipo                    | Descripción |
| --------------------------- | ----------------------- | ----------- |
| `allergens`                 | object \| array \| null | —           |
| `barcode`                   | string \| null          | —           |
| `barcode_alternative`       | string \| null          | —           |
| `calories`                  | number \| null          | —           |
| `category_id`               | integer \| null         | —           |
| `cost_offer_price`          | number \| null          | —           |
| `cost_price`                | number \| null          | —           |
| `created_at`                | string \| null          | —           |
| `deleted_at`                | string \| null          | —           |
| `description`               | string \| null          | —           |
| `dietary_tags`              | object \| array \| null | —           |
| `duration`                  | any                     | —           |
| `enabled`                   | boolean \| null         | —           |
| `estimated_person`          | integer \| null         | —           |
| `external_id`               | integer \| null         | —           |
| `featured`                  | boolean \| null         | —           |
| `fee_id`                    | integer \| null         | —           |
| `hide_special_instructions` | boolean \| null         | —           |
| `id`                        | integer \| null         | —           |
| `images`                    | string \| null          | —           |
| `in_offer`                  | boolean \| null         | —           |
| `inventoried`               | boolean \| null         | —           |
| `is_alcohol`                | boolean \| null         | —           |
| `is_hidden`                 | boolean \| null         | —           |
| `load_type`                 | string \| null          | —           |
| `maximum_per_order`         | integer \| null         | —           |
| `minimum_per_order`         | integer \| null         | —           |
| `name`                      | string \| null          | —           |
| `offer_include_options`     | boolean \| null         | —           |
| `offer_price`               | number \| null          | —           |
| `offer_rate`                | number \| null          | —           |
| `offer_rate_type`           | integer \| null         | —           |
| `price`                     | number \| null          | —           |
| `quantity`                  | integer \| null         | —           |
| `rank`                      | number \| null          | —           |
| `seo_description`           | string \| null          | —           |
| `seo_image`                 | string \| null          | —           |
| `seo_keywords`              | string \| null          | —           |
| `seo_title`                 | string \| null          | —           |
| `sku`                       | string \| null          | —           |
| `slug`                      | string \| null          | —           |
| `snooze_until`              | any                     | —           |
| `tax_id`                    | integer \| null         | —           |
| `type`                      | any                     | —           |
| `updated_at`                | string \| null          | —           |
| `upselling`                 | boolean \| null         | —           |
| `weight`                    | number \| null          | —           |
| `weight_unit`               | string \| null          | —           |
