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

أدخل اسمك الأول وعنوان بريدك الإلكتروني للعمل. سنرسل إليك رابطًا لتأكيد طلب الوصول إلى Tajo.

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

يحدّ Brevo طلبات API لكل نقطة نهاية. كل حد هو عدد من الطلبات في الثانية (RPS) أو في الساعة (RPH) أو كليهما. الأرقام أدناه مأخوذة من صفحة حدود المعدل لدى Brevo، وتم التحقق منها في 7 أكتوبر 2026. راجع تلك الصفحة قبل أن تحدد حجم مهمة كبيرة.

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

المستوىمتاح في
العامFree وStarter وStandard وProfessional وEnterprise
المتقدمProfessional وEnterprise
الموسّعEnterprise

الحدود حسب المستوى

نقطة النهايةالعامالمتقدمالموسّع
POST /v3/smtp/email, GET /v3/smtp/blockedContacts1,000 RPS, 3,600,000 RPH2,000 RPS, 7,200,000 RPH6,000 RPS
GET /v3/smtp/emails2 RPS, 7,200 RPH3 RPS, 10,800 RPH18,000 RPH
POST /v3/transactionalSMS/send150 RPS, 540,000 RPH200 RPS, 720,000 RPH250 RPS
POST /v3/events10 RPS, 36,000 RPH20 RPS, 72,000 RPH60 RPS
POST /v3/orders/status5 RPS, 18,000 RPH10 RPS, 36,000 RPH15 RPS
POST /v3/products2 RPS, 7,200 RPH4 RPS, 14,400 RPH21,600 RPH
نقاط النهاية الأخرى ضمن /v3/smtp300 RPH600 RPH1,800 RPH
جميع نقاط النهاية ضمن /v3/contacts10 RPS, 36,000 RPH20 RPS, 72,000 RPH60 RPS
جميع نقاط النهاية ضمن /v3/loyalty600 RPH1,200 RPH100,000 RPH
جميع نقاط النهاية الأخرى100 RPH200 RPH600 RPH

عندما يكون لنقطة النهاية حدّان، RPS وRPH، فابقَ تحت كليهما.

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

تُرجع نقاط النهاية الخاضعة لحد المعدل هذه الترويسات:

HTTP/1.1 200 OK
x-sib-ratelimit-limit: 1000
x-sib-ratelimit-remaining: 750
x-sib-ratelimit-reset: 1

وصف الترويسات

  • x-sib-ratelimit-limit: عدد الطلبات المسموح بها في النافذة الحالية
  • x-sib-ratelimit-remaining: عدد الطلبات المتبقية في النافذة الحالية
  • x-sib-ratelimit-reset: الوقت المتبقي حتى إعادة تعيين النافذة، بالثواني عادةً

يوثّق Brevo هذه الترويسات في صفحة ترويسات حد المعدل.

مراقبة الاستخدام

تحقق من الاستخدام الحالي

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-sib-ratelimit-limit'),
remaining: response.headers.get('x-sib-ratelimit-remaining'),
resetInSeconds: Number(response.headers.get('x-sib-ratelimit-reset'))
});
};

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

التراجع الأسّي

const makeRequestWithBackoff = async (url, options, maxRetries = 3) => {
for (let i = 0; i < maxRetries; i++) {
const response = await fetch(url, options);
if (response.status !== 429) return response;
const resetSeconds = Number(response.headers.get('x-sib-ratelimit-reset') || 1);
const delay = Math.max(resetSeconds * 1000, 1000 * Math.pow(2, i));
console.log(`Rate limited. Waiting ${delay}ms before retry ${i + 1}`);
await new Promise(resolve => setTimeout(resolve, delay));
}
throw new Error('Rate limit retries exhausted');
};

إذا كنت تصل إلى الحدود باستمرار

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

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

أدخل اسمك الأول وعنوان بريدك الإلكتروني للعمل. سنرسل إليك رابطًا لتأكيد طلب الوصول إلى Tajo.

مساعد AI

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

هذه الصفحة بصيغة Markdown: global-limits.md

جارٍ تحميل Markdown…
فتح في Claude فتح في ChatGPT