Saltar al contenido principal

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ónDescripciónEjemplo
eqIgual a?filter=id eq 1
Devuelve datos cuyo campo id sea igual a 1
neNo igual a?filter=id ne 5
Devuelve datos cuyo campo id sea diferente a 5

Expresiones lógicas

ExpresiónDescripciónEjemplo
andY?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'
orO?filter=id eq 1 or id eq 2
Devuelve datos cuyo campo id sea igual a 1 o 2
notNo?filter=not id eq 1
Devuelve datos cuyo campo id no sea igual a 1

Expresiones para operaciones con números

ExpresiónDescripciónEjemplo
ltMenor que?filter=id lt 5
Devuelve datos cuyo campo id tiene un valor menor a 5
gtMayor que?filter=id gt 5
Devuelve datos cuyo campo id tiene un valor mayor a 5
geMayor o igual que?filter=id ge 5
Devuelve datos cuyo campo id tiene un valor mayor o igual a 5
leMenor 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ónDescripciónEjemplo
startswithEmpieza por?filter=startswith(name, 'José')
?filter=startswith(name, 'José') eq true
Devuelve datos cuyo campo name comienza por 'José'
endswithAcaba en?filter=endswith(name, 'García')
?filter=endswith(name, 'García') eq true
Devuelve datos cuyo campo name acaba en 'García'
containsContiene?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ónDescripciónEjemplo
datetimeFecha?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

Seleccionar los campos que se devolverán