Verplichte OData Filters
Exact Online heeft grote wijzigingen aangekondigd per 1 juli. Hieronder valt een verplichting op het meegeven van filters bij API calls op de REST tabel (zoals ExactOnlineREST..Accounts
) en de eventuele *Bulk
tabel (zoals AccountsBulk
) indien er voor dezelfde gegevenssoort ook een sync API bestaat (zoals de slimme versie AccountsIncremental
voor de sync tabel AccountsSync
).
De werknaam hiervoor is “mandatory filtering”.
Het verplicht meegeven van filters is een lastige constructie. Het is onduidelijk of deze verplichting wel zal leiden tot betere programmatuur of alleen workarounds om de beperking te omzeilen. Het is relatief eenvoudig en goedkoop om automatisch triviale filters toe te voegen zoals:
- alle rijen vanaf de guid die tot dusver opgehaald zijn via paging; standaard gebruikt(e) de Exact Online REST API de guid als sorteervolgorde
- alle waardes ongelijk
null
voor een willekeurig verplicht veld - alle bedragen groter dan 0 of groter/gelijk 0.
Individueel benaderen van app eigenaren en het beprijzen van gebruik zou mogelijkerwijs eerder leiden tot de gewenste verbeteringen.
Instelbaar
Op basis van de beschikbare API’s lijkt het er op dat individuele app ontwikkelaars een ontheffing kunnen aanvragen.
De optie EnableMandatoryFiltering
lijkt bedoeld te zijn om per client ID te kunnen aangeven of een OData filter verplicht meegegeven moet worden.
Eventuele ervaringen hierover stellen we op prijs.
Update 23 juli 2021
In release 20.1.497 en nieuwer is logica opgenomen om geen last te hebben van mandatory filtering. Statements hoeven niet aangepast te worden.