Chuyển tới nội dung chính

Rate Limiting

Cartrack Fleet API áp dụng rate limiting cho mọi API request đi vào để bảo vệ tài nguyên mạng, duy trì hiệu năng hệ thống và đảm bảo trải nghiệm nhất quán cho tất cả người dùng.

Default Rate Limit

API có default rate limit là 1,000 requests mỗi phút. Giới hạn này áp dụng cho hầu hết endpoint API nếu không có ghi chú khác. Bất kỳ request nào vượt quá giới hạn này sẽ nhận phản hồi HTTP 429 Too Many Requests.

API Endpoint Specific Rate Limit

Một số endpoint API có giới hạn chặt hơn để đảm bảo công bằng và ngăn chặn lạm dụng. Bên dưới là giới hạn cụ thể cho các endpoint này:

EndpointRate LimitDescription
POST /fuel/consumed10 requests mỗi phútTruy xuất ước tính fuel used cho nhiều phương tiện.
POST /fuel/level10 requests mỗi phútTruy xuất dữ liệu cảm biến fuel consumed cho nhiều phương tiện.
POST /vehicles/ev-consumption10 requests mỗi phútTruy xuất mức tiêu thụ pin của nhiều xe điện.
POST /vehicles/range10 requests mỗi phútTruy xuất các event EV range được báo cáo cho nhiều xe điện.
POST /vehicles/soc10 requests mỗi phútTruy xuất event state of charge (SoC) cho nhiều xe điện.
GET /vehicles/vext10 requests mỗi phútTruy xuất dữ liệu VEXT của phương tiện bất kể trạng thái ignition.

Với endpoint có giới hạn riêng, vượt quá giới hạn cũng sẽ trả về HTTP 429 Too Many Requests.

Hành vi retry

Nếu nhận phản hồi HTTP 429 Too Many Requests, quý khách phải tuân thủ các header trong phản hồi. Các header này cho biết khi nào có thể retry:

  • X-RateLimit-Retry-At: Timestamp cho lần retry sớm nhất tiếp theo.
  • X-RateLimit-Retry-After-Seconds: Số giây cần chờ trước lần retry sớm nhất tiếp theo.

Ví dụ phản hồi

HTTP/1.1 429 Too Many Requests
Content-Type: application/json
X-RateLimit-Retry-At: 1737592000
X-RateLimit-Retry-After-Seconds: 15

{
"error": {
"code": 429,
"message": "Too many requests. Please wait before retrying."
}
}

Cách xử lý 429 Too Many Requests

  • Wait and Retry: Tuân thủ header X-RateLimit-Retry-AtX-RateLimit-Retry-After-Seconds để chờ đúng thời gian được khuyến nghị trước khi retry.
  • Exponential Backoff: Triển khai exponential backoff có jitter để tránh vi phạm rate limit lặp lại.

Lưu ý: Vi phạm rate limit lặp lại có thể dẫn đến giới hạn truy cập tạm thời hoặc vĩnh viễn.

Tăng giới hạn

Nếu ứng dụng của quý khách cần rate limit cao hơn, quý khách có thể gửi yêu cầu tăng giới hạn. Yêu cầu sẽ được đánh giá theo từng trường hợp để đảm bảo phù hợp với hạ tầng của chúng tôi. Giới hạn được phê duyệt sẽ được tùy chỉnh và thông báo tương ứng.