Annuler une commande (Order Cancellation)

Annuler une commande existante via l'API : endpoint, flux et réponse du fournisseur.

Une commande déjà envoyée peut être annulée par l'acheteur via une Order Cancellation. Le fournisseur reçoit l'annulation et peut l'accepter ou la rejeter. Les Order Cancellations font partie du profil Peppol Advanced Ordering.

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

Le {partyId} est l'identifiant Peppol de l'acheteur. Le {documentId} est l'ID de la commande d'origine que vous souhaitez annuler. C'est l'ID de document que vous avez reçu lors de l'envoi de la commande.

Attention : une annulation est une demande, pas une garantie. Le fournisseur peut rejeter l'annulation, par exemple si la commande est déjà en production. Ce n'est qu'après réception d'une Order Response avec le code de statut AP (accepté) que l'annulation est définitive.

Flux
  1. L'acheteur envoie une demande d'annulation via l'endpoint cancel
  2. Le fournisseur reçoit l'annulation via le webhook OrderCancellationReceived
  3. Le fournisseur évalue si l'annulation peut être effectuée
  4. Le fournisseur renvoie une Order Response : AP (accepté) ou RE (rejeté)
  5. L'acheteur reçoit la response via le webhook OrderResponseReceived
Recevoir en tant que fournisseur

Configurez un webhook sur le topic OrderCancellationReceived :

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

Téléchargez le document d'annulation pour consulter la raison de l'annulation :

GET /api/v1/{partyId}/salesOrder/{documentId}/download
Topics webhook
TopicDirectionQuandOrderCancellationSentAcheteurL'annulation a été livrée avec succèsOrderCancellationReceivedFournisseurL'annulation a été reçueOrderResponseReceivedAcheteurLe fournisseur a répondu à l'annulationOrderResponseSentFournisseurLa response à l'annulation a été envoyée
Répondre à une annulation

En tant que fournisseur, vous répondez à une annulation via l'endpoint Order Response. Les codes de statut pertinents sont :

CodeSignificationAPAnnulation acceptée, la commande ne sera pas exécutéeREAnnulation rejetée, la commande reste active
Questions fréquentes
Quel `documentId` utiliser dans l'endpoint d'annulation ?

Utilisez l'ID du document de la commande originale que vous avez reçu du PSB lors de l'envoi (POST .../purchaseOrder/send). Le chemin est POST /api/v1/{partyId}/purchaseOrder/{documentId}/cancel, où {partyId} est l'identifiant Peppol de l'acheteur.

Une annulation est-elle immédiatement définitive dès que la requête réussit ?

Non. Une annulation est une demande. Le fournisseur peut la refuser, par exemple si la commande est déjà en cours d'exécution. Ce n'est que lorsque vous recevez une Order Response avec le code AP que l'annulation est acceptée selon le flux.

Comment l'Order Cancellation s'intègre-t-elle dans le profil Advanced Ordering ?

L'Order Cancellation fait partie d'Advanced Ordering : le fournisseur reçoit OrderCancellationReceived, peut télécharger le document d'annulation et répond via Order Response avec AP (acceptée) ou RE (rejetée). L'acheteur suit le résultat via, entre autres, OrderResponseReceived.


Consultez la spécification API complète sur psb.econnect.eu pour les structures exactes de requête et de réponse.

Essayer dans l'API