---
title: "Filtrado | Documentación de Ordering.co"
description: "Los endpoints que devuelven colecciones pueden producir conjuntos de datos grandes."
canonical: https://docs.ordering.co/es/api-reference/guides/filtering/
---

# Filtrado

Los endpoints que devuelven colecciones pueden producir conjuntos de datos grandes. Usa el parámetro de consulta `where` para limitar los resultados a registros cuyos campos coincidan con tus condiciones.

`where` se envía como JSON codificado en el valor del parámetro de consulta. Solo se aplican los campos declarados como filtrables por el recurso de destino. Consulta el esquema de la operación para conocer sus campos actuales `x-ordering-whereable`.

## Igualdad y varios valores

Un objeto JSON aplica condiciones de igualdad. Varias propiedades se combinan con `AND`.

```json
{
  "city_id": 1,
  "enabled": true,
  "level": [2, 3]
}
```

Un valor de arreglo coincide con cualquiera de los valores enumerados para el mismo atributo. Este ejemplo solicita los pedidos `2`, `3` y `5` mientras limita los campos devueltos:

```bash
curl --get 'https://api.ordering.co/v400/en/demo/orders' \
  --data-urlencode 'where={"id":[2,3,5]}' \
  --data-urlencode 'params=id,business_id,customer_id'
```

Usa las credenciales apropiadas para la operación seleccionada. El ejemplo las omite intencionalmente.

## Condiciones de comparación

Usa la forma de arreglo para asociar un objeto de comparación con un campo. El contrato heredado documenta `=`, `!=`, `>`, `<`, `>=`, `<=` e `ilike`; el soporte puede depender del campo y del endpoint.

```json
[
  {
    "attribute": "id",
    "value": {
      "condition": ">=",
      "value": 100
    }
  },
  {
    "attribute": "status",
    "value": [1, 2]
  }
]
```

Los objetos de este arreglo se combinan con `AND`.

## Grupos anidados `AND` y `OR`

La forma anidada acepta `conditions` y la clave literal de contrato `conector`. Conserva esa ortografía en los datos de solicitud.

```json
{
  "conditions": [
    {
      "attribute": "enabled",
      "value": true
    },
    {
      "conector": "AND",
      "conditions": [
        {
          "attribute": "level",
          "value": 2
        },
        {
          "attribute": "city_id",
          "value": 1
        }
      ]
    }
  ],
  "conector": "OR"
}
```

Esto representa `enabled = true OR (level = 2 AND city_id = 1)`.

## Sintaxis de SDK heredado

La guía archivada del SDK de la API de Ordering usaba un helper `where()`:

```javascript
const where = [
  {
    attribute: 'id',
    value: {
      condition: '=',
      value: [2, 3, 5]
    }
  }
]

const response = await ordering.orders().where(where).get()
```

Confirma el paquete y la versión del SDK antes de usar este helper. El contrato HTTP de `where` descrito arriba es el contrato de integración mantenido.
