Ограничения частоты запросов
Brevo API ограничивает запросы для каждого эндпоинта, а не по дням. Каждый лимит задан числом запросов в секунду (RPS), в час (RPH) или обоими значениями, и когда действуют оба, нужно укладываться в оба. При превышении лимита возвращается 429 Too Many Requests.
Лимиты общего уровня
Общий уровень действует на всех тарифах Brevo: Free, Starter, Standard, Professional и Enterprise. Вот лимиты, которые Brevo публикует для него:
| Эндпоинт | Лимит |
|---|---|
POST /v3/smtp/email, GET /v3/smtp/blockedContacts | 1 000 RPS, 3 600 000 RPH |
POST /v3/transactionalSMS/send | 150 RPS, 540 000 RPH |
Все эндпоинты в разделе /v3/contacts | 10 RPS, 36 000 RPH |
POST /v3/events | 10 RPS, 36 000 RPH |
POST /v3/orders/status | 5 RPS, 18 000 RPH |
POST /v3/products | 2 RPS, 7 200 RPH |
GET /v3/smtp/emails | 2 RPS, 7 200 RPH |
Прочие эндпоинты в разделе /v3/smtp | 300 RPH |
Все эндпоинты в разделе /v3/loyalty | 600 RPH |
| Все остальные эндпоинты | 100 RPH |
Аккаунты Professional и Enterprise могут использовать расширенный уровень, который удваивает большинство этих лимитов. Аккаунты Enterprise могут использовать максимальный уровень, самый высокий. Три уровня рядом смотрите в разделе Глобальные лимиты, а актуальные значения на странице лимитов Brevo.
Заголовки лимитов запросов
Эндпоинты с ограничением частоты возвращают три заголовка:
x-sib-ratelimit-limit: 1000x-sib-ratelimit-remaining: 750x-sib-ratelimit-reset: 1x-sib-ratelimit-limit: число запросов, разрешённых в текущем окнеx-sib-ratelimit-remaining: число запросов, оставшихся в текущем окнеx-sib-ratelimit-reset: время до сброса окна, обычно в секундах
Рекомендуемые практики
- Отслеживайте заголовки лимитов запросов
- Реализуйте экспоненциальную задержку при повторных попытках
- Распределяйте запросы равномерно по окну
- Кэшируйте ответы, когда это возможно
- Используйте вебхуки вместо периодического опроса