Ограничения для запросов

Внимание. Маркет постепенно перестает поддерживать XML. Поэтому мы рекомендуем переходить на JSON. Сейчас XML можно использовать, если добавить в запрос Content-Type: application/xml. Без этого будут ошибки.
Ограничения для запросов к партнерскому API Маркета делятся на следующие типы:
  • глобальные ограничения (ограничения на количество одновременных запросов);

  • ресурсные ограничения (ограничения на количество запросов к одному и тому же ресурсу за продолжительный период времени, например, за сутки);

  • функциональные ограничения (ограничения на количество передаваемых или возвращаемых данных в одном запросе).

Глобальные ограничения действуют на количество одновременных (параллельных) запросов c одного логина. Разрешается выполнять не более двух одновременных запросов.

При превышении ограничения сервер возвращает специальный HTTP-код 420 Enhance Your Calm с поясняющим сообщением:

Hit rate limit of 2 parallel requests

Ресурсные ограничения действуют на объем запросов к одному и тому же ресурсу партнерского API за продолжительный период времени с одного логина. Под объемом запросов понимается количество запросов и количество передаваемых или возвращаемых данных за один запрос.

Для большинства ресурсов ограничения действуют только на количество запросов. Эти ограничения индивидуальны для каждого ресурса, их значения указаны в описаниях каждой группы запросов.

Для остальных ресурсов ограничения действуют на суммарное количество передаваемых или возвращаемых данных в запросах к одному и тому же ресурсу. Эти ограничения рассчитываются индивидуально для каждого магазина или партнера. Критерии расчета ограничений указаны в описаниях таких ресурсов.

Некоторые ресурсы объединены в группы, для которых действует общее ресурсное ограничение. В этом случае ограничения действуют на объем запросов к любому из ресурсов группы за продолжительный период времени.

Примечание.

Модели товаров, ассортимент Маркета и цены на предложения обновляются примерно раз в 4 часа. Поэтому не имеет смысла выполнять запросы для получения информации чаще чем раз в 4 часа.

В каждом ответе на запрос сервер возвращает специальные HTTP-заголовки, в которых указывается состояние ресурсного ограничения для магазина или партнера:

  • заголовок X-RateLimit-Resource-Limit содержит числовое значение ограничения;

  • заголовок X-RateLimit-Resource-Until содержит дату, до которой действует ограничение, в формате RFC822 (например, Thu, 10 Jul 2018 00:42:42 GMT);

  • заголовок X-RateLimit-Resource-Remaining содержит числовое значение объема запросов к данному ресурсу, оставшихся до превышения ограничения.

При превышении ограничения сервер отдает специальный HTTP-код 420 Enhance Your Calm с поясняющим сообщением, например:

Hit rate limit of 50 000 points per 1 day for resource /regions/{regionId}.json

Функциональные ограничения действуют на количество передаваемых или возвращаемых данных для ресурса за один запрос. Ограничения индивидуальны для каждого ресурса, их значения указаны в описаниях каждой группы методов, а также в описаниях самих запросов.

При превышении ограничения сервер отдает специальный HTTP-код 400 Bad Request с поясняющим сообщением.