Modificare un ordine (Order Change)

Modificare un ordine esistente tramite Order Change: endpoint, flusso e topic webhook.

È necessario modificare un ordine dopo l'invio? Con un Order Change l'acquirente può modificare un ordine esistente, ad esempio per aggiornare le quantità, aggiungere righe d'ordine o sostituire articoli. Gli Order Change fanno parte del profilo Peppol Advanced Ordering.

Come funziona un Order Change?

Un Order Change è essenzialmente un nuovo documento UBL Order completo che fa riferimento all'ordine originale. Sostituisce completamente l'ordine precedente. Il fornitore riceve il documento modificato e può rispondere con un Order Response (accettare, rifiutare o accettare condizionalmente).

Il flusso è il seguente:

  1. Acquirente invia un Order Change con un riferimento all'ordine originale
  2. Fornitore riceve la modifica tramite il webhook OrderChangeReceived
  3. Fornitore scarica l'ordine modificato e lo confronta con l'originale
  4. Fornitore invia un Order Response (AB, AP, CA o RE)
Endpoint (acquirente)

L'acquirente invia un Order Change caricando un nuovo documento UBL Order tramite l'endpoint regolare:

POST /api/v1/{partyId}/purchaseOrder/send

Il documento contiene un riferimento all'ordine originale nell'elemento OrderReference del file UBL. La PSB riconosce automaticamente che si tratta di una modifica.

Ricezione come fornitore

Configuri un webhook sul topic OrderChangeReceived:

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

Scarichi poi il documento modificato tramite:

GET /api/v1/{partyId}/salesOrder/{documentId}/download

Suggerimento: confronti il documento ricevuto con l'ordine originale per determinare cosa è stato modificato. La PSB non offre una funzione diff; il Suo sistema deve rilevare le modifiche autonomamente.

Topic webhook
TopicDirezioneQuandoOrderChangeSentAcquirenteLa modifica è stata consegnata con successoOrderChangeReceivedFornitoreLa modifica è stata ricevutaOrderResponseReceivedAcquirenteIl fornitore ha risposto alla modifica
Rispondere a un Order Change

Come fornitore si risponde a un Order Change tramite l'endpoint Order Response, esattamente come per un ordine regolare. I codici di stato disponibili sono gli stessi: AB (ricevuto), AP (accettato), CA (accettato condizionalmente) e RE (rifiutato).

Domande frequenti
Come riconosce la PSB che il mio messaggio è un Order Change e non un nuovo ordine?

Invii l'ordine UBL modificato tramite lo stesso endpoint di un nuovo ordine: POST /api/v1/{partyId}/purchaseOrder/send. Nel documento UBL, inserisca il riferimento all'ordine originale nell'elemento OrderReference. La PSB riconosce così che si tratta di una modifica.

Un Order Change sostituisce completamente l'ordine precedente?

Sì. Un Order Change è un documento UBL Order completamente nuovo che fa riferimento all'ordine originale e sostituisce la versione precedente. Il fornitore scarica il documento e deve determinare autonomamente le differenze con il documento precedente; la PSB non offre una funzione di confronto.

Quale schema di integrazione segue il fornitore dopo `OrderChangeReceived`?

Configuri un webhook su OrderChangeReceived, scarichi tramite GET /api/v1/{partyId}/salesOrder/{documentId}/download e confronti con l'ordine precedente. Risponda poi con una Order Response (AB, AP, CA o RE). L'acquirente segue l'avanzamento tramite, tra gli altri, OrderChangeSent e OrderResponseReceived.


Consulti la specifica API completa su psb.econnect.eu per l'esatta struttura UBL di un Order Change.

Consulti la documentazione API

Correlati