---
title: "Obtener productos de una categoría | Documentación de Ordering.co"
description: "Usa GET /business/{business_id}/categories/{category_id}/products para listar productos de una categoría."
canonical: https://docs.ordering.co/es/api-reference/guides/get-products/
---

# Obtener productos de una categoría

> **API operation:** [Open the endpoint in Scalar](https://docs.ordering.co/es/api-reference/#tag/business/GET/business/{business_id}/categories/{category_id}/products)

Usa `GET /business/{business_id}/categories/{category_id}/products` para listar productos de una categoría. La operación pública actual es `Product.findAll`.

La lectura habitual es pública. Los productos devueltos pueden variar según la visibilidad del negocio y la categoría, el estado habilitado, los horarios, el tipo de pedido, el contexto del menú, la paginación y las relaciones solicitadas.

```javascript
const response = await ordering.businesses(businessId).categories(categoryId).products().get()
```

Esta sintaxis de SDK es histórica. Confirma el paquete y la versión antes de usarla. Consulta [Modelo de producto de negocio](https://docs.ordering.co/es/api-reference/guides/product-model/) para los campos representativos.

## Referencia de OpenAPI

**Operación:** `GET /business/{business_id}/categories/{category_id}/products`

**Parámetros de ruta**

| Nombre        | Tipo    | Obligatorio | Descripción |
| ------------- | ------- | ----------- | ----------- |
| `business_id` | integer | Sí          | —           |
| `category_id` | integer | Sí          | —           |

**Parámetros de consulta**

| Nombre            | Tipo    | Obligatorio | Descripción                                                                                                                                                            |
| ----------------- | ------- | ----------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `params`          | string  | No          | Lista de campos separados por comas. La lista se cruza con $fillable del modelo; si está vacía o no es válida, se devuelven todos los campos.                          |
| `orderBy`         | string  | No          | Campo de ordenamiento, con `-` como prefijo para indicar orden descendente. Se pueden encadenar varios campos separados por comas.                                     |
| `where`           | string  | No          | Filtro en JSON sobre los campos que el modelo declara como filtrables. Los campos válidos de cada recurso se exponen en la extensión de schema `x-ordering-whereable`. |
| `page`            | integer | No          | Número de página, empezando en 1. Solo se aplica a las listas que devuelven un bloque de paginación.                                                                   |
| `page_size`       | integer | No          | Cantidad de elementos por página.                                                                                                                                      |
| `professional_id` | integer | No          | —                                                                                                                                                                      |
| `menu_id`         | integer | No          | —                                                                                                                                                                      |
| `timestamp`       | integer | No          | —                                                                                                                                                                      |
| `type`            | integer | No          | —                                                                                                                                                                      |
| `version`         | string  | No          | —                                                                                                                                                                      |

**Respuestas**

| Código | Descripción                                                                                                                                                                                                                                                                        |
| ------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 200    | Respuesta exitosa. El contenido de `result` varía según la operación y se devuelve como JSON.                                                                                                                                                                                      |
| 400    | Respuesta de error (error=true). Los errores de validación y de negocio comparten este código.                                                                                                                                                                                     |
| 401    | Envelope de error: el proyecto no existe o no tiene una suscripción activa.                                                                                                                                                                                                        |
| 404    | Respuesta vacía: la versión de API solicitada no está admitida.                                                                                                                                                                                                                    |
| 429    | Envelope de error: se excedió un límite de consumo del proyecto (o el sujeto está baneado). Lleva Retry-After y X-RateLimit-Limit/Remaining/Reset/Scope/Key.                                                                                                                       |
| 500    | Respuesta de error: falló la búsqueda o inicialización del proyecto.                                                                                                                                                                                                               |
| 503    | Envelope de error: la aplicación está temporalmente en mantenimiento. Envelope de error: el proyecto está temporalmente en mantenimiento, o los límites de consumo no se pudieron evaluar y el límite aplicable está configurado con on\_error = closed (cabecera Retry-After: 1). |

[Abrir esta operación en la Referencia de la API](https://docs.ordering.co/es/api-reference/#tag/business/GET/business/{business_id}/categories/{category_id}/products)
