Skip to Content
APISetup guide

Setup guide

Deze gids is opgezet als een compacte API-referentie voor de eerste stappen van een Routix-integratie: credentials ophalen, token aanvragen en een endpoint testen.

Gebruikersniveau: Gevorderd

API root endpoint

https://api.routix.com/v1

De meeste integraties starten met deze twee URL-patronen:

  • OAuth token: https://api.routix.com/v1/oauth/token
  • API proxy: https://api.routix.com/v1/{scopeId}/{resource}

Wat je nodig hebt

  • Een Routix-account met admin- of ownerrechten.
  • Minimaal een branch binnen je organisatie.
  • Een server of applicatie die de API gaat gebruiken.
WaardeWaar haal je hem opVerplicht voor
client_idSettings -> OAuth AppsToken aanvragen
client_secretBij het aanmaken van de appToken aanvragen
organizationIdSettings -> OrganizationOrganization-scoped API-calls
branchIdSettings -> BranchesAPI-calls naar branch-data
scopeGeconfigureerd op de OAuth-appToegang tot resources

Stap 1: Registreer een OAuth-app

Voordat je een API-call kunt doen, maak je eerst een OAuth-app aan in het dashboard.

  1. Log in op Routix via app.routix.com.
  2. Ga naar Settings -> OAuth Apps.
  3. Klik op Create App.
  4. Vul het formulier in.
VeldVerplichtBeschrijvingVoorbeeld
NameJaBeschrijvende naam voor de integratieMy ERP Sync
DescriptionNeeWat de integratie doetSyncs accounts from Routix to our ERP
Homepage URLNeeWebsite van je applicatiehttps://myerp.com
ScopesJaBenodigde permissiesroutix:accounts:read
Branch restrictionsNeeBeperk toegang tot specifieke branchesLeeg laten voor alle branches
  1. Klik op Save.
  2. Kopieer de client secret direct. Deze wordt maar een keer getoond.

Belangrijk: bewaar de client_secret in een secrets manager.

Stap 2: Zoek je scope UUID’s op

Voor elke API-call heb je de juiste scope UUID voor de doelresource nodig.

  1. Ga in Routix naar Settings -> Organization om je organization UUID op te zoeken, bijvoorbeeld 123e4567-e89b-12d3-a456-426614174000.
  2. Ga in Routix naar Settings -> Branches om je branch UUID op te zoeken, bijvoorbeeld 550e8400-e29b-41d4-a716-446655440000.
  3. Gebruik de organization UUID voor branches, organizations, users en master_data.
  4. Gebruik de branch UUID voor branch-scoped resources zoals accounts, projects en shipments.

Call 1: Vraag een access token aan

Gebruik deze call om een machine-to-machine token voor je integratie op te halen.

EigenschapWaarde
MethodPOST
Endpoint/v1/oauth/token
AuthenticatieGeen bearer token nodig
Content-Typeapplication/json
Flowclient_credentials

Gebruik voor je integratie de client credentials flow:

curl -X POST https://api.routix.com/v1/oauth/token \ -H "Content-Type: application/json" \ -d '{ "grant_type": "client_credentials", "client_id": "YOUR_CLIENT_ID", "client_secret": "routix_a1b2c3d4..." }'

Request body:

VeldTypeVerplichtBeschrijving
grant_typestringJaAltijd client_credentials
client_idstringJaPublieke identifier van je OAuth-app
client_secretstringJaSecret van je OAuth-app

Voorbeeldresponse:

{ "access_token": "eyJhbGciOiJIUzI1NiIs...", "token_type": "bearer", "expires_in": 3600, "scope": "routix:accounts:read routix:accounts:write", "organization_id": "123e4567-e89b-12d3-a456-426614174000", "branch_ids": ["550e8400-e29b-41d4-a716-446655440000"] }

Belangrijkste responsevelden:

VeldBeschrijving
access_tokenBearer token voor volgende API-calls
expires_inGeldigheid in seconden, standaard 3600
scopeSpaties-gescheiden lijst van toegestane scopes
branch_idsUUID’s van branches die aan de app gekoppeld zijn

Veelvoorkomende fouten:

FoutBetekenisActie
invalid_clientclient_id of client_secret klopt nietControleer credentials
invalid_scopeGevraagde scopes zijn niet toegestaanPas de OAuth-app aan
429Te veel tokenrequestsVoeg retry met backoff toe

