Filtros
Algunos métodos de las APIs contienen parámetros como filter
o selection
con los que delimitar el conjunto de datos sobre los que operar.
La sintaxis a utilizar en estos casos es el estándar OData. Los nombres de los campos referenciados en estos parámetros son sensibles a letras mayúsculas y minúsculas. A continuación, se detalla los conectores básicos de esta sintaxis.
Expresiones comunes
Expresión | Descripción | Ejemplo |
---|---|---|
eq | Igual a | ?filter=id eq 1 Devuelve datos cuyo campo id sea igual a 1 |
ne | No igual a | ?filter=id ne 5 Devuelve datos cuyo campo id sea diferente a 5 |
Expresiones lógicas
Expresión | Descripción | Ejemplo |
---|---|---|
and | Y | ?filter=id eq 1 and name eq 'jose' Devuelve datos cuyo campo id sea igual a 1 y el campo name sea igual a 'jose' |
or | O | ?filter=id eq 1 or id eq 2 Devuelve datos cuyo campo id sea igual a 1 o 2 |
not | No | ?filter=not id eq 1 Devuelve datos cuyo campo id no sea igual a 1 |
Expresiones para operaciones con números
Expresión | Descripción | Ejemplo |
---|---|---|
lt | Menor que | ?filter=id lt 5 Devuelve datos cuyo campo id tiene un valor menor a 5 |
gt | Mayor que | ?filter=id gt 5 Devuelve datos cuyo campo id tiene un valor mayor a 5 |
ge | Mayor o igual que | ?filter=id ge 5 Devuelve datos cuyo campo id tiene un valor mayor o igual a 5 |
le | Menor o igual que | ?filter=id le 5 Devuelve datos cuyo campo id tiene un valor menor o igual a 5 |
Rango de selección | ?filter=id gt 5 and id lt 10 /Devuelve datos cuyo campo id tiene un valor entre 6 y 9 |
Expresiones para operaciones con textos
Expresión | Descripción | Ejemplo |
---|---|---|
startswith | Empieza por | ?filter=startswith(name, 'José') ?filter=startswith(name, 'José') eq true Devuelve datos cuyo campo name comienza por 'José' |
endswith | Acaba en | ?filter=endswith(name, 'García') ?filter=endswith(name, 'García') eq true Devuelve datos cuyo campo name acaba en 'García' |
contains | Contiene | ?filter=contains(name, 'Francisco') ?filter=contains(name, 'Francisco') eq true Devuelve datos cuyo campo name contiene el texto Francisco |
Expresiones para operaciones con fechas
Expresión | Descripción | Ejemplo |
---|---|---|
datetime | Fecha | ?filter=creationDate gt datetime'2023-03-31' Devuelve datos cuyo campo creationDate sea posterior al 31-03-2023 |
Atención
- Los valores de texto se han de delimitar por comillas simples
- Los valores numéricos no es necesario delimitarlos
- Los valores de fecha deben indicarse en el formato: aaaa-mm-dd
Ejemplo
curl --location 'https://a3api.wolterskluwer.es/a3factura/api/customers?filter=creationDate%20gt%20datetime%272023-03-31%27' \
--header 'Authorization: Bearer eyJhbGciOiJIUzUxMiIsInR5...' \
--header 'Ocp-Apim-Subscription-Key: 15c7e75450ef52c' \
--header 'Api-Version: 2.0' \
--header 'Content-Type: application/json'
Devuelve los clientes cuya fecha de creación sea posterior al 31 de marzo de 2023 00h:00m