Ограничения для запросов
глобальные ограничения (ограничения на количество одновременных запросов);
ресурсные ограничения (ограничения на количество запросов к одному и тому же ресурсу за продолжительный период времени, например, за сутки);
функциональные ограничения (ограничения на количество передаваемых или возвращаемых данных в одном запросе).
Глобальные ограничения действуют на количество одновременных (параллельных) запросов 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
с поясняющим сообщением.