Лимиты API MAX: как не получить ошибку при массовых запросах
Лимиты API MAX нужно читать для конкретного метода и ответа сервера: единого безопасного числа запросов для всех операций нет. Клиент обязан ограничивать параллелизм, ставить отправку в очередь и к…
В этой статье
Коротко. Лимиты API MAX нужно читать для конкретного метода и ответа сервера: единого безопасного числа запросов для всех операций нет. Клиент обязан ограничивать параллелизм, ставить отправку в очередь и корректно обрабатывать HTTP 429. Для повторов используйте Retry-After, если он пришёл, либо ограниченную экспоненциальную паузу с jitter; запросы, создающие действие, защищайте ключом идемпотентности на своей стороне.
Какие лимиты API MAX нужно учитывать
Запрос к API. Какие лимиты api max нужно учитывать.
Почему нельзя ориентироваться на одно число
Реакция очереди. Почему нельзя ориентироваться на одно число.
Как устроить очередь запросов
Запрос к API. Как устроить очередь запросов.
Что делать при HTTP 429
Реакция очереди. Что делать при http 429.
Как настроить exponential backoff и jitter
Запрос к API. Как настроить exponential backoff и jitter.
Какие запросы можно повторять
Реакция очереди. Какие запросы можно повторять.
Как ограничить массовую отправку
Запрос к API. Как ограничить массовую отправку.
Какие метрики показывают приближение к лимиту
Реакция очереди. Какие метрики показывают приближение к лимиту.
Как провести нагрузочную проверку
Запрос к API. Как провести нагрузочную проверку.
Частые ошибки при работе с лимитами
Реакция очереди. Частые ошибки при работе с лимитами.
Чек-лист
Запрос к API. Чек-лист.
| Лимиты API MAX: блок 1 | Проверяемая граница |
|---|---|
| Какие лимиты API MAX нужно учитывать | какие лимиты api max нужно учитывать |
| Почему нельзя ориентироваться на одно число | почему нельзя ориентироваться на одно число |
| Как устроить очередь запросов | как устроить очередь запросов |
| Что делать при HTTP 429 | что делать при http 429 |
| Лимиты API MAX: блок 2 | Проверяемая граница |
|---|---|
| Как настроить exponential backoff и jitter | как настроить exponential backoff и jitter |
| Какие запросы можно повторять | какие запросы можно повторять |
| Как ограничить массовую отправку | как ограничить массовую отправку |
| Какие метрики показывают приближение к лимиту | какие метрики показывают приближение к лимиту |
Расширенная практика по теме «лимиты API MAX»
Массовая отправка ломается не только из-за частоты.
Один процесс может конкурировать с другим, повторять уже выполненную операцию после таймаута или одновременно загружать
тяжёлые вложения.
Поэтому защита строится вокруг очереди и наблюдаемого бюджета запросов.
Материал посвящён частоте, параллелизму, 429, retry и backoff.
Справочник всех методов Bot API и бизнес-логика бота здесь не дублируются.
Какие лимиты API MAX нужно учитывать Какие лимиты API MAX нужно учитывать: переведите ограничения конкретного метода, размер
страницы, вложения и общий
параллелизм в проверяемое правило.
В разделе «Какие лимиты API MAX нужно учитывать» разберите сценарий на четыре элемента: отправка сообщения, получение чата,
загрузка вложения и проверка
Шаг 1 для лимиты API MAX. результата.
В вопросе «Какие лимиты API MAX нужно учитывать» проверка элемента «HTTP 429» начинается с малого набора, где ошибка заметна
вручную.
Почему нельзя ориентироваться на одно число Почему нельзя ориентироваться на одно число: переведите разные операции,
изменения документации и динамическая
защита сервера в проверяемое правило.
В разделе «Почему нельзя ориентироваться на одно число» разберите сценарий на четыре элемента: отправка сообщения, получение
чата, загрузка вложения и
Шаг 1 для лимиты API MAX. проверка результата.
Шаг 1 для лимиты API MAX. Элемент Пример Контроль Retry-after отправка сообщения Проверить до запуска Backoff получение чата
Зафиксировать владельца Jitter загрузка вложения
Сохранить результат Очередь проверка результата Сравнить с исходным В вопросе «Почему нельзя ориентироваться на одно число»
проверка элемента «Retry-After»
Шаг 1 для лимиты API MAX. начинается с малого набора, где ошибка заметна вручную.
Как устроить очередь запросов Как устроить очередь запросов: переведите приоритеты, скорость выдачи, число воркеров и
отложенная повторная попытка в
Шаг 1 для лимиты API MAX. проверяемое правило.
В разделе «Как устроить очередь запросов» разберите сценарий на четыре элемента: отправка сообщения, получение чата, загрузка
вложения и проверка
Шаг 2 для лимиты API MAX. результата.
Что делать при HTTP 429 Что делать при HTTP 429: переведите Retry-After, пауза всего контура и отсутствие мгновенного
повторного шторма в проверяемое
правило.
В разделе «Что делать при HTTP 429» разберите сценарий на четыре элемента: отправка сообщения, получение чата, загрузка
вложения и проверка результата.
В вопросе «Что делать при HTTP 429» проверка элемента «jitter» начинается с малого набора, где ошибка заметна вручную.
Как настроить exponential backoff и jitter Как настроить exponential backoff и jitter: переведите растущая ограниченная
задержка и случайное расхождение
воркеров в проверяемое правило.
В разделе «Как настроить exponential backoff и jitter» разберите сценарий на четыре элемента: отправка сообщения, получение
чата, загрузка вложения и
Шаг 2 для лимиты API MAX. проверка результата.
Элемент Пример Контроль Очередь отправка сообщения Проверить до запуска Параллелизм получение чата Зафиксировать владельца
Http 429 загрузка вложения
Сохранить результат Retry-after проверка результата Сравнить с исходным В вопросе «Как настроить exponential backoff и
jitter» проверка элемента «очередь»
Шаг 2 для лимиты API MAX. начинается с малого набора, где ошибка заметна вручную.
Какие запросы можно повторять Какие запросы можно повторять: переведите чтение, безопасная запись, проверка результата и риск
двойного действия в
Шаг 2 для лимиты API MAX. проверяемое правило.
В разделе «Какие запросы можно повторять» разберите сценарий на четыре элемента: отправка сообщения, получение чата, загрузка
вложения и проверка
Шаг 3 для лимиты API MAX. результата.
Как ограничить массовую отправку Как ограничить массовую отправку: переведите пакеты, расписание, приоритет служебных
сообщений и остановка кампании в
Шаг 3 для лимиты API MAX. проверяемое правило.
В разделе «Как ограничить массовую отправку» разберите сценарий на четыре элемента: отправка сообщения, получение чата,
загрузка вложения и проверка
Шаг 4 для лимиты API MAX. результата.
В вопросе «Как ограничить массовую отправку» проверка элемента «HTTP 429» начинается с малого набора, где ошибка заметна
вручную.
Какие метрики показывают приближение к лимиту Какие метрики показывают приближение к лимиту: переведите 429, очередь, возраст
задачи, latency и число
попыток в проверяемое правило.
В разделе «Какие метрики показывают приближение к лимиту» разберите сценарий на четыре элемента: отправка сообщения,
получение чата, загрузка вложения и
Шаг 3 для лимиты API MAX. проверка результата.
Шаг 2 для лимиты API MAX. Элемент Пример Контроль Retry-after отправка сообщения Проверить до запуска Backoff получение чата
Зафиксировать владельца Jitter загрузка вложения
Сохранить результат Очередь проверка результата Сравнить с исходным В вопросе «Какие метрики показывают приближение к лимиту»
проверка элемента
«Retry-After» начинается с малого набора, где ошибка заметна вручную.
Как провести нагрузочную проверку Как провести нагрузочную проверку: переведите стенд, ступенчатый рост, стоп-условия и
отсутствие теста на пользователях в
Шаг 4 для лимиты API MAX. проверяемое правило.
В разделе «Как провести нагрузочную проверку» разберите сценарий на четыре элемента: отправка сообщения, получение чата,
загрузка вложения и проверка
Шаг 5 для лимиты API MAX. результата.
Частые ошибки при работе с лимитами Частые ошибки при работе с лимитами: переведите retry без потолка, множество независимых
воркеров и потеря задания в
Шаг 5 для лимиты API MAX. проверяемое правило.
В разделе «Частые ошибки при работе с лимитами» разберите сценарий на четыре элемента: отправка сообщения, получение чата,
загрузка вложения и проверка
Шаг 6 для лимиты API MAX. результата.
Элемент Пример Контроль Jitter отправка сообщения Проверить до запуска Очередь получение чата Зафиксировать владельца
Параллелизм загрузка вложения
Сохранить результат Http 429 проверка результата Сравнить с исходным В вопросе «Частые ошибки при работе с лимитами» проверка
элемента «jitter» начинается
с малого набора, где ошибка заметна вручную.
Чек-лист Определён главный интент «лимиты API MAX» и граница с соседними материалами.
Проверены сценарии: отправка сообщения, получение чата, загрузка вложения, проверка результата.
Термины HTTP 429, Retry-After, backoff, jitter используются последовательно.
Рабочая таблица проверки: лимиты API MAX
| Участок | Действие | Артефакт | Стоп-условие |
|---|---|---|---|
| 1. Какие лимиты API MAX нужно учитывать | лимиты API MAX: сверить «Какие лимиты API MAX нужно учитывать» с исходными данными; отметить владельца и дату. | Артефакт «Какие лимиты API MAX нужно учитывать»: факт по теме лимиты API MAX, граница применения и следующий шаг. | лимиты API MAX: остановить этап 1, если для «Какие лимиты API MAX нужно учитывать» неизвестен источник или критерий. |
| 2. Почему нельзя ориентироваться на одно число | лимиты API MAX: сверить «Почему нельзя ориентироваться на одно число» с исходными данными; отметить владельца и дату. | Артефакт «Почему нельзя ориентироваться на одно число»: факт по теме лимиты API MAX, граница применения и следующий шаг. | лимиты API MAX: остановить этап 2, если для «Почему нельзя ориентироваться на одно число» неизвестен источник или критерий. |
| 3. Как устроить очередь запросов | лимиты API MAX: сверить «Как устроить очередь запросов» с исходными данными; отметить владельца и дату. | Артефакт «Как устроить очередь запросов»: факт по теме лимиты API MAX, граница применения и следующий шаг. | лимиты API MAX: остановить этап 3, если для «Как устроить очередь запросов» неизвестен источник или критерий. |
| 4. Что делать при HTTP 429 | лимиты API MAX: сверить «Что делать при HTTP 429» с исходными данными; отметить владельца и дату. | Артефакт «Что делать при HTTP 429»: факт по теме лимиты API MAX, граница применения и следующий шаг. | лимиты API MAX: остановить этап 4, если для «Что делать при HTTP 429» неизвестен источник или критерий. |
| 5. Как настроить exponential backoff и jitter | лимиты API MAX: сверить «Как настроить exponential backoff и jitter» с исходными данными; отметить владельца и дату. | Артефакт «Как настроить exponential backoff и jitter»: факт по теме лимиты API MAX, граница применения и следующий шаг. | лимиты API MAX: остановить этап 5, если для «Как настроить exponential backoff и jitter» неизвестен источник или критерий. |
| 6. Какие запросы можно повторять | лимиты API MAX: сверить «Какие запросы можно повторять» с исходными данными; отметить владельца и дату. | Артефакт «Какие запросы можно повторять»: факт по теме лимиты API MAX, граница применения и следующий шаг. | лимиты API MAX: остановить этап 6, если для «Какие запросы можно повторять» неизвестен источник или критерий. |
| 7. Как ограничить массовую отправку | лимиты API MAX: сверить «Как ограничить массовую отправку» с исходными данными; отметить владельца и дату. | Артефакт «Как ограничить массовую отправку»: факт по теме лимиты API MAX, граница применения и следующий шаг. | лимиты API MAX: остановить этап 7, если для «Как ограничить массовую отправку» неизвестен источник или критерий. |
| 8. Какие метрики показывают приближение к лимиту | лимиты API MAX: сверить «Какие метрики показывают приближение к лимиту» с исходными данными; отметить владельца и дату. | Артефакт «Какие метрики показывают приближение к лимиту»: факт по теме лимиты API MAX, граница применения и следующий шаг. | лимиты API MAX: остановить этап 8, если для «Какие метрики показывают приближение к лимиту» неизвестен источник или критерий. |
| 9. Как провести нагрузочную проверку | лимиты API MAX: сверить «Как провести нагрузочную проверку» с исходными данными; отметить владельца и дату. | Артефакт «Как провести нагрузочную проверку»: факт по теме лимиты API MAX, граница применения и следующий шаг. | лимиты API MAX: остановить этап 9, если для «Как провести нагрузочную проверку» неизвестен источник или критерий. |
| 10. Частые ошибки при работе с лимитами | лимиты API MAX: сверить «Частые ошибки при работе с лимитами» с исходными данными; отметить владельца и дату. | Артефакт «Частые ошибки при работе с лимитами»: факт по теме лимиты API MAX, граница применения и следующий шаг. | лимиты API MAX: остановить этап 10, если для «Частые ошибки при работе с лимитами» неизвестен источник или критерий. |
| 11. Чек-лист | лимиты API MAX: сверить «Чек-лист» с исходными данными; отметить владельца и дату. | Артефакт «Чек-лист»: факт по теме лимиты API MAX, граница применения и следующий шаг. | лимиты API MAX: остановить этап 11, если для «Чек-лист» неизвестен источник или критерий. |
Контрольный журнал: лимиты API MAX
1. лимиты API MAX: для «Какие лимиты API MAX нужно учитывать» зафиксируйте исходное состояние, владельца и дату; итогом будет
проверяемая запись по этому
участку.
2. Контроль «Почему нельзя ориентироваться на одно число» в теме лимиты API MAX: сравните основной и пограничный пример;
исключение подпишите отдельно и не
смешивайте с нормой.
3. По разделу «Как устроить очередь запросов» для лимиты API MAX сохраните источник, ограничение и наблюдаемый результат; без
этой тройки вывод не
масштабируют.
4. Практика лимиты API MAX, пункт «Что делать при HTTP 429»: изменяйте один параметр, записывайте эффект и возвращайте
прежнее состояние при стоп-сигнале.
5. лимиты API MAX: для «Как настроить exponential backoff и jitter» зафиксируйте исходное состояние, владельца и дату; итогом
будет проверяемая запись по
этому участку.
6. Контроль «Какие запросы можно повторять» в теме лимиты API MAX: сравните основной и пограничный пример; исключение
подпишите отдельно и не смешивайте с
нормой.
7. По разделу «Как ограничить массовую отправку» для лимиты API MAX сохраните источник, ограничение и наблюдаемый результат;
без этой тройки вывод не
масштабируют.
8. Практика лимиты API MAX, пункт «Какие метрики показывают приближение к лимиту»: изменяйте один параметр, записывайте
эффект и возвращайте прежнее
состояние при стоп-сигнале.
9. лимиты API MAX: для «Как провести нагрузочную проверку» зафиксируйте исходное состояние, владельца и дату; итогом будет
проверяемая запись по этому
участку.
10. Контроль «Частые ошибки при работе с лимитами» в теме лимиты API MAX: сравните основной и пограничный пример; исключение
подпишите отдельно и не
смешивайте с нормой.
11. По разделу «Чек-лист» для лимиты API MAX сохраните источник, ограничение и наблюдаемый результат; без этой тройки вывод
не масштабируют.
Остался вопрос по теме статьи? Напишите его в предложку блога — отвечаю лично: задать вопрос в MAX. Частые вопросы разбираю отдельными статьями и присылаю ссылку тому, кто спросил.
Частые вопросы
Какой первый результат нужен по теме «Лимиты API MAX»?
Возьмите раздел «Какие лимиты API MAX нужно учитывать» и зафиксируйте результат через критерий: какие лимиты api max нужно учитывать.
Какие два блока проверить в первую очередь для «Лимиты API MAX»?
Начните с «Почему нельзя ориентироваться на одно число», затем проверьте «Как устроить очередь запросов». Для материала «Лимиты API MAX» результаты этих проверок записывают отдельно.
С какой соседней задачей нельзя смешивать «Лимиты API MAX»?
Граница статьи зафиксирована так: Лимиты API MAX нужно читать для конкретного метода и ответа сервера: единого безопасного числа запросов для всех операций нет. Клиент обязан ограничивать параллелизм, ставить отправку в очередь и к…
Читайте дальше
-
Как отключить звонки в MAX: настройки для контактов и незнакомых
Ограничить звонки в MAX можно через Безопасный режим: откройте Настройки → Безопасность → Безопасный режим и включите…
-
Webhook для бота MAX: получение событий, проверка и повторная доставка
Вебхук MAX-бота — это HTTPS-адрес, на который платформа отправляет выбранные события. Подписка задаёт URL…
-
Long Polling в MAX: как бот получает обновления без вебхука
Long Polling в MAX — это последовательные запросы бота за обновлениями с параметрами timeout и marker. Сервер ждёт…