Filtres de recherche (API)
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"
}
}
}