Conformément au Swagger de documentation, la syntaxe attendue pour rechercher une entité est :
https://{domaine}/{langue}/api/{version}/{table}/search
Exemple, pour la recherche de clients :
https://app.modulr-courtage.fr/fr/api/1.0/clients/search
Il est possible de fournir un tableau de filtres dont le fonctionnement est générique pour tous les champs de toutes les entités. Voici les filtres possibles et leur forme :
|
Nom |
Valeur |
Effet |
|---|---|---|
|
equal |
string (y compris date)
|
Recherche une valeur strictement identique |
|
!equal |
string (y compris date)
|
Recherche une valeur différente |
|
greater |
string (y compris date)
|
Recherche une plus grande valeur / récente (date) |
|
greater_equal |
string (y compris date)
|
Recherche une plus grande valeur / récente (date) ou égale |
|
lower |
string (y compris date)
|
Recherche une plus petite valeur / ancienne (date) |
|
lower_equal |
string (y compris date)
|
Recherche une plus petite valeur / ancienne (date) ou égale |
|
in |
array |
Recherche parmi les valeurs transmises |
|
!in |
array |
Recherche en excluant les valeurs transmises |
|
in_or_null |
array |
Recherche parmi les valeurs transmises ou sur la valeur est NULL |
|
!in_or_null |
array |
Recherche en excluant les valeurs transmises ou sur la valeur NULL |
|
like |
string |
Recherche une valeur approximative (sur le modèle LIKE ”%valeur%”) |
|
!like |
string |
Recherche une valeur différente (sur le modèle NOT LIKE ”%valeur%”) |
|
null |
boolean |
Recherche uniquement les valeurs nulles ou non nulle |
|
order_by |
string |
Tri les résultats de la requête sur ce champ. Le filtre peut prendre uniquement les valeurs |
Exemple de JSON :
{
"filters": {
"first_name": {
"in": [
"Julien",
"Jean",
"Jérémy"
]
},
"last_name": {
"equal": "Martin"
},
"birth_date": {
"null": true
},
"creation_date": {
"order_by": "DESC"
},
"last_update": {
"greater": "2019-02-20"
}
}
}