Meer algemene informatie over deze melding is te vinden op "Je app overschrijdt de nieuwe API-limieten in Exact Online" en Impact Exact Online API aanpassingen 1 juli 2021.
In dit geval gaat het om een client registratie gebruikt met Invantive Data Hub.
Het slechte nieuws allereerst is dat op basis van de huidige situatie wij er van uit gaan dat aanpassingen nodig zullen zijn, maar die zijn niet in te schatten of te bepalen. Ook gaan we er van uit dat Exact Online gebruikers vanaf 1 juli geconfronteerd kunnen worden met een langdurige productiestop op basis van de huidige aanpak. De gekozen aanpak zal naar onze verwachting tot problemen leiden, maar we bepalen de aanpak niet.
Wel zijn wat algemene adviezen te geven specifiek ingaand op de twee elementen, maar nogmaals: doordat het niet herleidbaar of analyseerbaar is is het niet mogelijk om de zeker goede stappen te zetten.
Er zal geen release komen voor 1 juli die deze punten adresseert.
Vraag geen nieuwe access tokens aan binnen 570 seconden
Data Hub wordt gebruikt met refresh tokens die niet vervallen (zie bijvoorbeeld Itgenoda219 op Exact Online: Error "Old refresh token used." bij verbinden). Daardoor kan Data Hub tegelijkertijd of kort na elkaar meerdere keren draaien.
Er is de indruk dat als twee Data Hub jobs kort na elkaar of gelijktijdig draaien, dat dit leidt tot deze melding omdat de individuele jobs zelf een nieuw access token aanvragen. Het maakt daarbij niet uit of de jobs op dezelfde server of verschillende servers draaien.
Enkele workarounds die mogelijkerwijs helpen:
- Maak per job een aparte Exact Online user aan en gebruik een apart refresh token voor die user per job.
- Verspreid jobs in de tijd zodat er tenminste 10 minuten zit tussen het einde van de vorige job en de start van een nieuwe job.
Niet meer dan 10 fouten per API-sleutel, per gebruiker, per administratie, per endpoint en per uur
De melding over fouten per API-sleutel is niet herleidbaar. De oorzaak is onbekend, in de tracefiles komen deze niet naar voren, op basis van onze ervaring is er geen reden te verzinnen en er is geen lijst van welke fouten veroorzaakt zouden worden. Hiervoor hebben we geen oplossing.