LOGO MET WIT STREEPJE

Gebruik maken van documentatie

Instructies

  1. Ga naar www.cabmandata.nl en log als gebruiker in.
  2. https://services.cabmandata.com/ReportService/swagger/index.html
  3. Ga naar https://services.cabmandata.com/ReportService/swagger/index.html en volg de stappen in het onderstaande voorbeeld om een request voor een rapportage uit te voeren.

 

iStock-1299100148-1
Screen_Recording_2020-12-16_at_10.22.07 (1)

Access Token opvragen

Voorbeeld access token

POST naar https://services.cabmandata.com/authentication/connect/token met de volgende form-data of x-www-form-urlencoded in de body:

  • grant_type: password
  • username: <gebruikersnaam>
  • password: <wachtwoord>
  • client_id: ExternalClient

Voorbeeld urlencoded variant

HTTP Request:

POST /authentication/connect/token HTTP/1.1 Host: services.cabmandata.com Accept: application/json 
Content-Type: application/x-www-form-urlencoded grant_type=password&username=<gebruikersnaam>&password=<wachtwoord>&client_id=ExternalClient

cURL:

curl --location --request POST 'https://services.cabmandata.com/authentication/connect/token' \ --header 'Accept: application/json' \
--header 'Content-Type: application/x-www-form-urlencoded' \ --data-urlencode 'grant_type=password'
\ --data-urlencode 'username=<gebruikersnaam>' \ --data-urlencode 'password=<wachtwoord>' \ --data-urlencode 'client_id=ExternalClient'

JavaScript (jQuery):

var settings = {   "url": "https://services.cabmandata.com/authentication/connect/token",   "method": "POST",   "timeout": 0,   
"headers": { "Accept": "application/json", "Content-Type": "application/x-www-form-urlencoded" },
"data": { "grant_type": "password", "username": "<gebruikersnaam>", "password": "<wachtwoord>",
"client_id": "ExternalClient" } }; $.ajax(settings).done(function (response) { console.log(response); });

Access token response

{   "access_token": "eyJhbGciOiJSUzI1NiIsImtpZCI6IjlGNzdCRDEwRkUzMDYyQ0U1OTMyM0ExQ0JFNjlGQ0MyRURBNTg0MjEiLCJ0eXAiOiJKV1QiLCJ4NXQiOiJuM2U5
RVA0d1lzNVpNam9jdm1uOHd1MmxoQ0UifQ...", "expires_in": 2592000, "token_type": "Bearer", "refresh_token": "ec1539159f4a55fa2263525f80
b408685aa8c35a2ff41f1cc7557c82749fb357", "scope": "offline_access openid reportservice_api" }

Wanneer gebruikersnaam/wachtwoord combi en de client geldig is zou er een json response moeten komen met daarin de access_token. In de response staat ook hoe lang de token geldig is. Periodiek kan deze opnieuw opgehaald worden via de refresh_token dat ook in de response staat. Klopt er iets niet wordt er een foutmelding terug gegeven.

Refresh token opvragen

Met een refresh_token kan een nieuwe combinatie van access_token en refresh_token opgehaald worden. Het is de aanbevolen methode om toegang te behouden totdat de token permanent verlopen is. Standaard is een access_token 1 uur geldig. Gedurende de overgang is deze periode verlengt naar 1 maand. Na de overgang gaat de geldigheid weer terug naar de standaard. Vanaf dan is het dus zaak om ieder uur middels de refresh_token nieuwe tokens op te halen om toegang te houden tot de service. In de praktijk zal dit waarschijnlijk inhouden dat bij opvragen van een rapportage, dat dagelijks uitgevoerd wordt, eerst een nieuw access_token opgevraagd moet worden.

Een refresh_token is 15 dagen geldig. De mogelijkheid tot verversen van een access_token via een refresh_token is maximaal 1 maand. Daarna moet er weer opnieuw geauthentiseerd worden.

Een nieuwe access_token opvragen via een refresh_token is bijna gelijk aan het authentiseren. Alleen zijn er een aantal velden in de body anders.

Voorbeeld refresh token

HTTP Request:

POST /authentication/connect/token HTTP/1.1 Host: services.cabmandata.com Accept: application/json Content-Type: 
application/x-www-form-urlencoded grant_type=refresh_token&client_id=ExternalClient&refresh_
token=ec1539159f4a55fa2263525f80b408685aa8c35a2ff41f1cc7557c82749fb357

JavaScript (jQuery):

var settings = {   "url": "https://services.cabmandata.com/authentication/connect/token",   "method": "POST",   "timeout": 0,   
"headers": { "Accept": "application/json", "Content-Type": "application/x-www-form-urlencoded" }, "data":
{ "grant_type": "refresh_token", "refresh_token": "ec1539159f4a55fa2263525f80b408685aa8c35a2ff41f1cc7557c82749fb357",
"client_id": "ExternalClient" } }; $.ajax(settings).done(function (response) { console.log(response); });

Response wanneer token nog geldig is staat hieronder. Is de token ongeldig of verlopen wordt er een status 401 geretourneerd. In de response zit weer een nieuwe refresh_token waarmee de volgende interval weer een access_token opgevraagd kan worden.

Refresh token response

{   "id_token": "eyJhbGciOiJSUzI1NiIsImtpZCI6IjlGNzdCRDEwRkUzMDYyQ0U1OTMyM0ExQ0JFNjlGQ0MyRURBNTg0MjEiLCJ0eXAiOiJKV1QiLCJ4NXQiOiJuM2U5R
VA0d1lzNVpNam9jdm1uOHd1MmxoQ0UifQ...", "access_token": "eyJhbGciOiJSUzI1NiIsImtpZCI6IjlGNzdCRDEwRkUzMDYyQ0U1OTMyM0ExQ0JFNjlGQ0MyRURBNT
g0MjEiLCJ0eXAiOiJKV1QiLCJ4NXQiOiJuM2U5RVA0d1lzNVpNam9jdm1uOHd1MmxoQ0UifQ...", "expires_in": 2592000, "token_type": "Bearer",
"refresh_token": "e643bea2210c1e1d5eb50364fe7ac485e288ecd33376fd5c72ee192870fc172c", "scope": "openid reportservice_api offline_access" }