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:
| Scope | Beschrijving |
|---|---|
products:read | Producten opvragen |
products:write | Producten aanmaken, bijwerken en verwijderen |
orders:read | Orders opvragen |
orders:write | Orders aanmaken, bijwerken en verwijderen |
shipments:read | Verzendingen opvragen |
shipments:write | Verzendingen aanmaken, bijwerken en verwijderen |
invoices:read | Facturen opvragen |
invoices:write | Facturen aanmaken, bijwerken en verwijderen |
Als je een endpoint aanroept waarvoor je geen scope hebt, ontvang je een 403 Forbidden response.