Een UBL Order verzenden via de PSB API: endpoint, profielen, idempotency en statustracking.
Met de PSB API kun je inkooporders (purchase orders) verzenden naar je leveranciers via het Peppol-netwerk. Het proces werkt vergelijkbaar met het verzenden van facturen: je stuurt een UBL Order XML-document naar de API, en de PSB zorgt voor validatie, routering en aflevering.
POST /api/v1/{partyId}/purchaseOrder/send
Het request bevat het UBL Order XML-document als body met content-type application/xml. De {partyId} is de Peppol-identifier van de verzendende organisatie (de koper).
De PSB ondersteunt twee Peppol-orderprofielen:
urn:fdc:peppol.eu:poacc:bis:order_only:3urn:fdc:peppol.eu:poacc:bis:advanced_ordering:3Bij Order Only stuurt de koper een order en is het proces klaar. Bij Advanced Ordering kan de leverancier reageren met een Order Response, en kan de koper de order later wijzigen of annuleren.
Tip: Gebruik het Advanced Ordering-profiel als je wilt dat de leverancier de order bevestigt of als je orders later wilt kunnen aanpassen.
OrderSent-webhook met de afleveringsstatusGebruik de X-EConnect-DocumentId header om dubbele verwerking te voorkomen:
X-EConnect-DocumentId: 550e8400-e29b-41d4-a716-446655440000
Als je hetzelfde documentId nogmaals stuurt, retourneert de API 409 Conflict. Gebruik altijd een UUID/GUID, nooit een ordernummer.
Bij een mislukte aflevering past de PSB automatisch retries toe:
OrderSentRetry-event gepubliceerdOrderSentError-eventqueryRecipientParty of de leverancier orders kan ontvangenStel webhooks in voor de volgende topics om het orderproces te volgen:
OrderSentOrderSentRetryOrderSentErrorOrderResponseReceivedOrderChangeReceivedOrderCancellationReceivedEen succesvolle upload retourneert 200 OK met de document-ID in de PSB. Gebruik deze ID om de order te volgen via de API of via webhooks.
Order Only (urn:fdc:peppol.eu:poacc:bis:order_only:3) is een eenrichtingsorder zonder verdere berichtenstroom. Advanced Ordering (urn:fdc:peppol.eu:poacc:bis:advanced_ordering:3) is nodig als de leverancier met een Order Response moet reageren of als je orders later wilt wijzigen of annuleren. Kies Advanced als je dat volledige proces nodig hebt.
Stuur de header X-EConnect-DocumentId mee met een unieke UUID of GUID. Als je hetzelfde documentId opnieuw gebruikt, antwoordt de API met 409 Conflict. Gebruik geen ordernummer als idempotency-key; dat is niet bedoeld voor dit mechanisme.
Bij 5xx-fouten aan de ontvangende kant probeert de PSB automatisch opnieuw af te leveren (maximaal 8 pogingen over circa 35 uur). Je ziet OrderSentRetry per poging en bij definitief falen OrderSentError. Bij succes ontvang je OrderSent.
Bekijk de volledige API-specificatie op psb.econnect.eu voor alle parameters en voorbeeldpayloads.
Probeer het in de API