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.
{
"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:
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.
[
{
"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.
{
"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():
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.