Een veel gestelde vraag betreft limiet, REST API en Ontwikkelaars


Wat zijn de limieten van de Exact Online API?

Exact Online zal vanaf 1 juli de limieten laten gelden. Brixxs is gecertificeerd partner en heeft bij vele klanten de oplossingen aangepast zodat rekening wordt gehouden met de Exact online limieten. Wil je ondersteund worden, en wil je snel kunnen schakelen, neem dan contact met ons op!

Exact Online bouwt  aan een ecosysteem waarin de klanten kunnen uitbreiden met integratiediensten. Ontwikkelaars zijn een belangrijk onderdeel van dat ecosysteem. Ze worden voortdurend geïnspireerd door hoe u de Exact Online API op innovatieve manieren gebruikt. Naarmate het ecosysteem groeit, moeten ze stappen ondernemen om de betrouwbaarheid en stabiliteit van onze gemeenschap te waarborgen, aangezien Exact Online nogal wat integratiediensten heeft gezien die gebruik maken van een extreem hoog volume aan verzoeken.

Er zullen rate-limits worden toegepast op API-calls om dit soort gedrag onder controle te houden. Deze limieten worden toegepast op beide soorten Exact Online API-calls: XML webservice en REST API. Na 1 januari 2019 kunnen ze de beschikbaarheid van deze integratiediensten voor uw app niet meer garanderen wanneer de app de rate-limits overschrijdt.

Deze wijziging stelt Exact Online in staat om de focus te houden en de verplichtingen tegenover de ontwikkelaars na te komen.

 

API-rate-limits

Integratiediensten zullen worden beperkt door twee rate-limits toe te passen:

Minimale limiet – uw app kan 60 API-calls voeren, per bedrijf, per minuut.
Dagelijkse limiet – uw app kan 50.000 API-calls voeren, per bedrijf, per dag.

Beide rate-limits beperken het aantal verzoeken dat uw app gedurende een tijdvenster mag verzenden. Elke limiet heeft een specifiek gedrag wanneer deze wordt overschreden.

 

Minuten limiet

Als uw app de minutely limit voor een bedrijf overschrijdt, zullen alle extra verzoeken in dezelfde minuut worden afgewezen.

Als u bijvoorbeeld 40 verzoeken in de eerste seconde verstuurt en 20 verzoeken in de volgende seconde, worden volgende verzoeken gedurende de resterende 58 seconden geweigerd.

Laten we zeggen dat u een minutely limit van 60 oproepen per minuut heeft. U stuurt 40 verzoeken om 19:37:00 uur en 20 verzoeken om 19:37:01 uur. Alle volgende verzoeken worden dan gedurende de volgende 58 seconden tot 19:37:59 uur geweigerd.

Niet-toegestane verzoeken zullen worden afgewezen met een HTTP 429 (Too Many Requests) antwoord. Elk antwoord op een API-call met een bedrijfscode (ook bekend als een divisiecode) in de URL zal terugkeren met twee headers om u te helpen de minutieuze limiet bij te houden.

Header naam Omschrijving
X-RateLimit-Minutely-Limit Het maximale aantal API-oproepen dat uw app per bedrijf per minuut mag doen.
X-RateLimit-Minutely-Remaining Het resterende aantal API-oproepen dat uw app voor een bedrijf mag doen, per minuut.

 

Dagelijkse limiet

Zodra uw app de dagelijkse limiet voor een bedrijf overschrijdt, zullen de API-oproepen van uw app voor dat bedrijf worden afgewezen en ontvangt u een HTTP 429 (Too Many Requests) antwoord dat vergelijkbaar is met de minutieuze limiet. Uw app kan nog steeds verzoeken versturen voor andere bedrijven.

Elk antwoord op een API-oproep met een bedrijfscode (ook wel divisiecode genoemd) in de URL zal terugkomen met drie headers om u te helpen de dagelijkse limiet bij te houden.

Header naam Omschrijving
X-RateLimit-Limit Het maximale aantal API-calls dat uw app per bedrijf, per dag mag doen.
X-RateLimit-Remaining Het resterende aantal API-calls dat uw app voor een bedrijf mag doen, per dag.
X-RateLimit-Reset Het tijdstip waarop het rate-limit–window in UTC-tijdperk milliseconden wordt gereset.

 

