Authentication

Je moet je requests authenticeren om endpoints in de Boom API te kunnen aanroepen. De Boom API gebruikt OAuth2 met client credentials — je ontvangt een access token via het token endpoint.

OAuth2 client credentials

De aanbevolen manier om te authenticeren is via OAuth2 client credentials. Stuur je client_id en client_secret naar het token endpoint om een access token te ontvangen:

Token opvragen

curl -X POST https://api.example.nl/auth/token \
  -H "Content-Type: application/x-www-form-urlencoded" \
  -d "client_id=your-client-id" \
  -d "client_secret=your-client-secret"

Response

{
  "access_token": "eyJhbGciOiJIUzI1NiIs...",
  "token_type": "Bearer",
  "expires_in": 3600
}

Bearer token gebruiken

Voeg het access token toe aan de Authorization header van je requests:

Request met bearer token

curl https://api.example.nl/v1/products \
  -H "Authorization: Bearer {token}"

Tokens zijn 1 uur geldig. Vraag een nieuw token aan wanneer het verlopen is.

Basic authentication

Je kunt ook authenticeren met Basic auth, waarbij je client_id en client_secret als username en password meestuurt:

Request met basic auth

curl -X POST https://api.example.nl/auth/token \
  -u "client_id:client_secret"

Using an SDK

Als je een van onze officiële SDK's gebruikt, hoef je je geen zorgen te maken over token management — de SDK regelt dit automatisch.

import ApiClient from '@example/wimpel-api'

// De SDK vraagt automatisch een token aan
const client = new ApiClient({
  clientId: 'your-client-id',
  clientSecret: 'your-client-secret',
})

await client.products.list()

Scopes

Tokens bevatten scopes die bepalen welke endpoints je kunt aanroepen. Scopes volgen het model:action formaat:

ScopeBeschrijving
products:readProducten opvragen
products:writeProducten aanmaken, bijwerken en verwijderen
orders:readOrders opvragen
orders:writeOrders aanmaken, bijwerken en verwijderen
shipments:readVerzendingen opvragen
shipments:writeVerzendingen aanmaken, bijwerken en verwijderen
invoices:readFacturen opvragen
invoices:writeFacturen aanmaken, bijwerken en verwijderen

Als je een endpoint aanroept waarvoor je geen scope hebt, ontvang je een 403 Forbidden response.

Was this page helpful?