Пакетные запросы

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