Skip to content

Notions utiles

petimalo edited this page Nov 22, 2021 · 47 revisions

Définitions des champs usuels

Filters

La recherche filtrée s'effectue grâce à la structure filters.

Remarque, si on filtre sur plusieurs champs lors d'un appel WS, on a la notion de ‘ET’ entre les différents filtres. Si on veut filtrer sur plusieurs champs avec la notion de 'OU', il faut faire différents appels WS.

Ce champ prend un objet au format JSON. La syntaxe de cet objet est la suivante : {"field": {"value": "valeur recherchée", "matchMode": "equals"}}

La propriété field doit correspondre à une propriété de l'entité recherchée. Par exemple sur les clients, ça peut-être « email » ou « codeClient ».

Remarque : il est possible qu'une propriété field soit présente sur plusieurs entités recherchées. Par exemple, creation commun aux clients et aux adresses, donc pour différencier sur quelle table on veut pointer, on préfixe : c.creation pour faire référence aux clients ou adr.creation pour faire référence aux adresses. Cf rechercheClient.php l'exemple sur la recherche sur une date.

La propriété matchMode peut prendre comme valeur equals(pour une recherche stricte), _contains_ou startsWith ou range (pour une recherche sur les dates).

Il est possible de renseigner plusieurs conditions de recherche : {"field1": {"value": "valeur recherchée", "matchMode": "equals"}, "field2": {"value": "autre valeur recherchée", "matchMode": "contains"}}

Remarque : la notion de or entre 2 filtres différents (‘email’ et ‘codeClient’ par exemple) n’existe pas sur nos WS. Pour répondre à ce besoin, il faut faire 2 appels WS différents.

Utilisation du +equals pour la notion de and pour un même filtre :

{\"montantTtc\": {\"value\": [0,1,2], \"matchMode\" : \"equals\"}} => montantTtc = 0 ou 1 ou 2

{\"montantTtc\": {\"value\": [0,1,2], \"matchMode\" : \"+equals\"}} => montantTtc = 0 et 1 et 2

Liste des MatchModes

utilisation php simbole corespondant signification exemple
equals == XXX vérifie les valeurs qui sont identique a la valeur rechercher matchModeEquals.php
contains like %XXX% vérifie les valeur qui contienne la suite de caractère rechercher matchModeContains.php
endsWith like %XXX vérifie les valeurs qui finissent comme la suite de caractère rechercher matchModeEndsWith.php
startsWith like XXX% vérifie les valeurs qui commencent comme la suite de caractère rechercher matchModeStartsWith.php
range between / <= / >= vérifie que la valeur est soit comprise entre les bornes, soit inferieur ou égal, soit supérieur ou égal a une borne matchModeRange.php

maxResults

Ce champ est généralement obligatoire et limité à une valeur maximum de 100.

sortOrder / sortField

Ces 2 champs sont à utiliser ensemble.

sortOrder: Ce champ prend 1 ou -1, pour trier respectivement par valeur croissante ou décroissante.

sortField: Ce champ permet de filtrer sur la colonne désignée.

Clone this wiki locally