Het Partners in Energie platform biedt twee soorten API's voor marktpartijen en netbeheerders om integratie met het platform mogelijk te maken. Lees verder om meer te weten te komen over deze API's en hoe je ze kunt instellen.
Ten eerste is er de notificatie API. EDSN heeft een AMQP 1.0 broker waarmee je je kunt abonneren op gebeurtenissen die plaatsvinden op het Partners in Energie platform. Op deze manier kan de applicatie automatisch op de hoogte worden gebracht wanneer er iets gebeurt op het Partners in Energie platform.
Ten tweede is er een REST-gebaseerde web API waarmee je synchroon kunt communiceren met het Partners in Energie platform. Voor nu is slechts een beperkte set functionaliteiten beschikbaar; notificaties worden alleen verzonden wanneer een ticket of een opmerking wordt aangemaakt op het Partners in Energie platform, en de REST API staat alleen toe om informatie over deze tickets en opmerkingen op te halen.
Om verbinding te maken met beide API’s moet de organisatie toegang hebben toe Partners in Energie. Is dit nog niet het geval? Neem dan contact op met onze servicedesk via [email protected].
Authenticatie voor beide API's werkt met het OAuth-protocol. Om een toegangstoken te verkrijgen, moeten de volgende stappen worden uitgevoerd:
Een service account kan handmatig worden aangemaakt via de DVT UI.
Acceptance: https://portal.idp.acc.cmf.energysector.nl/gegevens
Production: https://portal.idp.cmf.energysector.nl/gegevens
Onder het gedeelte "Service Accounts" kan een service account worden aangemaakt. Zorg ervoor dat je het service account de juiste rechten geeft en selecteer het type "OAuth". Zorg ervoor dat je de privésleutel van het service account veilig opslaat, omdat deze nodig is om de client assertion te genereren.
Onder “Applicatierollen” zoek je naar “AMQP” en voeg je de applicatierol 'AMQP {env} consumer role to access pie for {organizationName}' toe.
De client assertion is een JWT die wordt gebruikt om de client te verifiëren bij de Identity Provider. Het is een JWT ondertekend met de privésleutel van het service account. De client assertion moet de volgende claims bevatten:
Deze claims moeten worden ondertekend met de privésleutel van het service account die is verkregen toen het service account werd aangemaakt. Deze ondertekende JWT is de client assertion.
Om een toegangstoken aan te vragen, moet een POST-verzoek worden verzonden naar de toegangstoken endpoint. De toegangstoken endpoint is:
Acceptance: https://acc.idp.cmf.energysector.nl/am/oauth2/access_token
Production: https://idp.cmf.energysector.nl/am/oauth2/access_token
De aanvraag moet een URL-gecodeerd formulier bevatten met de volgende parameters:
Het toegangstoken kan worden gebruikt om een API aan te roepen. Het moet worden opgenomen in de 'Authorization' header met behulp van het 'Bearer' schema.
Op deze pagina vind je uitleg over hoe je een AMQP consumer service kunt implementeren op een programmeertaal onafhankelijke manier. AMQP (Advanced Message Queuing Protocol) is een open standard application layer protocol voor message-oriented middleware. Het stelt applicaties in staat om berichten tussen systemen te verzenden, ongeacht platform of programmeertaal.
Op dit moment kan de berichtenwachtrij twee soorten berichten bevatten: het ticket created bericht en het comment created bericht. Deze berichten blijven 1 dag in de wachtrij.
Het ticket created bericht heeft het volgende formaat:
Het comment created bericht heeft het volgende formaat:
Voeg de juiste AMQP 1.0 client library toe voor je programmeertaal, bijvoorbeeld:
Sla deze instellingen op en haal ze op:
Implementeer een tokenservice die:
Het PIE platform stelt drie REST endpoints bloot.
root-url acceptance: https://api.acc.cmf.energysector.nl
root-url production: https://api.cmf.energysector.nl
Door de berichten van de notificaties API te verwerken, kunnen de ticket- en comments ID's worden opgehaald. Met deze ID's is het mogelijk om deze REST endpoints aan te roepen om gedetailleerde informatie over tickets en opmerkingen op te halen.
Net als bij de notificatie API gebruikt de REST API OAuth voor authenticatie. Een token moet worden opgehaald en toegevoegd in de 'Authorization' header, voorafgegaan door 'Bearer' bij het verzenden van een verzoek.