Order annuleren (Order Cancellation)

Een bestaande order annuleren via de API: endpoint, flow en respons van de leverancier.

Een order die al is verzonden, kan door de koper worden geannuleerd via een Order Cancellation. De leverancier ontvangt de annulering en kan deze accepteren of afwijzen. Order Cancellations zijn onderdeel van het Peppol Advanced Ordering-profiel.

Endpoint
POST /api/v1/{partyId}/purchaseOrder/{documentId}/cancel

De {partyId} is de Peppol-identifier van de koper. Het {documentId} is de ID van de oorspronkelijke order die je wilt annuleren. Dit is de document-ID die je hebt ontvangen bij het verzenden van de order.

Let op: Een annulering is een verzoek, geen garantie. De leverancier kan de annulering afwijzen, bijvoorbeeld als de order al in productie is. Pas na ontvangst van een Order Response met statuscode AP (geaccepteerd) is de annulering definitief.

Flow
  1. Koper stuurt een annuleringsverzoek via het cancel-endpoint
  2. Leverancier ontvangt de annulering via de OrderCancellationReceived-webhook
  3. Leverancier beoordeelt of de annulering kan worden doorgevoerd
  4. Leverancier stuurt een Order Response terug: AP (geaccepteerd) of RE (afgewezen)
  5. Koper ontvangt de response via de OrderResponseReceived-webhook
Ontvangen als leverancier

Stel een webhook in op het topic OrderCancellationReceived:

{
  "action": "https://jouw-endpoint.nl/order-cancellations",
  "topics": ["OrderCancellationReceived"],
  "secret": "jouw-geheime-sleutel"
}

Download het annuleringsdocument om de reden van annulering in te zien:

GET /api/v1/{partyId}/salesOrder/{documentId}/download
Webhooktopics
TopicRichtingWanneerOrderCancellationSentKoperAnnulering is succesvol afgeleverdOrderCancellationReceivedLeverancierAnnulering is ontvangenOrderResponseReceivedKoperLeverancier heeft gereageerd op de annuleringOrderResponseSentLeverancierResponse op de annulering is verzonden
Reageren op een annulering

Als leverancier reageer je op een annulering via het Order Response endpoint. De relevante statuscodes zijn:

CodeBetekenisAPAnnulering geaccepteerd, order wordt niet uitgevoerdREAnnulering afgewezen, order blijft actief
Veelgestelde vragen
Welk `documentId` gebruik ik in het cancel-endpoint?

Gebruik de document-ID van de oorspronkelijke order die je bij het verzenden (POST .../purchaseOrder/send) van de PSB hebt teruggekregen. Het pad is POST /api/v1/{partyId}/purchaseOrder/{documentId}/cancel, waarbij {partyId} de Peppol-identifier van de koper is.

Is een annulering direct definitief zodra het request slaagt?

Nee. Een annulering is een verzoek. De leverancier kan deze afwijzen, bijvoorbeeld als de order al in uitvoering is. Pas als je een Order Response met code AP ontvangt, is de annulering volgens de flow geaccepteerd.

Hoe past Order Cancellation in het Advanced Ordering-profiel?

Order Cancellation hoort bij Advanced Ordering: de leverancier krijgt OrderCancellationReceived, kan het annuleringsdocument downloaden en antwoordt via Order Response met AP (geaccepteerd) of RE (afgewezen). De koper volgt het resultaat via onder meer OrderResponseReceived.


Bekijk de volledige API-specificatie op psb.econnect.eu voor de exacte request- en response-structuur.

Probeer het in de API

Gerelateerd