Authenticatie

Alle API requests (behalve /login) vereisen een JWT Bearer token en een site header.

Login

Verkrijg een JWT token door in te loggen met e-mail en wachtwoord.

POST /login

Request

{
  "email": "user@example.com",
  "password": "your-password"
}

Response 200 OK

{
  "token": "eyJhbGciOiJIUzI1NiIs...",
  "userId": "1",
  "expiresIn": 3600,
  "admin": false,
  "site": "SITE01",
  "name": "Jan Janssen",
  "email": "user@example.com",
  "client": null,
  "fulfillment": false
}
VeldTypeBeschrijving
tokenstringJWT token, geldig voor 1 uur
userIdstringGebruikers-ID
expiresInnumberGeldigheid in seconden (3600 = 1 uur)
adminbooleanOf de gebruiker een admin is
sitestringSite ID
namestringVolledige naam van de gebruiker
emailstringE-mailadres
clientstring|nullClient ID (alleen bij fulfillment)
fulfillmentbooleanOf de site een fulfillment site is

Response 401 Unauthorized

{
  "message": "User/password not correct"
}

Token verificatie

Controleer of een bestaand token nog geldig is.

GET /verifytoken

Headers

Authorization: Bearer <token>

Response 200 OK

{
  "message": "Token is valid"
}

Response 401 Unauthorized

{
  "message": "Authorization token not valid"
}

Gebruik van het token

Voeg bij elke API request de volgende headers toe:

Authorization: Bearer <token>
site: <site-id>

Let op

Het token verloopt na 1 uur. Na verlopen moet opnieuw ingelogd worden via POST /login.

De site header is verplicht bij elke request. Dit identificeert de warehouse site waarvoor de data wordt opgevraagd. De waarde kan een site_id of een client_id zijn.

Als de site header ontbreekt of ongeldig is, wordt een 403-fout geretourneerd:

{
  "message": "Missing header site"
}
{
  "message": "Invalid site"
}