Koppeling met Exact Online
Exact Online heeft een uitgebreide API, met een paar regels die het ontwerp van uw koppeling bepalen.
Hoe u toegang krijgt
Een koppeling met Exact Online begint met een app. Die registreert u in het App Center, onder Beheer en Apps, en u kiest daarbij of hij openbaar is of alleen voor uzelf. Exact geeft u dan een client-id en een client secret, en u legt vast naar welk adres Exact de bezoeker terugstuurt na het inloggen.
Daarna loopt de aanmelding via OAuth 2.0. Uw software stuurt de gebruiker naar Exact, de gebruiker logt daar in en geeft toestemming, en uw software krijgt een sleutel terug die na verloop van tijd vernieuwd moet worden. Uw software ziet het wachtwoord van de gebruiker dus nooit.
Zolang Exact uw app niet heeft beoordeeld, werkt hij alleen met gebruikers uit de Exact-omgeving waarin hij is aangemaakt. Voor een koppeling met uw eigen administratie maakt u de app daarom aan in uw eigen Exact-omgeving. Moet de koppeling ook bij andere bedrijven werken, dan laat u Exact de app eerst beoordelen.
Exact gebruikt per land een eigen adres. Een Nederlandse administratie benadert u op het Nederlandse adres, en dat is een ander adres dan het Belgische of het Duitse. Hebt u administraties in meerdere landen, dan moet het ontwerp daar rekening mee houden.
De limieten die het ontwerp bepalen
Exact Online staat per app en per administratie 60 aanroepen per minuut toe, en 5.000 per dag. Alle apps samen mogen per Exact Online-contract 20.000 aanroepen per dag doen; met een Premium-abonnement vervalt de daggrens per app en is het totaal 30.000. De dagteller staat aan het begin van de volgende dag weer op nul. Is de limiet bereikt, dan weigert Exact verdere verzoeken met statuscode 429.
Een koppeling die elk kwartier vraagt of er iets veranderd is, gebruikt daarvoor alleen al 96 aanroepen per dag; haalt hij daarna per gevonden factuur ook de klant en de regels op, dan kost elke factuur meerdere aanroepen.
Laat Exact daarom via webhooks melden wat er veranderd is, in plaats van er steeds zelf naar te vragen, en haal wat u nodig hebt op in zo min mogelijk verzoeken.
Hoeveel aanroepen een order uit een productconfigurator kost, staat in het artikel over productconfigurators en Exact Online.
Waar u vooraf rekening mee houdt
Vier eigenschappen van de Exact-API horen vanaf het begin in de planning.
- Elke aanroep hoort bij een divisie, het administratienummer binnen Exact. Hebt u meerdere administraties, dan moet uw software weten welke het betreft en moet de gebruiker die kunnen kiezen
- De klant bij een factuur haalt u met een aparte aanroep op, en die telt mee voor het dagplafond
- Per verzoek krijgt u een beperkt aantal records terug, waarna u de volgende pagina opvraagt. Grote hoeveelheden gegevens ophalen kost dus altijd een reeks verzoeken
- Het afletteren van betalingen tegen facturen heeft geen eigen ingang in de REST-API. Wilt u dat automatiseren, dan wordt die logica in de koppeling zelf gebouwd op basis van de onderliggende gegevens
Bronnen
Veelgestelde vragen
Is API-toegang bij elk Exact Online-abonnement inbegrepen?
Een eigen app aanmelden en aan uw Exact Online-omgeving koppelen is volgens de voorwaarden van Exact kosteloos. Wat de koppeling kan lezen en schrijven, bepalen uw pakket en de rechten van de gebruiker die de koppeling toestemming geeft, want niet elk onderdeel van de API is bij elk pakket beschikbaar. Controleer dat daarom samen met uw Exact-beheerder of uw accountant voordat er iets gebouwd wordt.
Wie moet de app aanmaken, wij of jullie?
Dat kan allebei. Maakt u hem zelf aan, dan blijft de sleutel van u en kunt u de toegang op elk moment intrekken. Dat heeft onze voorkeur, en wij lopen de stappen met u door.
Hoe lang duurt de beoordeling door Exact?
Die termijn bepaalt Exact. Zet de beoordeling daarom op de planning zodra vaststaat dat de koppeling bij meerdere klanten moet werken.
Wat gebeurt er als we het dagplafond bereiken?
Exact weigert dan verdere verzoeken tot middernacht. Een koppeling die daarop is ingericht, zet het werk in een wachtrij en gaat de volgende dag verder, zonder dat er gegevens verloren gaan.
Werkt dit ook met Exact Globe of Exact Compact?
Dat zijn andere producten, die op uw eigen server zijn geïnstalleerd in plaats van in de cloud. Een koppeling is mogelijk, maar via een andere weg dan hier beschreven. Als u het in de kennismaking noemt, zoeken wij uit wat daarvoor nodig is.