Ограничения частоты
Сколько запросов можно отправлять и как узнать остаток.
Число запросов ограничено отдельно для каждого ключа и для аккаунта в целом. Предел зависит от класса операции:
| Класс | На ключ | На аккаунт |
|---|---|---|
чтение (read) | 120 в минуту | 300 в минуту |
изменение (write) | 30 в минуту | 60 в минуту |
деньги (money) | 10 в минуту | 20 в минуту |
- Чтение — запросы
GET. - Изменение — прочие запросы, кроме денежных.
- Деньги — заказы и продления заказов.
Класс операции указан на её странице в справочнике.
Предел аккаунта общий для всех его ключей. Он нужен, чтобы несколько интеграций вместе не превысили то, что разумно для одного аккаунта. Запрос, отклонённый пределом ключа, в счёт аккаунта не идёт: зациклившаяся интеграция не блокирует соседние ключи.
Заголовки
Ответы на запросы с действующим ключом содержат заголовки:
| Заголовок | Что содержит |
|---|---|
RateLimit-Limit | Предел запросов в окне |
RateLimit-Remaining | Сколько запросов осталось в окне |
RateLimit-Reset | Через сколько секунд окно начнётся заново |
Значения относятся к самому тесному из двух пределов — ключа или аккаунта.
Превышение
При превышении API отвечает 429 rate_limited с заголовком Retry-After — числом секунд до конца окна. Повторите запрос не раньше этого времени. Если запросы отклоняются постоянно, распределите их равномернее или объедините: например, читайте список каналов одним запросом, а не каждый канал по отдельности.
Предел на адрес
Кроме пределов ключа и аккаунта, действует общий предел на IP-адрес отправителя: в среднем 10 запросов в секунду, разово — до 50 запросов сверх этого. В среднем он выше суммы пределов одного аккаунта: упереться в него можно, отправив одновременно больше 50 запросов.
Превышение даёт тот же ответ 429 rate_limited с Retry-After: 1, но без заголовков RateLimit-*: запрос отклоняется раньше, чем проверяется ключ.
Неверные ключи
Запросы с неверным ключом ограничены отдельно, по адресу отправителя: 20 за 10 минут. Подробнее — в разделе Аутентификация.