Ga niet door met het maken van API-calls als u de daglimiet heeft bereikt, want deze zullen worden geweigerd totdat het tarieflimietvenster aan het begin van de volgende dag wordt gereset.

Aanvraag URL’s die geen bedrijfscode hebben worden niet geteld als de daglimiet. Bijvoorbeeld: …/api/v1/current/Me.

 

Dagelijks limiet downgrade plan

In de loop van het jaar wil Exact Online de daglimiet verlagen van 50000 naar 5000 aanvragen per bedrijf. Het schema hiervoor is nog onbeslist.

 

Tips en trucs om te voldoen aan de API-tariefgrenzen

We raden u aan om de documentatie van de ontwikkelaars door te nemen en de Exact Online API-specialisten kunnen u ook helpen met eventuele vragen.

Exact Online heeft een aantal van de integratie cases opgevolgd en hebben ontdekt dat de Exact Online API niet altijd optimaal wordt gebruikt. Bijvoorbeeld, continue polling, het toepassen van foute filters en het oneindig veel opnieuw proberen van een aanvraag als er een fout optreedt. Hier zijn enkele tips en trucs die u kunnen helpen:

Log alle API-calls die u maakt in de Exact Online API. U kunt dan het verkeer vanuit uw app monitoren en uw resultaten vergelijken met die van ons.
Verbeter uw app met een teller voor het aantal verzoeken per bedrijf dat in de laatste 60 seconden is verzonden, zodat u de stroom van verzoeken kunt controleren en voorkomen dat u de minutieuze limiet raakt.
Start niet de OAuth-flow voor elke API-call. Toegangspunten zijn 10 minuten geldig en refresh tokens zijn geldig tot de volgende verversing.
Cache API-responses als u veel hergebruik verwacht. Probeer niet bij elke pagina die wordt geladen API-calls te initiëren, maar start zelden API-calls en laadt de reactie in een lokale cache.
Pollen is minder nodig, omdat Exact Webhooks biedt voor veel eindpunten. Zie Exact Online Webhooks. Zijn de eindpunten die u nodig heeft niet beschikbaar? Vertel ons uw wensen via een idee-aanvraag in de Developer Community Portal (meld u aan met uw App Centre partneraccount).
Geef actieve gebruikers prioriteit en vraag alleen gegevens op voor gebruikers die zich recentelijk hebben aangemeld bij uw app.
Is het nodig om alle gegevens op te vragen? Of is het mogelijk om alleen gewijzigde gegevens op te vragen? Het toepassen van een filter en het selecteren op elke API aanvraag is geweldig, maar valideer de filtertechniek op basis van uw logboekresultaten. Zorg ervoor dat uw tijdstempel, status of een andere transactiewijziging correct wordt bijgewerkt binnen uw integratieservice.
Valideer uw foutproces. Als de Exact Online API een foutmelding geeft, moet de integratieservice het verzoek niet voor altijd opnieuw proberen. U kunt een schema toepassen om het opnieuw te proberen met exponentieel groeiende intervallen en een maximaal aantal opvragingen. Nogmaals, uw logboekresultaten zullen u helpen.

 

API-limieten met ingang van 1 juli 2021

Exact Online stelt per 1 juli 2021 extra limieten aan de API. Exact Online verwerkt momenteel meer dan 20 miljoen API-verzoeken per dag. Deze wijzigingen zijn nodig om platformstabiliteit en API-efficiëntie te garanderen en om de klantervaring te verbeteren.

De volgende limieten gaan in op 1 juli 2021:

Maximaal 200 token-eindpuntaanroepen per API-sleutel, per gebruiker, per dag. U mag niet vaker dan eens per 10 minuten een nieuw toegangstoken aanvragen.

Niet meer dan 10 fouten per API-sleutel, per gebruiker, per bedrijf, per eindpunt en per uur. Wanneer u deze limiet overschrijdt, wordt uw API-sleutel tijdelijk geblokkeerd voor het doen van verdere verzoeken. De blokkering wordt na een uur automatisch opgeheven en zal geleidelijk toenemen als je doorgaat met het maken van deze fouten.

