Логотипbitrix-code
Разработка

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) или оптимизируем.