レート制限
Brevo APIは、1日単位ではなくエンドポイント単位でリクエストを制限します。各制限は、1秒あたり(RPS)、1時間あたり(RPH)、またはその両方のリクエスト数で示され、両方が適用される場合は両方を下回る必要があります。制限を超えると429 Too Many Requestsが返されます。
一般ティアの制限
一般ティアは、Free、Starter、Standard、Professional、EnterpriseのすべてのBrevoプランに適用されます。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アカウントは、これらの制限のほとんどを2倍にするアドバンストティアを利用できます。Enterpriseアカウントは、最上位のエクステンデッドティアを利用できます。3つのティアを並べた比較はグローバル制限を、最新の数値はBrevoのレート制限のページを参照してください。
レート制限ヘッダー
レート制限のあるエンドポイントは、3つのヘッダーを返します。
x-sib-ratelimit-limit: 1000x-sib-ratelimit-remaining: 750x-sib-ratelimit-reset: 1x-sib-ratelimit-limit: 現在のウィンドウで許可されるリクエスト数x-sib-ratelimit-remaining: 現在のウィンドウで残っているリクエスト数x-sib-ratelimit-reset: ウィンドウがリセットされるまでの時間(通常は秒)
ベストプラクティス
- レート制限ヘッダーを監視する
- 再試行のための指数バックオフを実装する
- ウィンドウ全体にリクエストを均等に分散させる
- 可能な場合はレスポンスをキャッシュする
- ポーリングの代わりにWebhookを使用する