Przejdź do głównej zawartości

Status zamówienia

Callback statusu pozwala na aktualizację statusu realizacji zamówienia w aplikacji użytkownika. Poprawia to doświadczenie zakupowe klienta i zmniejsza prawdopodobieństwo jego kontaktu z biurem obsługi sklepu. Patrz krok 12 na diagramie:

Poniżej znajduje się lista statusów zamówień dostępnych dla merchantów. Przejście do nowego statusu odbywa się przez wysłanie nowego statusu zamówienia.

  • ORDERED oznacza status zamówienia skutecznie złożonego przez użytkownika i przyjętego przez backend merchanta,
  • FULFILLED oznacza status zamówienia skompletowanego i przygotowanego do wysyłki,
  • SHIPPED oznacza status zamówienia wysłanego do użytkownika - odebranego przez operatora lub wysłanego transportem własnym sklepu,
  • READY_FOR_PICKUP oznacza status zamówienia dostarczonego do punktu odbioru - Paczkomatu lub własnego punktu odbioru sklepu,
  • DELIVERED oznacza status zamówienia odebranego przez użytkownika lub dostarczonego pod wskazany adres,
  • CANCELLED_MERCHANT oznacza status zamówienia anulowanego przez sklep (z dowolnego powodu). Status ten jest możliwy do momentu przejścia zamówienia w status DELIVERED (zmiana dokonana przez sklep lub OpenApp).

Logiczna sekwencja zmian statusów (każdy krok może zostać pominięty):

NEW -> ORDERED -> FULFILLED -> SHIPPED -> READY_FOR_PICKUP -> DELIVERED

NEW -> ORDERED -> FULFILLED -> SHIPPED -> IN_DELIVERY -> DELIVERED

Zamówienie wysyłane w jednej przesyłce

Żądanie

Aktualizacja statusu zamówienia jest wykonywana przez żądanie POST na następujący endpoint:

POST {{OpenAppUrl}}/merchant/v1/orders/fulfillment

Treść żądania zawiera informacje o statusie realizacji:

{
"oaOrderId": "OA12345678901234",
"shopOrderId": "WS1213ASDZXC231A",
"status": "READY_FOR_PICKUP",
"notes": "free text description",
"shipping": {
"operator": "INPOST_APM",
"trackingCode": "z123",
"trackingUrl": "https://example.invalid/tracking?c=z123"
}
}

Odpowiedź

W odpowiedzi OpenApp potwierdzi przyjęcie aktualizacji statusu.

Błędy

Nazwa błęduKod
IncorrectDeliveryStatusException400
OrderNotFoundException404
MerchantOrderOwnershipException404

Zamówienie rozdzielone na kilka przesyłek

Możliwe jest, że zamówienie zostanie wysłane w kilku przesyłkach. Aby poinformować o tym OpenApp i użytkownika, należy użyć endpointu multi-fulfillment opisanego poniżej.

ostrzeżenie

Po rozdzieleniu zamówienia na wiele przesyłek nie można już korzystać z endpointu dla pojedynczej przesyłki. Ponadto każda stworzona przesyłka musi być obecna w każdym żądaniu do endpointu multi-fulfillment. Jeśli zamówienie zostało podzielone na 3 przesyłki, statusy należy aktualizować z 3 przesyłkami na liście. Jeśli następnie zostaną połączone w 2 przesyłki, nadal należy wysyłać 3 przesyłki (trzecia może mieć oczywiście status anulowany).

Żądanie

Aktualizacja statusu jest wykonywana przez żądanie POST na następujący endpoint:

POST {{OpenAppUrl}}/merchant/v1/orders/multiFulfillment

Treść żądania zawiera informacje o statusie realizacji:

{
"oaOrderId": "OA12345678901234",
"shopOrderId": "WS1213ASDZXC231A",
"shipments": [
{
"shipmentId": "hkkdf378723_1",
"status": "READY_FOR_PICKUP",
"notes": "free text description",
"operator": "INPOST_APM",
"trackingCode": "z123",
"trackingUrl": "https://example.invalid/tracking?c=z123",
"products": [
{
"id": "productxyz",
"quantity": 5
}
],
"timing": "dec 1 - dec 2"
},
{
"shipmentId": "hkkdf378723_2",
"status": "FULFILLED"
}
]
}

Odpowiedź

W odpowiedzi OpenApp potwierdzi status.

Błędy

Nazwa błęduKod
OrderNotFoundException404
MerchantOrderOwnershipException404