Verplichte filtering op enkele en bulk-endpoints waar synchronisatie-API’s beschikbaar zijn.Exact Online heeft synchronisatie-API’s beschikbaar om acties op grotere sets gegevens mogelijk te maken zonder API-limieten tegen te komen. Zie API-typen om uw API-aanroepen efficiënter te maken voor meer informatie.

De bovenstaande limieten komen bovenop de volgende API-limieten die al van kracht zijn sinds 1 januari 2021:

Nieuwe apps worden direct beperkt tot 5.000 API-aanroepen per app, per bedrijf, per dag. De shaping-limiet is 60 API-aanroepen, per bedrijf, per minuut.
Op basis van het fair use-beleid zullen we corrigerende maatregelen nemen door uw app te beperken als de limiet te veel wordt overschreden. Enkele voorbeelden van buitensporige acties zijn; elke dag herhaaldelijk downloaden van ongewijzigde gegevens, inlogpogingen op inactieve accounts en overbelasting van het tokenendpoint. Brixxs kan u helpen om deze limieten te implementeren.

 

Bron : Wat zijn de limieten van …

Veel gestelde vragen over Ontwikkelaars

Exact Online heeft deze limiet slechts voor een klein aantal integratiediensten gevalideerd. U kunt uw integratiedienst optimaliseren door “best practices” op het gebied van API-ontwerp toe te passen.

Entiteiten zijn gekoppeld aan andere gerelateerde entiteiten in de Exact Online database. Met OData kan dezelfde relatie worden blootgelegd. Hoewel het niet voor alle Exact Online entiteiten wordt ondersteund, hebben sommige een verplichte relatie. Denk aan de kop- en lijnstructuur van een financiële transactie. Deze worden aangegeven als collecties binnen de REST API Referentie documentatie.

Het metadata document vermeldt alle beschikbare URI’s binnen een service. U kunt dit document opvragen door een verzoek in te dienen bij een dataservice die de optie $metadata bevat. Voor de Exact Online REST API moet u eerst het bedrijf identificeren om toegang te krijgen tot een dataservice. U moet de lijst met alle beschikbare dataservices raadplegen zoals vermeld in de REST API Referentiedocumentatie.

Exact Online zal vanaf 1 juli de limieten laten gelden. Brixxs is gecertificeerd partner en heeft bij vele klanten de oplossingen aangepast zodat rekening wordt gehouden met de Exact online limieten. Wil je ondersteund worden, en wil je snel kunnen schakelen, neem dan contact met ons op!

Exact Online bouwt  aan een ecosysteem waarin de klanten kunnen uitbreiden met integratiediensten. Ontwikkelaars zijn een belangrijk onderdeel van dat ecosysteem. Ze worden voortdurend geïnspireerd door hoe u de Exact Online API op innovatieve manieren gebruikt. Naarmate het ecosysteem groeit, moeten ze stappen ondernemen om de betrouwbaarheid en stabiliteit van onze gemeenschap te waarborgen, aangezien Exact Online nogal wat integratiediensten heeft gezien die gebruik maken van een extreem hoog volume aan verzoeken.

Om de stabiliteit en beschikbaarheid van Exact Online te garanderen, worden er enkele beperkingen toegepast op de XML-API, afhankelijk van het type aanvraag (Export of Download)

Om de stabiliteit en beschikbaarheid van Exact Online te garanderen, worden er enkele beperkingen toegepast op de XML-API, afhankelijk van het type aanvraag (Import of Upload)

Als u uw app in het App Centre wilt publiceren en een App Centre partner wilt worden, moet u een aantal extra taken uitvoeren in het tabblad Get published.

Om de code op te halen, voert u de volgende GET-aanvraag uit op deze locatie: ../api/v1/current/Me?$select=CurrentDivision

Het volgende is een voorbeeld van hoe u filtering kunt gebruiken in een API-verzoek. Voer het volgende GET-verzoek uit om een account-ID op te halen uit de lijst van afdeling 7095 van het account.nn