ग्लोबल लिमिट
निष्पक्ष उपयोग और बेहतरीन प्रदर्शन सुनिश्चित करने के लिए Brevo सभी API एंडपॉइंट पर ग्लोबल रेट लिमिट लागू करता है.
रेट लिमिट टियर
Free प्लान
- दैनिक लिमिट: 300 रिक्वेस्ट
- प्रति घंटा लिमिट: 50 रिक्वेस्ट
- बर्स्ट लिमिट: 10 रिक्वेस्ट/मिनट
- ईमेल क्रेडिट: 300/महीना
Starter प्लान
- दैनिक लिमिट: 20,000 रिक्वेस्ट
- प्रति घंटा लिमिट: 1,000 रिक्वेस्ट
- बर्स्ट लिमिट: 100 रिक्वेस्ट/मिनट
- ईमेल क्रेडिट: असीमित
Business प्लान
- दैनिक लिमिट: 50,000 रिक्वेस्ट
- प्रति घंटा लिमिट: 3,000 रिक्वेस्ट
- बर्स्ट लिमिट: 300 रिक्वेस्ट/मिनट
- ईमेल क्रेडिट: असीमित
Enterprise प्लान
- दैनिक लिमिट: कस्टम (100,000+)
- प्रति घंटा लिमिट: कस्टम (10,000+)
- बर्स्ट लिमिट: कस्टम (1,000+/मिनट)
- ईमेल क्रेडिट: असीमित
रेट लिमिट हेडर
हर API रिस्पॉन्स में रेट लिमिट की जानकारी शामिल होती है:
HTTP/1.1 200 OKX-RateLimit-Limit: 1000X-RateLimit-Remaining: 999X-RateLimit-Reset: 1640995200X-RateLimit-Retry-After: 3600हेडर का विवरण
X-RateLimit-Limit: मौजूदा विंडो में अनुमत कुल रिक्वेस्टX-RateLimit-Remaining: मौजूदा विंडो में बची हुई रिक्वेस्टX-RateLimit-Reset: वह Unix टाइमस्टैम्प जब लिमिट रीसेट होती हैX-RateLimit-Retry-After: दोबारा कोशिश करने से पहले प्रतीक्षा के सेकंड
उपयोग की निगरानी
मौजूदा उपयोग जांचें
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) });};डैशबोर्ड से निगरानी
- अपने Brevo डैशबोर्ड में लॉग इन करें
- सेटिंग्स → API Keys पर जाएं
- हर API की का उपयोग देखें
- लिमिट के क़रीब पहुंचने पर अलर्ट सेट करें
रेट लिमिट रीसेट विंडो
- दैनिक लिमिट: 00:00 UTC पर रीसेट होती हैं
- प्रति घंटा लिमिट: हर घंटे :00 मिनट पर रीसेट होती हैं
- बर्स्ट लिमिट: स्लाइडिंग विंडो (पिछले 60 सेकंड)
रेट लिमिट को संभालना
एक्सपोनेंशियल बैकऑफ़
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; } }};प्लान अपग्रेड
जब आप लगातार रेट लिमिट तक पहुंच रहे हों:
- उपयोग का विश्लेषण करें: देखें कि आप किन एंडपॉइंट का सबसे ज़्यादा उपयोग करते हैं
- कोड ऑप्टिमाइज़ करें: कैशिंग और बैचिंग लागू करें
- अपग्रेड पर विचार करें: ज़रूरत हो तो ऊंचे टियर पर जाएं
- सेल्स से संपर्क करें: एंटरप्राइज़ ज़रूरतों के लिए
रेट लिमिट के अपवाद
वेबहुक एंडपॉइंट
- स्टैंडर्ड रेट लिमिट लागू नहीं होतीं
- वेबहुक डिलीवरी की अलग लिमिट लागू होती हैं
हेल्थ चेक एंडपॉइंट
/v3/pingपर लिमिट ढीली हैं- यह मॉनिटरिंग और अपटाइम जांच के लिए बनाया गया है
बैच ऑपरेशन
- ये एक ही रिक्वेस्ट के रूप में गिने जाते हैं, पर इन पर पेलोड लिमिट हो सकती हैं
- कई अलग-अलग रिक्वेस्ट भेजने से ज़्यादा कारगर