allegro / allegro-api

Issue tracker and wiki for Allegro REST API
https://developer.allegro.pl/
217 stars 39 forks source link

Pobieranie zamówień na podstawie zasobu /order/checkout-forms #4946

Closed ham3r closed 3 years ago

ham3r commented 3 years ago

Dzień dobry,

piszą Państwo, że zalecaną metodą pobierania najnowszych zamówień jest użycie dziennika zdarzeń. https://developer.allegro.pl/orders/#lista-zam%c3%b3wie%c5%84

  1. Czy uwaga o polu boughtAt jest aktualna, jeżeli dla zasobu /order/checkout-forms jest możliwe sortowanie po polu updatedAt?

  2. Czy pobranie zamówień przez...

    • dziennik zdarzeń (z parametrem from), a potem pojedynczo przez /order/checkout-forms/:id oraz
    • /order/checkout-forms/ (z parametrem filtrowania updatedAt.gte i sortowania updatedAt)

...jest odwzorowane 1:1?

A może jednak są pewne niuanse, może czegoś brakuje, może coś jest pomijane, przez co korzystanie z /order/checkout-forms jest niewłaściwe?

Pozdrawiam!

AureliuszBrussy commented 3 years ago

Oparcie logiki o sortowanie po updatedAt może sprawić, że np. zgubisz zamówienia. Nie gwarantujemy, że zamówienia będą pojawiać się idealnie wg kolejności pola updatedAt.

Potencjalna sytuacja obrazująca problem:

Dlatego też zalecamy korzystanie z dziennika zdarzeń - wtedy masz pewność, że nie pominiesz żadnego zamówienia.

ham3r commented 3 years ago

Rozumiem. A co jeżeli pobieramy większą liczbę zamówień (np. milion), co może mieć bezpośrednio wpływ na liczbę requestów?

Jeżeli rzeczywiście istnieje taki problem, to czy widzicie Państwo jakieś przeciwwskazania, aby podejść do sprawy hybrydowo, tj. zaciągać dziennik zdarzeń i zamówienia z /order/checkout-forms, a następnie różnicę uzupełnić pojedynczo przez /order/checkout-forms/:id?

Takie podejście, moim zdaniem ,wygląda sensownie i pozwala wyłapać braki w zamówieniach.

AureliuszBrussy commented 3 years ago

@ham3r być może będzie to dobre rozwiązanie, tutaj rozbija się to już o szczegóły implementacji.

stale[bot] commented 3 years ago

W tym wątku nie pojawiła się żadna nowa odpowiedź w ciągu 30 dni. Dlatego automatycznie oznaczamy go jako przeterminowany. Jeśli w ciągu 7 dni nie pojawi się żadna odpowiedź, zamkniemy ten wątek. Dziękujemy za zaangażowanie w dyskusję.