Anulowanie zamówienia (Order Cancellation)

Anulowanie istniejącego zamówienia przez API: endpoint, przepływ i odpowiedź dostawcy.

Zamówienie, które zostało już wysłane, może zostać anulowane przez nabywcę za pomocą Order Cancellation. Dostawca otrzymuje anulowanie i może je zaakceptować lub odrzucić. Order Cancellation stanowią część profilu Peppol Advanced Ordering.

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

{partyId} to identyfikator Peppol nabywcy. {documentId} to ID oryginalnego zamówienia, które ma zostać anulowane. Jest to ID dokumentu otrzymany przy wysyłaniu zamówienia.

Uwaga: anulowanie to żądanie, a nie gwarancja. Dostawca może odrzucić anulowanie, np. jeśli zamówienie jest już w produkcji. Dopiero po otrzymaniu Order Response z kodem statusu AP (zaakceptowane) anulowanie jest ostateczne.

Przepływ
  1. Nabywca wysyła żądanie anulowania przez endpoint cancel
  2. Dostawca otrzymuje anulowanie przez webhook OrderCancellationReceived
  3. Dostawca ocenia, czy anulowanie może zostać przeprowadzone
  4. Dostawca wysyła Order Response: AP (zaakceptowane) lub RE (odrzucone)
  5. Nabywca otrzymuje odpowiedź przez webhook OrderResponseReceived
Odbiór jako dostawca

Należy skonfigurować webhook na topiku OrderCancellationReceived:

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

Pobranie dokumentu anulowania w celu sprawdzenia przyczyny:

GET /api/v1/{partyId}/salesOrder/{documentId}/download
Topiki webhook
TopikKierunekKiedyOrderCancellationSentNabywcaAnulowanie zostało pomyślnie dostarczoneOrderCancellationReceivedDostawcaAnulowanie zostało odebraneOrderResponseReceivedNabywcaDostawca odpowiedział na anulowanieOrderResponseSentDostawcaOdpowiedź na anulowanie została wysłana
Reagowanie na anulowanie

Jako dostawca odpowiada się na anulowanie przez endpoint Order Response. Właściwe kody statusu to:

KodZnaczenieAPAnulowanie zaakceptowane, zamówienie nie zostanie zrealizowaneREAnulowanie odrzucone, zamówienie pozostaje aktywne
Często zadawane pytania
Jakiego `documentId` użyć w endpoincie anulowania?

Należy użyć identyfikatora dokumentu pierwotnego zamówienia, który otrzymali Państwo od PSB przy wysyłaniu (POST .../purchaseOrder/send). Ścieżka to POST /api/v1/{partyId}/purchaseOrder/{documentId}/cancel, gdzie {partyId} to identyfikator Peppol kupującego.

Czy anulowanie jest natychmiast ostateczne po pomyślnym żądaniu?

Nie. Anulowanie to żądanie. Dostawca może je odrzucić, na przykład gdy zamówienie jest już w trakcie realizacji. Dopiero gdy otrzymają Państwo Order Response z kodem AP, anulowanie jest uznane za zaakceptowane zgodnie z przepływem.

Jak Order Cancellation wpisuje się w profil Advanced Ordering?

Order Cancellation jest częścią Advanced Ordering: dostawca otrzymuje OrderCancellationReceived, może pobrać dokument anulowania i odpowiada za pomocą Order Response z kodem AP (zaakceptowane) lub RE (odrzucone). Kupujący śledzi wynik między innymi przez OrderResponseReceived.


Pełna specyfikacja API dostępna jest na psb.econnect.eu z dokładnymi strukturami żądań i odpowiedzi.

Wypróbuj w API