Filtrer avec l'API
Il est possible d’ajouter des filtres à la fin des requêtes API pour préciser les résultats, ou pour rechercher un objet ou liste d’objet précis dans la base de donnée.
Exemple:
xxx.phpcreation.com/api/v3/products?access_token=123&price=10
Recherche
Pour rechercher par terme semblable, on doit spécifier un filtre de recherche.
Modèle:
?champs=valeur
Exemple:
xxx.phpreaction.com/api/v3/brands?access_token=123&price=10&name=shirt
xxx.phpreaction.com/api/v3/brands?access_token=123&supplier[]=1&supplier[]=2&supplier[]=3
Date
Permet de rechercher par dates, en utilisant un range de dates.
Syntaxe:
La valeur dans la requête permet de déterminer si on veut les dates avant ou après la date entré, Inclusivement ou Exclusivement.
- before => Inclut la date entrée, ainsi que toutes les dates antérieures.
- after => Inclut la date entrée, ainsi que toutes les dates ultérieures.
- strictly_before => Seulement les dates antérieures à la date entrée.
- strictly_after => Seulement les dates ultérieures à la date entrée.
Format des dates:
YYYY-MM-DDTHH:mm:ss+z
exemple : 2015-04-28T04:30:23+00:00
Modèle:
?champs[<after|before|strictly_after|strictly_before>]=value
Exemple:
xxx.phpreaction.com/api/v3/brands?access_token=123&createdAt[after]=2018-03-19
Étendu Numérique
Permet de rechercher par nombre, en utilisant un range de nombres (Prix par exemple)
Syntaxe:
La valeur dans la requête permet de filtrer tous les champs situés entre deux nombres inclusivement.
- Il est possible d’utiliser des décimales, avec le point « . »
- Séparer les deux nombres par un double point « .. » pour ne pas confondre avec les décimales.
Modèle:
?champs[between]=X..Y
Exemple:
xxx.phpreaction.com/api/v3/offers?access_token=123&price[between]=12.99..15.99
Ordonner
On peut changer l’ordre dynamiquement par le biais de filtres spéciaux selon la syntaxe qui suit :
Modèle:
?order[champs]=ASC|DESC
Utiliser ASC pour un tri croissant et DESC pour un tri décroissant
Exemple:
xxx.phpreaction.com/api/v3/products?access_token=123?order[id]=ASC
Filtre de propriétés
Il est possible de filtrer les propriétés que l’on souhaite obtenir dans la réponse de la requête.
Pourquoi?
- Simplifier la réponse pour un besoin spécifique
- Avoir un gain de performance si la requête doit être répétée plusieurs fois pour certaines propriétés précises
Modèle:
?properties[]={propriété}
Il est possible de réutiliser le filtre avec une autre propriété pour en sélectionner plusieurs, comme ceci: ?properties[]={propriété}&properties[]={propriété2}
Il est aussi possible de filtrer par une propritété d’une relation comme ceci, où « supplier » est la relation et « code » la propriété que l’on veut filtrer: ?properties[supplier][]=code
Exemple:
xxx.phpreaction.com/api/v3/products?properties[]=id&properties[]=price&properties[supplier][]=code
Filtre de corporation
Il est possible de filtrer les entités par corporation, si votre PHPReaction utilise le multi-compagnie.
Ainsi, il est possible de filtrer que par les entités d’une compagnie précise.
Modèle:
?corporation={ID de la corporation}
Exemple:
xxx.phpreaction.com/api/v3/products?corporation=1