Skip to content

Giới hạn tốc độ Open API

Giới thiệu

Tài liệu này định nghĩa quy tắc giới hạn tốc độ (rate limit) của Open API theo chiều và cửa sổ thời gian, giúp nhà phát triển kiểm soát tần suất gọi và tránh lỗi do vượt giới hạn.

Định nghĩa cốt lõi

1. Chiều giới hạn

IDTênMô tả
USERNgười dùngGiới hạn theo định danh người dùng (ví dụ user ID)
APPỨng dụngGiới hạn theo định danh ứng dụng (ví dụ app ID gắn API key)
GLOBALToàn cụcGiới hạn toàn nền tảng cho mọi bên gọi

2. Cửa sổ thời gian

IDĐơn vịMô tả
SECONDGiâyCửa sổ 1 giây
MINUTEPhútCửa sổ 1 phút (60 giây)

Quy tắc giới hạn

Nền tảng dùng chiến lược đa chiều, đa cửa sổ. Vượt bất kỳ chiều/cửa sổ nào đều bị chặn:

ChiềuCửa sổGiới hạnMô tả
USERGiây100/giâyTối đa 100 lần/giây mỗi người dùng
USERPhút5000/phútTối đa 5000 lần/phút mỗi người dùng
APPGiây20/giâyTối đa 20 lần/giây mỗi ứng dụng
APPPhút1000/phútTối đa 1000 lần/phút mỗi ứng dụng
GLOBALGiây3000/giâyTối đa 3000 lần/giây toàn nền tảng
GLOBALPhút150000/phútTối đa 150000 lần/phút toàn nền tảng

Quy tắc « trần thấp nhất thắng ». Ví dụ: 101 lần trong 1 giây vẫn bị chặn dù chưa đạt giới hạn phút; 1001 lần trong 1 phút vẫn bị chặn dù chưa đạt giới hạn giây.

Khi chạm giới hạn

  1. Mã trạng thái: API trả về 60001 (INTERFACE_RATE_LIMIT):
    • Mã: 60001
    • Thông báo: Rate limit exceeded, please try again later
  2. Khôi phục: Chờ cửa sổ hiện tại kết thúc (1 giây cho giới hạn theo giây, thời gian phút còn lại cho giới hạn theo phút), sau đó bộ đếm được reset.

Lưu ý

  1. Đếm dựa trên yêu cầu được nhận và xử lý; tham số sai và lỗi xác thực vẫn tính vào giới hạn.
  2. Nên triển khai kiểm soát tốc độ phía client và chia nhỏ burst theo quy tắc này.
  3. Liên hệ vận hành nền tảng nếu cần trần cao hơn.
  4. Quy tắc có thể thay đổi theo năng lực dịch vụ; sẽ thông báo trước qua kênh công bố.