Limity zapytań
API Brevo ogranicza zapytania per endpoint, a nie per dzień. Każdy limit to liczba zapytań na sekundę (RPS), na godzinę (RPH) lub oba naraz, a gdy obowiązują oba, musisz mieścić się w obu. Przekroczenie limitu zwraca 429 Too Many Requests.
Limity na poziomie ogólnym
Poziom ogólny obowiązuje w każdym planie Brevo: Free, Starter, Standard, Professional i Enterprise. Oto limity, które Brevo publikuje dla tego poziomu:
| Endpoint | Limit |
|---|---|
POST /v3/smtp/email, GET /v3/smtp/blockedContacts | 1 000 RPS, 3 600 000 RPH |
POST /v3/transactionalSMS/send | 150 RPS, 540 000 RPH |
Wszystkie endpointy pod /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 |
Pozostałe endpointy pod /v3/smtp | 300 RPH |
Wszystkie endpointy pod /v3/loyalty | 600 RPH |
| Wszystkie pozostałe endpointy | 100 RPH |
Konta Professional i Enterprise mogą korzystać z poziomu zaawansowanego, który podwaja większość tych limitów. Konta Enterprise mogą korzystać z poziomu rozszerzonego, najwyższego. Zobacz Limity globalne, gdzie trzy poziomy są zestawione obok siebie, oraz stronę o rate limits Brevo z aktualnymi wartościami.
Nagłówki rate limit
Endpointy objęte rate limit zwracają trzy nagłówki:
x-sib-ratelimit-limit: 1000x-sib-ratelimit-remaining: 750x-sib-ratelimit-reset: 1x-sib-ratelimit-limit: dozwolone zapytania w bieżącym okniex-sib-ratelimit-remaining: pozostałe zapytania w bieżącym okniex-sib-ratelimit-reset: czas do zresetowania okna, zwykle w sekundach
Dobre praktyki
- Monitoruj nagłówki rate limit
- Stosuj wykładniczy backoff przy ponawianiu
- Rozkładaj zapytania równomiernie w oknie
- Cache’uj odpowiedzi, gdy to możliwe
- Używaj webhooków zamiast pollingu