Odbieranie zamówienia przez API

Odbieranie przychodzących zamówień przez webhooki, pobieranie przez SalesOrder API i przetwarzanie.

Gdy klient wysyła zamówienie zakupowe do Państwa organizacji przez Peppol, otrzymują je Państwo jako zamówienie sprzedażowe w PSB. Webhook natychmiast Państwa powiadamia, po czym mogą Państwo pobrać i przetworzyć zamówienie.

Krok 1: konfiguracja webhooka

Należy zarejestrować webhook dla topiku OrderReceived, aby PSB powiadamiał o nadejściu zamówienia:

{
  "action": "https://jouw-endpoint.nl/orders",
  "topics": ["OrderReceived"],
  "secret": "jouw-geheime-sleutel"
}

Payload webhooka zawiera m.in. documentId i senderPartyId, dzięki czemu wiadomo, które zamówienie od jakiego nadawcy dotarło.

Krok 2: pobieranie zamówienia

Należy użyć documentId z payloadu webhooka, aby pobrać zamówienie:

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

Odpowiedź zawiera dokument UBL Order XML. Domyślnie otrzymują Państwo dokument w formacie, w jakim został wysłany. Chcą Państwo go w innym formacie? Należy użyć parametru zapytania targetDocumentTypeId, aby automatycznie przetransformować dokument do żądanego formatu.

Uwaga: odebrane dokumenty są przechowywane w PSB przez 90 dni. Po pobraniu dokumentu pozostaje on dostępny jeszcze przez 7 dni. Dlatego zamówienia należy pobierać terminowo i przechowywać we własnym systemie.

Krok 3: przetwarzanie zamówienia

Po pobraniu zamówienie przetwarza się we własnym systemie. Przy profilu Advanced Ordering oczekuje się, że zostanie wysłany Order Response do nabywcy. Dostępne statusy to:

KodZnaczenieABAcknowledged, zamówienie zostało odebrane i jest czytelneAPAccepted, zamówienie zostało zaakceptowaneCAConditionally Accepted, zamówienie zostało zaakceptowane ze zmianamiRERejected, zamówienie zostało odrzucone

Response wysyła się przez endpoint Order Response.

Topiki webhook

Oprócz OrderReceived istnieją inne topiki istotne przy odbieraniu zamówień:

TopikKiedyOrderReceivedNowe zamówienie odebraneOrderChangeReceivedNabywca wysłał zmianę zamówieniaOrderCancellationReceivedNabywca chce anulować zamówienie
Usuwanie dokumentu

Chcą Państwo ręcznie usunąć odebrane zamówienie z PSB? Można to zrobić przez:

DELETE /api/v1/{partyId}/salesOrder/{documentId}
Często zadawane pytania
Jak powiązać webhook z pobieraniem zamówienia przychodzącego?

Należy zarejestrować webhook na topic OrderReceived. Payload zawiera między innymi documentId i senderPartyId. Za pomocą tego documentId należy wywołać GET /api/v1/{partyId}/salesOrder/{documentId}/download, aby pobrać XML UBL Order i przetworzyć go we własnym systemie.

Dlaczego przy Advanced Ordering muszę wysłać Order Response?

Przy profilu Advanced Ordering kupujący oczekuje, że dostawca odpowie za pomocą Order Response. Używa się kodów AB (otrzymane i czytelne), AP (zaakceptowane), CA (zaakceptowane warunkowo) lub RE (odrzucone). Bez tej odpowiedzi proces nie jest zakończony zgodnie z profilem.

Jak długo odebrane zamówienia pozostają dostępne w PSB?

Odebrane dokumenty są przechowywane w PSB przez 90 dni. Po pobraniu dokument pozostaje dostępny przez kolejne 7 dni. Dlatego należy zapisywać zamówienia we własnym środowisku na bieżąco i odpowiednio planować integrację.


Pełna specyfikacja API dostępna jest na psb.econnect.eu ze wszystkimi parametrami i strukturami odpowiedzi.

Otwórz referencję API