Ga naar inhoud

Dafne API

*Let op: deze API's zijn nog in ontwikkeling en de specificaties kunnen nog wijzigen.

Dafne (Dutch Alternative Fuel National Endpoint) is het systeem dat realtime data over alternatieve energie infrastructuur voor voertuigen ontvangt van leveranciers en beschikbaar stelt. Dit systeem staat ook bekend als NAP-EV.

Aansluiten

Om aan te sluiten op Dafne kan contact worden opgenomen met de NDW Servicedesk. Geef hierbij aan dat het gaat om het aansluiten op Dafne. Vervolgens zal er afgestemd worden hoe de verbinding wordt opgezet en zullen er aansluittesten uitgevoerd worden.

Tijdigheid

De aangeleverde data dient actueel te zijn. Dit wil zeggen dat wijzigingen binnen 1 minuut aangeleverd dienen te worden.

Aanleveren met OCPI-2.2.1

OCPI (Open Charge Point Interface) is een protocol dat communicatie tussen laadpuntoperators en dienstverleners mogelijk maakt en wordt onderhouden door de EVRoaming Foundation.

Voor levering aan Dafne, middels OCPI-2.2.1, zijn openapi-specificaties opgesteld voor de pull- en de push-functionaliteit (4.1.3 in OCPI-2.2.1), die aangeven welke informatie verwacht wordt middels welke endpoints.

Als aanvulling op OCPI-2.2.1 zijn, vanwege de AFIR, de volgende optionele elementen verplicht gemaakt in de openapi-specificaties:

Object Element
Location opening_times
Location energy_mix
EVSE parking_restrictions
Connector max_electric_power
Connector tariff_ids

Pull

Om de volledige set van objecten en de laatste stand van individuele objecten te weten, worden deze periodiek (dagelijks) opgehaald middels de pull-functionaliteit. Hiervoor dient een server beschikbaar te zijn die conform de pull-API openapi-spec de huidige toestand levert als response op een GET.

Pull - Locaties

Voor het aanleveren van de Locations dient een endpoint beschikbaar te zijn die luistert naar verzoeken voor zowel de volledige set, als ook specifieke locaties. Het ophalen van individuele EVSE- en Connector-objecten wordt vooralsnog niet gebruikt.

Pull - Tarieven

Voor het aanleveren van de Tariffs dient een endpoint beschikbaar te zijn die luisterd naar verzoeken voor de volledige set van tarieven.

Pull - Authenticatie

De credentials module van OCPI wordt niet gebruikt.

Voor het ophalen van de huidige toestand bij de leverancier dienen de authenticatie gegevens beschikbaar te worden gesteld. Deze zijn bij gebruik van OAuth2 een client-id met client-secret combinatie. Volgens de OAuth2 conventies zal de JWT worden doorgegeven via een Authorization: Bearer header. Bij gebruik van een afgesproken token/api-key dient de access token/api-key in de Authorization: Token header opgenomen te worden.

Push

Om wijzigingen van objecten door te geven binnen een minuut nadat deze hebben plaatsgevonden is er de push-functionaliteit. Hiervoor dient de client conform de push-API openapi-spec wijzigingen aan te leveren. Met PUT worden volledige objecten bijgewerkt, terwijl middels PATCH alleen geleverde elementen worden bijgewerkt. Alleen voor tarieven is het mogelijk om objecten te verwijderen met een DELETE.

Methode Omschrijving Location EVSE Connector Tariff
PUT Update objecten x x x x
PATCH Update elementen van bestaande objecten x x x
DELETE Verwijder objecten x

Het is niet toegestaan om identifiers van objecten te veranderen. Denk hierbij aan een PUT op een locatie met een parameter location_id met waarde x, terwijl het id-element van het object y is.

Push - Locaties

Voor het bijwerken van een enkele locatie is het mogelijk om een PUT of PATCH uit te voeren op de Locations, EVSE en Connector objecten. Daarbij is alleen de last_updated een verplicht element. Als er een sub-object benoemd wordt in een update dient dit sub-object volledig aanwezig te zijn (volgens de eisen van een PUT voor dat soort object).

Push - Tarieven

Voor het bijwerken van een enkel tarief is het mogelijk om een PUT uit te voeren op een Tariff-object. Voor het verwijderen van een tarief is het mogelijk om een DELETE uit te voeren, welke een HTTP-204 status code teruggeeft bij succes (dit verschilt van de OCPI-specificatie).

Push - Authenticatie

De credentials module van OCPI wordt niet gebruikt.

Voor het leveren van de updates (push) worden een client-id en client-secret beschikbaar gesteld om mee te authentiseren met OAuth2. Volgens de OAuth2 conventies zal de JWT worden doorgegeven via een Authorization: Bearer header.

Leverancier pull-API

Pull-API conform openapi-spec

Leverancier push-API

Push-API conform openapi-spec

Servicedesk

Voor meer informatie kan contact opgenomen worden met de NDW Servicedesk.

Ga terug naar de vorige pagina