ขีดจำกัดอัตราการเรียกใช้
Brevo API จำกัดคำขอต่อ endpoint ไม่ใช่ต่อวัน ขีดจำกัดแต่ละรายการคือจำนวนคำขอต่อวินาที (RPS) ต่อชั่วโมง (RPH) หรือทั้งสองอย่าง และเมื่อมีทั้งสองอย่างคุณต้องไม่เกินทั้งคู่ การเกินขีดจำกัดจะได้รับ 429 Too Many Requests
ขีดจำกัดของระดับ general
ระดับ general ใช้กับทุกแพ็กเกจของ Brevo: Free, Starter, Standard, Professional และ Enterprise นี่คือขีดจำกัดที่ Brevo เผยแพร่สำหรับระดับนี้:
| Endpoint | ขีดจำกัด |
|---|---|
POST /v3/smtp/email, GET /v3/smtp/blockedContacts | 1,000 RPS, 3,600,000 RPH |
POST /v3/transactionalSMS/send | 150 RPS, 540,000 RPH |
ทุก endpoint ภายใต้ /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 |
endpoint อื่นภายใต้ /v3/smtp | 300 RPH |
ทุก endpoint ภายใต้ /v3/loyalty | 600 RPH |
| endpoint อื่นทั้งหมด | 100 RPH |
บัญชี Professional และ Enterprise ใช้ระดับ advanced ได้ ซึ่งเพิ่มขีดจำกัดส่วนใหญ่เหล่านี้เป็นสองเท่า บัญชี Enterprise ใช้ระดับ extended ซึ่งสูงสุดได้ ดู ขีดจำกัดโดยรวม เพื่อเปรียบเทียบทั้งสามระดับเคียงข้างกัน และดูหน้าขีดจำกัดอัตราการเรียกใช้ของ Brevo สำหรับตัวเลขล่าสุด
Header ของขีดจำกัดอัตราการเรียกใช้
endpoint ที่มีการจำกัดอัตราจะส่งกลับ header สามรายการ:
x-sib-ratelimit-limit: 1000x-sib-ratelimit-remaining: 750x-sib-ratelimit-reset: 1x-sib-ratelimit-limit: จำนวนคำขอที่อนุญาตในช่วงเวลาปัจจุบันx-sib-ratelimit-remaining: จำนวนคำขอที่เหลือในช่วงเวลาปัจจุบันx-sib-ratelimit-reset: เวลาที่เหลือก่อนช่วงเวลาจะรีเซ็ต โดยปกติเป็นวินาที
แนวทางปฏิบัติที่ดีที่สุด
- ติดตาม header ของขีดจำกัดอัตราการเรียกใช้อยู่เสมอ
- ใช้ exponential backoff เมื่อต้องลองส่งคำขอใหม่
- กระจายคำขอให้สม่ำเสมอตลอดช่วงเวลา
- แคชการตอบกลับเมื่อทำได้
- ใช้ Webhook แทนการ polling