Genel Sınırlar
Brevo, adil kullanımı ve en iyi performansı sağlamak için tüm API uç noktalarında genel hız sınırları uygular.
Hız sınırı kademeleri
Free planı
- Günlük sınır: 300 istek
- Saatlik sınır: 50 istek
- Ani yük sınırı: dakikada 10 istek
- E-posta kredisi: ayda 300
Starter planı
- Günlük sınır: 20.000 istek
- Saatlik sınır: 1.000 istek
- Ani yük sınırı: dakikada 100 istek
- E-posta kredisi: Sınırsız
Business planı
- Günlük sınır: 50.000 istek
- Saatlik sınır: 3.000 istek
- Ani yük sınırı: dakikada 300 istek
- E-posta kredisi: Sınırsız
Enterprise planı
- Günlük sınır: Özel (100.000+)
- Saatlik sınır: Özel (10.000+)
- Ani yük sınırı: Özel (dakikada 1.000+)
- E-posta kredisi: Sınırsız
Hız sınırı başlıkları
Her API yanıtı hız sınırı bilgisi içerir:
HTTP/1.1 200 OKX-RateLimit-Limit: 1000X-RateLimit-Remaining: 999X-RateLimit-Reset: 1640995200X-RateLimit-Retry-After: 3600Başlık açıklamaları
X-RateLimit-Limit: Geçerli pencerede izin verilen toplam istek sayısıX-RateLimit-Remaining: Geçerli pencerede kalan istek sayısıX-RateLimit-Reset: Sınırın sıfırlanacağı Unix zaman damgasıX-RateLimit-Retry-After: Yeniden denemeden önce beklenecek saniye sayısı
Kullanımı izleme
Geçerli kullanımı kontrol etme
const checkRateLimit = async () => { const response = await fetch('https://api.brevo.com/v3/account', { headers: { 'api-key': process.env.BREVO_API_KEY } });
console.log({ limit: response.headers.get('X-RateLimit-Limit'), remaining: response.headers.get('X-RateLimit-Remaining'), reset: new Date(response.headers.get('X-RateLimit-Reset') * 1000) });};Yönetim panelinden izleme
- Brevo yönetim panelinize giriş yapın
- Settings → API Keys bölümüne gidin
- Her API anahtarı için kullanımı görüntüleyin
- Sınıra yaklaşıldığında uyarı ayarlayın
Hız sınırı sıfırlama pencereleri
- Günlük sınırlar: 00:00 UTC’de sıfırlanır
- Saatlik sınırlar: Her saat başı, :00 dakikasında sıfırlanır
- Ani yük sınırları: Kayan pencere (son 60 saniye)
Hız sınırlarını yönetme
Üstel geri çekilme
const makeRequestWithBackoff = async (url, options, maxRetries = 3) => { for (let i = 0; i < maxRetries; i++) { try { const response = await fetch(url, options);
if (response.status === 429) { const retryAfter = response.headers.get('X-RateLimit-Retry-After') || 60; const delay = Math.min(1000 * Math.pow(2, i), retryAfter * 1000);
console.log(`Rate limited. Waiting ${delay}ms before retry ${i + 1}`); await new Promise(resolve => setTimeout(resolve, delay)); continue; }
return response; } catch (error) { if (i === maxRetries - 1) throw error; } }};Plan yükseltmeleri
Hız sınırlarına sürekli takıldığınızda:
- Kullanımı analiz edin: En çok hangi uç noktaları kullandığınızı inceleyin
- Kodu optimize edin: Önbellekleme ve toplu işleme uygulayın
- Yükseltmeyi değerlendirin: Gerekirse daha üst bir kademeye geçin
- Satış ekibiyle iletişime geçin: Kurumsal gereksinimler için
Hız sınırı istisnaları
Webhook uç noktaları
- Standart hız sınırlarına tabi değildir
- Ayrı webhook teslim sınırları geçerlidir
Sağlık kontrolü uç noktası
/v3/pingiçin sınırlar daha esnektir- İzleme ve çalışma süresi kontrolleri için tasarlanmıştır
Toplu işlemler
- Tek istek olarak sayılır ancak yük boyutu sınırları olabilir
- Birden fazla tekil istekten daha verimlidir