Exact Online: is verplicht filteren per client ID instelbaar?

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.