اطلب الوصول المبكر

أدخل اسمك الأول وبريدك الإلكتروني أو رقم هاتفك. سنتواصل معك لتزويدك بتفاصيل الوصول إلى Tajo.

الحدود العامة

يفرض Brevo حدودًا عامة لمعدل الاستخدام على جميع نقاط نهاية API لضمان الاستخدام العادل والأداء الأمثل.

مستويات حد المعدل

الخطة المجانية

  • الحد اليومي: 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 OK
X-RateLimit-Limit: 1000
X-RateLimit-Remaining: 999
X-RateLimit-Reset: 1640995200
X-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)
});
};

المراقبة من لوحة التحكم

  1. سجّل الدخول إلى لوحة تحكم Brevo
  2. انتقل إلى الإعدادات ← API Keys
  3. اعرض الاستخدام لكل مفتاح API
  4. اضبط التنبيهات عند الاقتراب من الحدود

نوافذ إعادة تهيئة حد المعدل

  • الحدود اليومية: تُعاد تهيئتها عند 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;
}
}
};

ترقية الخطة

عندما تصل إلى حدود المعدل باستمرار:

  1. حلّل الاستخدام: راجع نقاط النهاية الأكثر استخدامًا لديك
  2. حسّن الشيفرة: طبّق التخزين المؤقت وتجميع الطلبات
  3. فكّر في الترقية: انتقل إلى مستوى أعلى عند الحاجة
  4. تواصل مع المبيعات: للمتطلبات على مستوى المؤسسات

استثناءات حد المعدل

نقاط نهاية Webhook

  • لا تخضع لحدود المعدل القياسية
  • تنطبق عليها حدود منفصلة لتسليم Webhook

نقطة نهاية فحص السلامة

  • /v3/ping لها حدود مخففة
  • مصممة للمراقبة وفحوصات مدة التشغيل

العمليات المجمّعة

  • تُحتسب كطلب واحد لكنها قد تخضع لحدود على حجم الحمولة
  • أكثر كفاءة من عدة طلبات فردية

اطلب الوصول المبكر

أدخل اسمك الأول وبريدك الإلكتروني أو رقم هاتفك. سنتواصل معك لتزويدك بتفاصيل الوصول إلى Tajo.

اكتشاف تلقائي
مساعد AI

مرحباً! اسألني أي شيء عن الوثائق.