Exact Online API rechten van een user op specifieke endpoint

Het klinkt alsof het meteen zou moeten werken.

Voor REST API’s geldt dat je geen data terugkomt als er geen rechten zijn.

Voor de Exact Online XML API’s wordt onderwater een foutmelding teruggegeven. Deze wordt niet getoond als de Exact Online driverattribuut ignore-xml-no-access-errors op true staat. Dit is de standaardinstelling sinds 20.1. Op versie 20.0 werd dus ook een foutmelding getoond.

Het lijkt er al met al op dat de rechten ontbreken.

De rechten op de Exact Online API bepaal je via de volgende stappen:

  1. Heeft de abonneehouder rechten op de module (bijvoorbeeld “Handel”)?
  2. Heeft de gebruiker rechten op de module?
  3. Bevat de administratie gegevens?
  4. Heeft de app (“client”) rechten op de “scope” van de module?
  5. De gebruiker heeft rechten als deze vragen met “ja” beantwoord zijn.

In de volgende tekst staan per stap aanvullende uitleg.

Rechten Abonneehouder

De abonneehouder heeft hier duidelijk rechten binnen het abonnement. Men kan ze blijkbaar invoeren.

Rechten Gebruiker

Ook de Exact Online gebruiker heeft rechten begrijp ik uit de tekst. Men kan ze blijkbaar invoeren en zien.

Juiste Administratie

Dit zou nog een verschil kunnen veroorzaken. Het kan zijn dat de inkoopfacturen in een andere administratie van Exact zitten. Controleer in sessionios@datadictionary in het Query Tool of zowel de interactieve user als de applicatie dezelfde administratie gebruiken, herkenbaar aan Division in de URL.

Controleer ook dat de app rechten heeft op de administratie zoals hier beschreven. In principe zou je een foutmelding moeten krijgen, maar de functionaliteit voor “division scoping” is nog relatief nieuw en er zullen geheid nog wat foutjes in zitten.

App Rechten

Tenslotte heeft Exact in 2020 data scoping ingeschakeld. Je hoort een foutmelding te krijgen als je data uitleest via de REST API waar de app (“client”) geen rechten op heeft, maar goed… Controleer op https://apps.exactonline.com na aanmelden via “Mijn apps” de instellingen van de applicatie:

Deze app (https://valuta-tools.nl) mag in Nederland bijvoorbeeld wisselkoersen (“currencies” is beetje foute keus qua naamgeving) lezen EN schrijven:

Rechten via REST API opvragen

De rechten kunnen ook opgevraagd worden via een drietal tabellen:

Echter, de ervaring leert dat deze API’s nog niet rijp zijn voor serieus productiegebruik. Het gebruik raden we daarom niet aan.

Daarnaast gebruikt men vaak de (wel stabiele) Settings tabel om uit te vragen welke modules actief zijn en de AvailableFeatures tabel met licenties.

Lezenswaardige andere artikelen over rechten op Exact

Voor ontwikkelingen in 2021 zijn de volgende topics lezenswaardig:

En nu? Paniek?

Als dit allemaal geen oplossing geeft bij het oplossen van de rechten op Exact Online, dan is het verstandig om de API desk van Exact Online support te benaderen of een consultant.