Open studiowizjo opened 1 month ago
Do momentu kiedy kupujący nie opłaci zamówienia lub nie wybierze wysyłki za pobraniem (status zamówienia READY_FOR_PROCESSING) to składowe zamówienia i sama zawartość zamówienia może ulec zmianie. Dlatego gdy, otrzymasz event READY_FOR_PROCESSING możesz przyjąć, że dla zamówienia, którego ono dotyczy nic się już nie zmieni.
Ok. Rozumiem wiec, ze pobierajac zdarzenia wystarczy pominac rodzaj BOUGHT
aby uniknac tego problemu, natomiast w dalszym ciagu pobierac wszystkie inne aby miec najbardziej pelne i aktualne informacje?
BOUGHT: purchase without checkout form filled in
FILLED_IN: checkout form filled in but payment is not completed yet so data could still change
READY_FOR_PROCESSING: payment completed. Purchase is ready for processing
BUYER_CANCELLED: purchase was cancelled by buyer
FULFILLMENT_STATUS_CHANGED: fulfillment status changed
AUTO_CANCELLED: purchase was cancelled automatically by Allegro.
Również w przypadku FILLED_IN możesz otrzymać niepełne dane lub mogą się one zmienić. Generalnie, co do zasady rozpoczęcie przygotowania wysyłki powinno nastąpić w momencie, gdy danego zamówienia pojawi się event READY_FOR_PROCESSING i taki też status pojawi się jako status zamówienia.
Pobierajac zamowienie, ktorego checkoutFormId =
808082e2-76a2-11ef-a613-47b0e7fb1065
otrzymujemy zwrotnie nastepujace informacje o id poszczegolnych elementow zamowienia:Problem polega na tym, ze te same id dla "lineItems" sa powiazane rowniez z innymi zamowieniami
d02f8fb0-7694-11ef-99fc-d3c5743b61d5
da603630-767e-11ef-b28e-2f98dbccc264
da603630-767e-11ef-b28e-2f98dbccc264
Obecnie tych zamowien nie mozna juz pobrac i probujac to zrobic otrzymujemy blad:
Wyglada to wiec tak jakby najpierw istnialy te 2 zamowienia:
z tymi 3 itemami, a nastepnie zamowienia zostaly usuniete i scalone w jedno nowe o id
808082e2-76a2-11ef-a613-47b0e7fb1065
.Jak jednak mozemy wykryc taka sytuacje? Korzystamy z dziennika zdarzen (
https://api.allegro.pl/order/events
) do pobierania informacji o kolejnych zdarzeniach zamowien.