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."