Żądania zbiorcze

custombatch to typowa metoda, która umożliwia zgrupowanie kilku wywołań interfejsu API, tzw. „wejścia”, w jedno żądanie HTTP. Każdy wpis odwołuje się tylko do wywołania jednej metody.

Niestandardowa porcja towaru to dobry wybór, gdy:

  • Od niedawna korzystasz z interfejsu API i masz dużo danych produktów do przesłania.
  • Musisz synchronizować dane lokalne z serwerem, wysyłając wiele aktualizacji i usunięć.

Wysyłanie żądań zbiorczych

Wysyłanie żądań zbiorczych jest podobne do równoległego wysyłania wywołań interfejsu API. Pamiętaj, że nie ma gwarancji, że kolejność wpisów zdefiniowana w żądaniu będzie określona w kolejności ich wykonania. Zalecamy, by nie używać wywołań współzależnych w pojedynczym żądaniu zbiorczym (np. podczas tworzenia i aktualizowania tej samej przesyłki).

Podobnie odpowiedzi otrzymywane na żądania zbiorcze mogą być zwracane w innej kolejności niż wpisy żądań. BatchId może służyć do skorelowania żądań i odpowiedzi, ponieważ odpowiedzi mogą być zwracane poza sekwencją.

Możesz przesyłać żądania zbiorcze w interfejsie API, wywołując odpowiednią metodę custombatch:

Zasoby i odpowiadające im niestandardowe metody wsadowe
Accounts accounts.custombatch
Accountstatuses accountstatuses.custombatch
Accounttax accounttax.custombatch
Datafeeds datafeeds.custombatch
Datafeedstatuses datafeedstatuses.custombatch
Localinventory localinventory.custombatch
Liasettings liasettings.custombatch
Pos pos.custombatch
Products products.custombatch
Productstatuses productstatuses.custombatch
Shippingsettings shippingsettings.custombatch

Limity

Aby uniknąć błędów podczas przesyłania dużych wsadów, zalecamy ograniczenie rozmiaru żądań custombatch do maksymalnie 1000 wpisów. W przypadku żądań typu custombatch mają zastosowanie te maksymalne wartości:

  • 50 000 wpisów na custombatch żądanie
  • Rozmiar transferu: 32 MB

Wywołania, które przekraczają wartości maksymalne, powodują wystąpienie tych request_too_large błędów:

  • "Too many requests in a batch."
  • "Request payload size exceeds the limit: %d bytes."