Skip to Content
API KoppelingOverzicht

API Koppeling

Routix biedt een versioned REST API waarmee externe applicaties — zoals ERP-systemen, WMS-platformen, BI-tools en AI-agents — veilig toegang krijgen tot je transportmanagementdata.

De API is gebouwd op OAuth 2.1 en gebruikt een proxy-laag voor stabiliteit, versiebeheer en fijnmazige toegangscontrole.

Architectuur

Het koppelingssysteem bestaat uit drie lagen:

LaagBeschrijving
OAuth ServerAuthenticeert externe apps en geeft JWT-tokens uit met organisatie-, scope- en vestigingsclaims
API ProxyVersioned REST-endpoint (/functions/v1/api/...) dat tokens valideert, scopes afdwingt, vestigingen oplost en gefilterde data retourneert
App BeheerDashboard in Routix om OAuth-apps te registreren, configureren en beheren

Hoe het samenwerkt

Externe App ├─► POST /functions/v1/oauth-token (token ophalen) │ └─► JWT met org_id, scopes, vestigingen └─► GET /functions/v1/api/v1/{vestiging}/accounts (token gebruiken) └─► Verifieer JWT → Check scope → Vestiging oplossen → DB query → Gefilterde velden retourneren

Twee Authenticatieflows

FlowUse CaseGebruikersinteractie
Authorization Code + PKCEExterne apps die namens een gebruiker handelenJa — gebruiker geeft toestemming en selecteert organisatie
Client CredentialsServer-to-server / machine-to-machineNee — app authenticeert direct met client_id + secret

Belangrijke Concepten

Scopes

Elke API-actie is beschermd door een scope met het patroon:

routix:<resource>:<actie>
ScopeBeschrijving
routix:accounts:readLees klanten, leveranciers, vervoerders
routix:accounts:writeMaak accounts aan of werk ze bij
routix:orders:readLees orders
routix:orders:writeMaak orders aan of werk ze bij
routix:vehicles:readLees voertuigen
routix:vehicles:writeMaak voertuigen aan of werk ze bij
routix:staff:readLees medewerkers
routix:equipment:readLees materieel
routix:planning:readLees planning/routedata
routix:invoices:readLees facturen
routix:invoices:writeMaak facturen aan of werk ze bij

Vestiging-scoping

De API is gescoped per vestiging met een kort publiek ID (8 tekens, bijv. RS2RDH3B). Dit betekent:

  • Elke API-call richt zich op precies één vestiging
  • Apps kunnen bij registratie beperkt worden tot specifieke vestigingen
  • Vestigingsdata is volledig geïsoleerd

API Versiebeheer

VersieGedrag
v1Stabiele, onveranderlijke veldenset — veilig voor productie-integraties
v2Superset van v1 met extra velden — kan in de loop der tijd nieuwe velden krijgen

Beide versies draaien gelijktijdig. Gebruik v1 voor stabiele contracten, v2 als je extra data nodig hebt.

Volgende Stappen

Last updated on