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