Bỏ qua, tới nội dung chính
Fleetwork
Fleetwork

Liên hệ

Chúng tôi rất mong nhận được liên hệ từ bạn. Vui lòng điền vào biểu mẫu bên dưới.

APITham khảo

Giới hạn tốc độ và Header

Giới hạn tốc độ, hạn mức và các header response của Fleetwork API.

Giới hạn theo gói

Giới hạnFreePremiumInternal
Request mỗi giây210100
Request mỗi phút605005,000
Request mỗi giờ1,00020,000Không giới hạn
Request mỗi ngày10,000200,000Không giới hạn
Request mỗi tháng100,0005,000,000Không giới hạn
Hạn mức hàng tháng100,0005,000,000Không giới hạn
Số API Key tối đa1520
Mức cho phép burst550200

Header Giới hạn tốc độ

Mỗi response cho request được xác thực bằng API Key đều bao gồm:

HeaderMô tả
X-RateLimit-LimitSố request tối đa mỗi phút cho khoá (0 = không giới hạn)
X-RateLimit-RemainingSố request còn lại trong cửa sổ hiện tại
X-RateLimit-ResetTimestamp ISO 8601 khi cửa sổ reset
Retry-After(Chỉ HTTP 429) Số giây cần chờ trước khi thử lại

Header Hạn mức

HeaderMô tả
X-Quota-LimitGiới hạn hạn mức hàng tháng
X-Quota-RemainingHạn mức còn lại trong tháng này
X-Quota-UsedHạn mức đã dùng trong tháng này

Header thông tin

HeaderMô tả
X-API-Key-IdUUID của API Key đã xác thực
X-Module-IdUUID của module được truy cập
X-Module-NameTên của module được truy cập

Ví dụ response

Response bình thường

HTTP
HTTP/1.1 200 OK
X-RateLimit-Limit: 500
X-RateLimit-Remaining: 497
X-Quota-Limit: 5000000
X-Quota-Remaining: 4999823
X-Quota-Used: 177
X-API-Key-Id: 3513c8c9-6ea7-47c3-ba37-188b842fa590
X-Module-Name: Job Management
Content-Type: application/json

Response bị giới hạn

HTTP
HTTP/1.1 429 Too Many Requests
X-RateLimit-Limit: 10
X-RateLimit-Remaining: 0
Retry-After: 45
Content-Type: application/json

Xử lý Giới hạn tốc độ

JavaScript
async function apiCallWithRetry(url, options, maxRetries = 3) {
  for (let i = 0; i < maxRetries; i++) {
    const response = await fetch(url, options);

    if (response.status === 429) {
      const retryAfter = parseInt(response.headers.get('Retry-After') || '1');
      await new Promise(r => setTimeout(r, retryAfter * 1000));
      continue;
    }

    return response;
  }
  throw new Error('Max retries exceeded');
}