Aller au contenu principal

Filtrer les résultats ($filter)

Le modificateur $filter restreint les éléments retournés par une extraction (GET).

Syntaxe de base

GET /api/Entity/Customer?$filter=NomClient eq 'Les entreprises de Jacques'
  • Sous-champs supportés : /api/Entity/Product?$filter=GroupeProduit.CodeGroupe eq 'vêtements'
  • Chaînage avec and : ...$filter=GroupeProduit.CodeGroupe eq 'vêtements' and PrixFinal gt 5.75
  • Numériques avec point décimal ; textes et dates entre apostrophes, dates au format yyyy-MM-dd : $filter=Fiche_DerniereModification gt '2024-02-10'

Les opérateurs

OpérateurAliasSens
EQUALSeqégal
NOTEQUALSnedifférent
GREATERTHANgtplus grand
GREATERTHANEQUALSgeplus grand ou égal
LESSTHANltplus petit
LESSTHANEQUALSleplus petit ou égal
CONTAINScontient (champs textes seulement)
DOESNTCONTAINSne contient pas (champs textes seulement)
IN (liste)indans une liste : NoCompteGL in ('1000','1100','2000')

Attention : tous les champs ne sont pas filtrables partout

Chaque système impose ses restrictions (elles viennent des SDK/API natifs des ERP). Exemples connus côté Acomba (seuls champs filtrables) :

  • Customer : NoClient (eq/in), NoUniqueSystemeSource (eq/in), Fiche_DerniereModification (gt/ge/lt/le)
  • Product : NoProduit, NoUniqueSystemeSource, Fiche_DerniereModification, EstActif
  • GLAccount : NoCompteGL (eq/in), ValeurAuCompte ne 0
  • Factures (CustomerInvoice, SupplierInvoice...) : NoFacture, NoUniqueSystemeSource, Fiche_DerniereModification, DateFacture, EstActif (+ Fournisseur_No sur SupplierInvoice)
  • CustomerInvoicePayment : filtre spécial CUSTOM_FILTER_UNPAID_INVOICES_ONLY

Avantage supporte généralement les opérateurs 1 à 8 (souvent aussi InList) sur les entités principales ; QuickBooks : eq/ne/gt/ge/lt/le avec des limitations propres.

La référence complète est la page « Liste des filtres par système » : https://logiciel.solutioninfomedia.com/erpconnector/liste-des-filtres-par-systeme/ Pour savoir si UN champ précis est filtrable et avec quels opérateurs, la matrice SDK Capabilities fait autorité (outil check_field_support avec op=filter).