Annullare un ordine (Order Cancellation)

Annullare un ordine esistente tramite l'API: endpoint, flusso e risposta del fornitore.

Un ordine già inviato può essere annullato dall'acquirente tramite un Order Cancellation. Il fornitore riceve l'annullamento e può accettarlo o rifiutarlo. Gli Order Cancellation fanno parte del profilo Peppol Advanced Ordering.

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

Il {partyId} è l'identificativo Peppol dell'acquirente. Il {documentId} è l'ID dell'ordine originale che si desidera annullare. Questo è l'ID del documento ricevuto al momento dell'invio dell'ordine.

Attenzione: un annullamento è una richiesta, non una garanzia. Il fornitore può rifiutare l'annullamento, ad esempio se l'ordine è già in produzione. Solo dopo aver ricevuto un Order Response con codice di stato AP (accettato) l'annullamento è definitivo.

Flusso
  1. Acquirente invia una richiesta di annullamento tramite l'endpoint cancel
  2. Fornitore riceve l'annullamento tramite il webhook OrderCancellationReceived
  3. Fornitore valuta se l'annullamento può essere eseguito
  4. Fornitore invia un Order Response: AP (accettato) o RE (rifiutato)
  5. Acquirente riceve la risposta tramite il webhook OrderResponseReceived
Ricezione come fornitore

Configuri un webhook sul topic OrderCancellationReceived:

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

Scarichi il documento di annullamento per visualizzare il motivo dell'annullamento:

GET /api/v1/{partyId}/salesOrder/{documentId}/download
Topic webhook
TopicDirezioneQuandoOrderCancellationSentAcquirenteL'annullamento è stato consegnato con successoOrderCancellationReceivedFornitoreL'annullamento è stato ricevutoOrderResponseReceivedAcquirenteIl fornitore ha risposto all'annullamentoOrderResponseSentFornitoreLa risposta all'annullamento è stata inviata
Rispondere a un annullamento

Come fornitore si risponde a un annullamento tramite l'endpoint Order Response. I codici di stato rilevanti sono:

CodiceSignificatoAPAnnullamento accettato, l'ordine non verrà eseguitoREAnnullamento rifiutato, l'ordine rimane attivo
Domande frequenti
Quale `documentId` uso nell'endpoint di annullamento?

Utilizzi l'ID del documento dell'ordine originale che ha ricevuto dalla PSB al momento dell'invio (POST .../purchaseOrder/send). Il percorso è POST /api/v1/{partyId}/purchaseOrder/{documentId}/cancel, dove {partyId} è l'identificatore Peppol dell'acquirente.

Un annullamento è immediatamente definitivo non appena la richiesta ha successo?

No. Un annullamento è una richiesta. Il fornitore può rifiutarlo, ad esempio se l'ordine è già in esecuzione. Solo quando riceve una Order Response con codice AP, l'annullamento è considerato accettato secondo il flusso.

Come si inserisce l'Order Cancellation nel profilo Advanced Ordering?

L'Order Cancellation fa parte di Advanced Ordering: il fornitore riceve OrderCancellationReceived, può scaricare il documento di annullamento e risponde tramite Order Response con AP (accettato) o RE (rifiutato). L'acquirente segue il risultato tramite, tra gli altri, OrderResponseReceived.


Consulti la specifica API completa su psb.econnect.eu per le esatte strutture di request e response.

Provi nell'API