ขอสิทธิ์ใช้งานล่วงหน้า

กรอกชื่อพร้อมอีเมลหรือหมายเลขโทรศัพท์ แล้วเราจะติดต่อกลับพร้อมรายละเอียดการเข้าใช้งาน Tajo

ขีดจำกัดระดับทั่วทั้งระบบ

Brevo บังคับใช้ขีดจำกัดอัตราการเรียกใช้ในระดับทั่วทั้งระบบกับทุก API endpoint เพื่อให้การใช้งานเป็นธรรมและระบบทำงานได้อย่างมีประสิทธิภาพสูงสุด

ระดับของขีดจำกัดอัตราการเรียกใช้

แพ็กเกจ Free

  • ขีดจำกัดรายวัน: 300 requests
  • ขีดจำกัดรายชั่วโมง: 50 requests
  • ขีดจำกัดแบบ burst: 10 requests/นาที
  • เครดิตอีเมล: 300/เดือน

แพ็กเกจ Starter

  • ขีดจำกัดรายวัน: 20,000 requests
  • ขีดจำกัดรายชั่วโมง: 1,000 requests
  • ขีดจำกัดแบบ burst: 100 requests/นาที
  • เครดิตอีเมล: ไม่จำกัด

แพ็กเกจ Business

  • ขีดจำกัดรายวัน: 50,000 requests
  • ขีดจำกัดรายชั่วโมง: 3,000 requests
  • ขีดจำกัดแบบ burst: 300 requests/นาที
  • เครดิตอีเมล: ไม่จำกัด

แพ็กเกจ Enterprise

  • ขีดจำกัดรายวัน: กำหนดเอง (100,000 ขึ้นไป)
  • ขีดจำกัดรายชั่วโมง: กำหนดเอง (10,000 ขึ้นไป)
  • ขีดจำกัดแบบ burst: กำหนดเอง (1,000 ขึ้นไป/นาที)
  • เครดิตอีเมล: ไม่จำกัด

Header ของขีดจำกัดอัตราการเรียกใช้

ทุก API response จะแนบข้อมูลขีดจำกัดอัตราการเรียกใช้มาด้วย

HTTP/1.1 200 OK
X-RateLimit-Limit: 1000
X-RateLimit-Remaining: 999
X-RateLimit-Reset: 1640995200
X-RateLimit-Retry-After: 3600

คำอธิบาย header

  • X-RateLimit-Limit: จำนวน request ทั้งหมดที่อนุญาตในช่วงเวลาปัจจุบัน
  • X-RateLimit-Remaining: จำนวน request ที่เหลือในช่วงเวลาปัจจุบัน
  • X-RateLimit-Reset: Unix timestamp ของเวลาที่ขีดจำกัดจะรีเซ็ต
  • 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. ไปที่ Settings → API Keys
  3. ดูการใช้งาน ของแต่ละ API key
  4. ตั้งการแจ้งเตือน เมื่อใกล้ถึงขีดจำกัด

ช่วงเวลารีเซ็ตขีดจำกัด

  • ขีดจำกัดรายวัน: รีเซ็ตเวลา 00:00 UTC
  • ขีดจำกัดรายชั่วโมง: รีเซ็ตทุกชั่วโมงที่นาทีที่ :00
  • ขีดจำกัดแบบ burst: หน้าต่างแบบเลื่อน (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. วิเคราะห์การใช้งาน: ตรวจสอบว่าคุณใช้ endpoint ใดมากที่สุด
  2. ปรับปรุงโค้ด: ใช้การแคชและการรวม request เป็นชุด
  3. พิจารณาอัปเกรด: ย้ายไปแพ็กเกจระดับสูงขึ้นหากจำเป็น
  4. ติดต่อฝ่ายขาย: สำหรับความต้องการระดับ enterprise

ข้อยกเว้นของขีดจำกัดอัตราการเรียกใช้

Webhook endpoint

  • ไม่อยู่ภายใต้ขีดจำกัดอัตราการเรียกใช้มาตรฐาน
  • มีขีดจำกัดการส่ง webhook แยกต่างหาก

Health check endpoint

  • /v3/ping มีขีดจำกัดที่ผ่อนคลายกว่า
  • ออกแบบมาสำหรับการติดตามและการตรวจสอบ uptime

การทำงานแบบเป็นชุด

  • นับเป็น request เดียว แต่อาจมีขีดจำกัดขนาด payload
  • มีประสิทธิภาพมากกว่าการเรียกแยกทีละ request

ขอสิทธิ์ใช้งานล่วงหน้า

กรอกชื่อพร้อมอีเมลหรือหมายเลขโทรศัพท์ แล้วเราจะติดต่อกลับพร้อมรายละเอียดการเข้าใช้งาน Tajo

ตรวจจับอัตโนมัติ
ผู้ช่วย AI

สวัสดี! ถามฉันเกี่ยวกับเอกสารได้เลย