Call 2: Test je token met een API-request

Gebruik je nieuwe token direct op een leesendpoint om te bevestigen dat authenticatie, scope en branch-toegang correct zijn.

EigenschapWaarde
MethodGET
Endpoint/v1/{branchId}/accounts
AuthenticatieAuthorization: Bearer <access_token>
Vereiste scoperoutix:accounts:read

Met je token en branch UUID kun je een request doen:

curl -X GET "https://api.routix.com/v1/550e8400-e29b-41d4-a716-446655440000/accounts?limit=5" \ -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIs..."

Queryparameters:

ParameterTypeDefaultBeschrijving
limitinteger50Aantal records per pagina
offsetinteger0Paginatie-offset

Voorbeeldresponse:

{ "data": [ { "id": "550e8400-e29b-41d4-a716-446655440000", "company_name": "Acme Transport B.V.", "email": "[email protected]", "phone": "+31 20 123 4567", "account_type": "customer", "status": "active" } ], "pagination": { "limit": 5, "offset": 0, "total": 1 }, "version": "v1" }

Validatiecheck:

  • 200 OK: token, scope en branch UUID zijn correct.
  • 401 invalid_token: vraag een nieuw token aan.
  • 403 insufficient_scope: voeg routix:accounts:read toe aan de app.
  • 404 branch_not_found: controleer de branch UUID.

App status beheren

Revoke

Om een app direct te blokkeren voor nieuwe tokenaanvragen:

  • In het dashboard: OAuth Apps -> Your App -> Revoke
  • Via API: update de status naar revoked op de oauth_apps resource

Een revoke voorkomt nieuwe tokenrequests, terwijl bestaande tokens geldig blijven tot expiry.

Reactivate

Om een gerevokeerde app weer te activeren:

  • In het dashboard: OAuth Apps -> Your App -> Activate
  • Via API: update de status naar active

Een revoke voorkomt nieuwe tokenrequests, terwijl bestaande tokens geldig blijven tot expiry.

Troubleshooting

FoutOorzaakOplossing
401 invalid_tokenToken is verlopen of ongeldigVraag een nieuwe token aan.
403 invalid_token_typeEr wordt een normale gebruikerstoken gebruiktGebruik het OAuth-tokenendpoint.
403 insufficient_scopeVereiste scope ontbreektWerk allowed_scopes bij of vraag de juiste scopes aan.
404 branch_not_foundOnjuiste branch UUIDControleer de branch UUID in Settings -> Branches.
403 branch access deniedApp is beperkt tot andere branchesWerk allowed_branch_ids bij of gebruik een toegestane branch.
invalid_clientOnjuiste client_id of secretControleer de gegevens.

Beschikbare scopes

ScopeBeschrijving
routix:accounts:readLees accounts, inclusief klanten, leveranciers en vervoerders.
routix:accounts:writeMaak accounts aan en werk ze bij.
routix:orders:readLees orders.
routix:orders:writeMaak orders aan en werk ze bij.
routix:projects:writeBewerk projecten.
routix:shipments:writeBewerk zendingen.
routix:trips:writeBewerk ritten.
routix:vehicles:readLees voertuigen.
routix:vehicles:writeMaak voertuigen aan en werk ze bij.
routix:items:writeBewerk items.
routix:tariffs:writeBewerk tarieven.
routix:zones:writeBewerk zones.
routix:quotations:writeBewerk offertes.
routix:staff:readLees medewerkers.
routix:equipment:readLees equipment.
routix:planning:readLees planning- en routedata.
routix:invoices:readLees facturen.
routix:invoices:writeMaak facturen aan en werk ze bij.

Integratiechecklist

  • Registreer een OAuth-app in Routix.
  • Bewaar client_id en client_secret veilig.
  • Implementeer token acquisition met de client credentials flow.
  • Handel token expiry af door een nieuwe token op te vragen.
  • Gebruik de juiste branch UUID in API-URL’s.
  • Vraag alleen de scopes aan die je applicatie nodig heeft.
  • Handel foutresponses zoals 401, 403, 404 en 429 af.
  • Test met v1 voor stabiele veldcontracten.

Gerelateerde pagina’s

  • API integratie
  • API calls en voorbeelden
Last updated on