custombatch
— это распространенный метод, который позволяет группировать несколько вызовов API, известных как «записи», в один HTTP-запрос. Каждая запись ссылается только на один вызов метода.
Изготовленная на заказ партия является хорошим выбором, когда:
- Вы только начали использовать API и вам нужно загрузить много данных о продуктах.
- Вам необходимо синхронизировать локальные данные с сервером, отправляя множество обновлений и удалений.
Делайте пакетные запросы
Отправка пакетных запросов аналогична параллельной отправке вызовов API. Обратите внимание, что нет никакой гарантии, что порядок записей, определенный в запросе, будет соответствовать порядку их выполнения. Мы рекомендуем не использовать взаимозависимые вызовы в одном пакетном запросе (например, при создании и обновлении одной и той же поставки).
Аналогичным образом, ответы, полученные на пакетные запросы, могут быть возвращены в порядке, отличном от порядка записей запроса. BatchId
можно использовать для корреляции запросов и ответов, поскольку ответы могут возвращаться вне последовательности.
Вы можете пакетировать запросы в API, вызвав соответствующий метод custombatch
:
Ресурсы и соответствующие им пользовательские пакетные методы. | |
---|---|
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 |
Пределы
Чтобы избежать ошибок при загрузке больших пакетов, мы рекомендуем ограничить размер запросов custombatch
максимум 1000 записей. К запросам custombatch
применяются следующие максимальные значения:
- 50 000 записей на запрос
custombatch
- Размер передачи 32 МБ
Вызовы, превышающие максимальные значения, приводят к следующим ошибкам request_too_large
:
-
"Too many requests in a batch."
-
"Request payload size exceeds the limit: %d bytes."