Stap-voor-stap de eConnect PSB API integreren: sandbox aanvragen, authenticeren, eerste API-call, factuur versturen en webhooks testen.
Deze gids is je startpunt als developer: van sandbox-aanvraag tot een werkende end-to-end flow met token, eerste API-call, factuurverzending en webhooks. Werk altijd eerst in de acceptatieomgeving (accp- endpoints); productie-credentials zijn strikt gescheiden. Waarom de sandbox bestaat en wat je er commercieel mee kunt, lees je op Alles in één API.
Voordat je code schrijft, leg je vast welk documentformaat je verstuurt en hoe je het valideert. Deze sectie bevat daarvoor drie voorbereidende pagina's:
Heb je een valide testbestand, doorloop dan de stappen hieronder om de PSB API aan te sluiten.
Om de PSB API te gebruiken heb je OAuth2-credentials nodig (clientId en clientSecret). Die vraag je aan via het contactformulier. Na afstemming over het type integratie (eigen koppeling, softwarekoppeling, white-label) maakt eConnect je credentials en testparty aan in het Peppol-testnetwerk.
Na goedkeuring ontvang je:
clientIdclientSecretVoor server-naar-server integraties is de Client Credentials-flow standaard. Afhankelijk van je scenario ontvang je mogelijk ook een username en password voor de Resource Owner Password Credentials-flow.
Tip: vraag direct credentials aan voor zowel acceptatie als productie, zodat je na testen alleen endpoints hoeft te wisselen.
Houd in je configuratie twee gescheiden sets: één voor acceptatie, één voor productie.
accp-psb.econnect.eupsb.econnect.euaccp-identity.econnect.euidentity.econnect.euaccp-vpd.econnect.eu/graphql/v1vpd.econnect.eu/graphql/v1@accp.econnect.email@econnect.emailDe acceptatieomgeving gedraagt zich identiek aan productie: token-aanvragen, REST-calls en webhooks werken hetzelfde. Documenten verstuurd vanuit een testaccount blijven op het Peppol-testnetwerk en bereiken geen echte ontvangers.
Elk API-verzoek vereist een Bearer-token. Vraag dat aan bij de Identity Server:
POST /connect/token HTTP/1.1
Host: accp-identity.econnect.eu
Content-Type: application/x-www-form-urlencoded
grant_type=client_credentials
&client_id=jouw-client-id
&client_secret=jouw-client-secret
&scope=ap
Bij succes ontvang je een access_token met een geldigheid van 3600 seconden. Het volledige authenticatiepad, inclusief tokenvernieuwing en multi-tenant scenario's, staat in Authenticatie.
Controleer je verbinding met GET /api/v1/me:
GET /api/v1/me HTTP/1.1
Host: accp-psb.econnect.eu
Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...
Een succesvolle response bevat je accountgegevens en de party's waarvoor je gemachtigd bent, inclusief permissies (canSendDocument, canReceiveDocument, canManageHook). De interactieve API Reference laat je endpoints verkennen en testcalls doen met je token.
Verstuur een testfactuur naar je eigen testparty of een testreceiver in de sandbox:
POST /api/v1/{partyId}/salesInvoice/send
Vervang {partyId} door de Peppol-identifier van de verzendende organisatie. De body is het XML-document (Content-Type: application/xml). De PSB valideert, transformeert en routeert het document; je ontvangt een document-ID in de response. Een kant-en-klare testpayload vind je bij de voorbeeldfacturen.
Aanbevolen voor je eerste test:
queryRecipientParty (zie Factuur verzenden)X-EConnect-DocumentId met een UUID om dubbele verwerking te voorkomen (zie Idempotency)Let op: het
EndpointIDin je XML bepaalt de ontvanger. Een ontbrekend of onjuist ID levertInvoiceSentErrorop.
Registreer een webhook voor statusupdates na verzending. De PSB stuurt bij relevante gebeurtenissen een HTTP POST naar jouw endpoint met een JSON-payload.
Minimaal voor je eerste end-to-end test:
InvoiceSent (of InvoiceReceived bij ontvangst) via de hooks-APIHet volledige configuratiepad, topics en beveiliging staan in Webhooks instellen. Na een geslaagde factuurverzending ontvang je doorgaans een webhook met de afleveringsstatus.
Nee. Documenten uit een testaccount blijven op het Peppol-testnetwerk. Voor end-to-end tests registreer je een eigen ontvangende testparty en stuur je naar die identifier.
Ja. OAuth2, REST-calls, webhooks, validatie, transformatie en Peppol-registratie gedragen zich identiek. Het verschil zit in credentials, accp- endpoints en de scheiding van Peppol-verkeer.
De Swagger UI op psb.econnect.eu laat je endpoints en request-structuren verkennen. Voor echte testcalls tegen de acceptatieomgeving heb je sandbox-credentials nodig.
Werk met aparte environment-variabelen of secrets per omgeving en laad nooit productiecredentials tijdens een test-run. Zie Authenticatie voor het volledige patroon.
Gerelateerd