Разработка
Rate limits в Битрикс24 API и как с ними работать
Дмитрий Горохов, разработчик7 мин
Битрикс24 API имеет лимиты. Не учитывать их = периодические 429 Too Many Requests.
Лимиты
- Входящие вебхуки: 2 rps, burst до 50
- Приложения OAuth: 50 rps
- На один метод — не более 50% от общего лимита
Batch-запросы
До 50 запросов в одном batch — считается как 1 запрос к лимиту. Обязательная оптимизация при массовых операциях.
Rate limiter на своей стороне
Token bucket алгоритм. Redis хранит остаток токенов, каждый запрос тратит 1 токен, восстановление по расписанию.
Очередь запросов
Массовая операция — через очередь (RabbitMQ, Celery). Потребитель обрабатывает со скоростью, соответствующей лимитам.
Exponential backoff
При 429 — ждём: 1 → 2 → 4 → 8 сек. Не долбим сразу, это только усугубит.
Мониторинг
Процент успешных запросов, среднее время ответа, ошибки 429. При росте 429 — расширяем лимит (через договор с Битрикс24) или оптимизируем.
bitrix