Zmiana istniejącego zamówienia przez Order Change: endpoint, przepływ i topiki webhook.
Czy zamówienie wymaga modyfikacji po wysłaniu? Za pomocą Order Change nabywca może zmienić istniejące zamówienie, np. dostosować ilości, dodać pozycje zamówienia lub zastąpić artykuły. Order Change stanowią część profilu Peppol Advanced Ordering.
Order Change to w istocie całkowicie nowy dokument UBL Order, który odwołuje się do oryginalnego zamówienia. Całkowicie zastępuje wcześniejsze zamówienie. Dostawca otrzymuje zmieniony dokument i może na niego odpowiedzieć Order Response (zaakceptować, odrzucić lub zaakceptować warunkowo).
Przepływ wygląda następująco:
OrderChangeReceivedNabywca wysyła Order Change, przesyłając nowy dokument UBL Order przez regularny endpoint:
POST /api/v1/{partyId}/purchaseOrder/send
Dokument zawiera odwołanie do oryginalnego zamówienia w elemencie OrderReference pliku UBL. PSB automatycznie rozpoznaje, że jest to zmiana.
Należy skonfigurować webhook na topiku OrderChangeReceived:
{
"action": "https://jouw-endpoint.nl/order-changes",
"topics": ["OrderChangeReceived"],
"secret": "jouw-geheime-sleutel"
}
Następnie pobieranie zmienionego dokumentu:
GET /api/v1/{partyId}/salesOrder/{documentId}/download
Wskazówka: należy porównać otrzymany dokument z oryginalnym zamówieniem, aby ustalić, co zostało zmienione. PSB nie oferuje funkcji diff; system musi samodzielnie wykryć zmiany.
OrderChangeSentOrderChangeReceivedOrderResponseReceivedJako dostawca odpowiada się na Order Change przez endpoint Order Response, dokładnie tak jak przy regularnym zamówieniu. Dostępne kody statusu są takie same: AB (odebrane), AP (zaakceptowane), CA (zaakceptowane warunkowo) i RE (odrzucone).
Zmodyfikowane zamówienie UBL wysyła się przez ten sam endpoint co nowe zamówienie: POST /api/v1/{partyId}/purchaseOrder/send. W dokumencie UBL należy umieścić odniesienie do pierwotnego zamówienia w elemencie OrderReference. PSB rozpoznaje na tej podstawie, że chodzi o modyfikację.
Tak. Order Change to zupełnie nowy dokument UBL Order, który odwołuje się do pierwotnego zamówienia i zastępuje poprzednią wersję. Dostawca pobiera dokument i musi sam określić różnice w stosunku do wcześniejszego dokumentu; PSB nie oferuje funkcji porównywania.
Należy skonfigurować webhook na OrderChangeReceived, pobrać za pomocą GET /api/v1/{partyId}/salesOrder/{documentId}/download i porównać z poprzednim zamówieniem. Następnie odpowiedzieć za pomocą Order Response (AB, AP, CA lub RE). Kupujący śledzi postęp między innymi przez OrderChangeSent i OrderResponseReceived.
Pełna specyfikacja API dostępna jest na psb.econnect.eu z dokładną strukturą UBL Order Change.
Zobacz dokumentację API