Rate limits Exact Online

Updated by Niek Ressing

Iedere integratiepartij krijgt te maken met rate limits. Deze limieten bepalen hoeveel verzoeken een koppeling mag doen binnen een bepaalde tijdspanne. Het overschrijden van deze limieten kan leiden tot een slecht werkende koppeling.

Op deze pagina lees je wat rate limits zijn, hoe we je koppelingen efficiënt inrichten en wat te doen als je toch de rate limits overschrijdt.

Wat zijn rate limits?

Exact Online is de afgelopen jaren steeds strenger geworden op het aanroepen van hun systemen. Het aanroepen van hun systemen gaat middels een API (Application Programming Interface). Een API is een aparte verbinding, waarmee koppelingen toegang kunnen krijgen tot de data in Exact Online.

De limieten die Exact Online heeft ingesteld zijn van toepassing op deze API. Deze limieten worden ook wel 'rate-limits' genoemd en geven aan hoe vaak een koppeling via die API een verzoek mag doen naar Exact Online op een bepaalde dag. Exact Online heeft bepaald dat koppelingen maximaal 5000 aanroepen per dag mogen doen. Als deze 5000 verbruikt zijn, weigert Exact Online nieuwe verzoeken te accepteren. Na het verstrijken van middernacht wordt het aantal aanroepen weer gereset naar 5000.

Hoe richten wij onze koppeling(en) in?

Om te zorgen dat onze koppelingen onder het maximum blijven, maken we gebruik van 'sync-endpoints'. Deze endpoints heeft Exact Online beschikbaar gesteld om het mogelijk te maken om onder de limiet van 5000 aanroepen te blijven. Een sync-endpoint werkt op basis van een tijdsstempel. Een tijdsstempel wordt door Exact Online berekend op het moment van het wijzigen van data.

Enkele voorbeelden:

  • Wijzigen van de afleverdatum van een order
  • Goederenlevering bijwerken met een track-and-trace code
  • Factuur definitief maken
  • Artikel bijwerken met een nieuwe barcode
  • Adresregel bijwerken

Een sync-endpoint is dus bedoeld voor het 'in sync' houden van de data in Exact Online met de koppeling. Een groot voordeel van het gebruik van sync-endpoints is dat je niet voor iedere nieuwe order alle bestelde artikelen moet opvragen bij Exact Online, maar dat deze al bekend zijn in de koppeling. Hierdoor verspilt de koppeling dus niet onnodige aanroepen richting Exact Online.

Naast sync-endpoints hebben we de volgende maatregelen genomen in de koppeling:

  • Meten - Wij houden het aantal verzoeken vanuit onze koppeling naar Exact Onlie bij. Zo weten we hoeveel verzoeken we doen en kunnen we anticiperen waar nodig.
  • Geoptimaliseerde timing - Naast dagelijkse rate-limits heeft Exact Online ook rate-limits per minuut bepaald. Op het moment van schrijven is dit maximaal 60 per minuut. Om het syncen van data niet boven deze limiet uit te laten komen, syncen we de data van verschillende objecten op verschillende intervallen.

Wat als de rate limits alsnog overschreden worden?

Heb je een compleet geoptimaliseerde koppeling, maar kom je in piekperioden alsnog boven de rate limits uit? Dan kunnen we met een goed onderbouwde analyse op zak een uitzondering aanvragen bij Exact Online. Je koppeling blijft dan gewoon naadloos werken, ook tijdens de piekperioden.

Ga je structureel over de rate-limits heen, dan zul je met Exact in gesprek moeten over een aangepast abonnement.


How did we do?