Voertuigpassage:
Deze pagina beschrijft het proces van aanleveren van locaties en metingen voor meetpunten op de weg. Hiervoor is een generieke push-based interface beschikbaar. Momenteel worden de volgende type data ondersteund:
Data Type | Data formaat |
---|---|
IVP | DatexII v2.3 |
Periodieke metingen | DatexII v3 |
DVD | DatexII v3 |
Het aanleveren gaat in een aantal stappen:
- Authenticatie en autorisatie aanvragen
- Meetlocaties aanleveren
- Eenmalig of frequent metingen aanleveren
Daarnaast is het ook mogelijk om nieuwe locaties of wijzigingen in bestaande locaties als nieuwe versies aan te leveren.
1. Authenticatie en autorisatie aanvragen
De autorisatie voor het aanleveren van locaties en metingen gaat op basis van prefixes van locatie ids.
Een leverancier ontvangt credentials welke voor vooraf gedefinieerde prefixes en typen locaties data kan aanleveren.
Een prefix moet ook terugkomen in de locaties, gevolgd door een underscore '_'. Bijvoorbeeld: NDW01_LOCATION1
.
Neem contact op met de servicedesk voor het aanvragen van credentials. Meld hierbij het type data dat gaat worden aangeleverd, en de prefixes van de locaties.
Als u over een service account beschikt dan kan op de volgende wijze een OAuth token worden verkregen (via curl):
curl \
-d "client_id=<uw client_id>" \
-d "client_secret=<uw client secret>" \
-d "grant_type=client_credentials" \
https://iam.ndw.nu/auth/realms/ndw/protocol/openid-connect/token
Hierop volgt onderstaand response:
{
"access_token": "",
"expires_in": 1800,
"refresh_expires_in": 3600,
"refresh_token": "",
"token_type": "Bearer",
"not-before-policy": 0,
"session_state": "81ae1763-9c99-4c54-99b8-5e0629f8a2d6",
"scope": "profile email"
}
Het response bevat een access_token. De inhoud van dit access_token moet bij aanroep van de API worden meegestuurd. Dit kan middels de volgende HTTP header:
Authorization: Bearer <betreffende access token>
Ook kan het token in de API specificatie hieronder worden bijgevoegd.
2. Meetlocaties aanleveren
Het aanleveren van meetlocaties kan met de Locations API. De meetlocaties worden volgens het formaat dat bij het data type hoort aangeleverd. De API bekijkt zelf voor welk type data de locaties zijn aangeleverd en verwerkt de locaties direct. Mocht de syntax of configuratie van een of meerde locaties een fout bevatten, dan wordt dit benoemd in de response, en wordt er geen enkele locatie opgeslagen. Alleen wanneer de volledige lijst aan locaties correct is, wordt deze verwerkt.
Het is mogelijk om een bestaande locatie zonder wijzigingen in een nieuwe levering te plaatsen. Deze zal worden genegeerd.
De Locations API is beschikbaar op https://dexter(.staging).ndw.nu/api/vp/locations. Zie ook de Swagger-UI API documentatie.
De volgende response codes kunnen voorkomen bij het aanleveren van de locaties:
- 202 - de aanlevering is succesvol verlopen
- 400 - de meegeleverde input bevat fouten. Afhankelijk van de soort fout (fout in XML definitie, fout in data, of fout in aangeleverde locaties) wordt er een foutcode en beschrijving meegegeven.
- 401 - authenticatie fout, de token wordt niet geaccepteerd of is verlopen
- 403 - de gebruiker heeft geen rechten om de meegeleverde data aan te leveren. De autorisatie gebeurt op prefix-basis.
- 500 - server fout
3. Metingen aanleveren
Het aanleveren van metingen kan met de MDP API. Metingen kunnen alleen worden aangeleverd voor versies van locaties die al zijn aangeleverd. Wanneer er fouten in de data zitten, of wanneer een of meerdere locaties van een aanlevering niet bestaan binnen Dexter, wordt de gehele levering niet geaccepteerd en de data niet verwerkt.
Wanneer leveringen worden geaccepteerd kan het een moment duren voordat de metingen zijn verwerkt en de data zichtbaar is in het systeem.
De MDP API is beschikbaar op https://dexter(.staging).ndw.nu/api/vp/mdp. Zie ook de Swagger-UI API documentatie.
De volgende response codes kunnen voorkomen bij het aanleveren van de metingen:
- 202 - de aanlevering is succesvol verlopen
- 400 - de meegeleverde input bevat fouten. Afhankelijk van de soort fout (fout in XML definitie, fout in data, of niet-bestaande locatie) wordt er een foutcode en beschrijving meegegeven.
- 401 - authenticatie fout, de token wordt niet geaccepteerd of is verlopen
- 403 - de gebruiker heeft geen rechten om de meegeleverde data aan te leveren. De autorisatie gebeurt op prefix-basis.
- 500 - server fout