Tài liệu API Fileverity
Giới hạn tốc độ và header
Giới hạn tốc độ yêu cầu theo từng khóa API, các header phản hồi về giới hạn tốc độ, retry-after trên 429 và 503 cùng các header khác mà Fileverity API đặt.
Mỗi khóa API có thể gửi 120 yêu cầu mỗi phút. Giới hạn được tính theo từng khung thời gian một phút và áp dụng cho mọi endpoint, kể cả các yêu cầu trả về lỗi. Khi đã dùng hết giới hạn của một khung thời gian, các yêu cầu tiếp theo nhận 429 với mã rate_limited cho đến khi khung thời gian được đặt lại.
Cần giới hạn cao hơn hoặc giá theo khối lượng? Liên hệ bộ phận kinh doanh.
Header giới hạn tốc độ
Mọi phản hồi cho một yêu cầu đã xác thực đều kèm trạng thái của khung thời gian hiện tại của bạn:
| Header | Ý nghĩa |
|---|---|
x-ratelimit-limit-requests | Số yêu cầu được phép trong mỗi khung thời gian. |
x-ratelimit-remaining-requests | Số yêu cầu còn lại trong khung thời gian hiện tại. |
x-ratelimit-reset-requests | Số giây còn lại cho đến khi khung thời gian được đặt lại. |
retry-after | Chỉ có trên 429 với mã rate_limited và trên 503 với mã service_unavailable. Số giây cần chờ trước yêu cầu tiếp theo. pending_files_limit (cũng là 429) không có header này. |
Các yêu cầu bị từ chối do thiếu khóa hoặc khóa không hợp lệ (401) không kèm các header này.
async function call(url, init) { for (let attempt = 0; attempt < 5; attempt++) { const response = await fetch(url, init); if (response.status !== 429) return response; const wait = Number(response.headers.get("retry-after")) || 1; await new Promise((resolve) => setTimeout(resolve, wait * 1000)); } throw new Error("Rate limited");}import time def call(method, url, **kwargs): for attempt in range(5): response = requests.request(method, url, **kwargs) if response.status_code != 429: return response time.sleep(int(response.headers.get("retry-after", 1))) raise RuntimeError("Rate limited")Hãy phân tán các đợt yêu cầu dồn dập theo thời gian, ưu tiên dùng webhook thay cho các vòng lặp truy vấn định kỳ dày đặc, và dùng Prefer: wait trên lượt phân tích thay vì truy vấn định kỳ. Khi hệ thống đang bận, POST /analyses trả về 503 service_unavailable kèm retry-after; xem Khi dịch vụ đang bận.
Các header phản hồi khác
| Header | Áp dụng cho | Ý nghĩa |
|---|---|---|
x-request-id | Mọi phản hồi | Mã yêu cầu, cũng có trong nội dung của các phản hồi lỗi. |
cache-control: no-store | Mọi phản hồi | Phản hồi của API không bao giờ được lưu vào bộ nhớ đệm. |
preference-applied | POST /analyses | wait=N khi header Prefer của bạn được áp dụng. |
idempotent-replayed | Các endpoint POST | true khi phản hồi là bản phát lại đã lưu. Xem Idempotency. |
x-evidence-included | GET /analyses/{id}/report.pdf | false khi bằng chứng của tài liệu đã hết hạn và PDF không còn chứa phần này. |
Header bạn gửi
Authorization: Bearer <key>: bắt buộc. Xem Xác thực và khóa API.Content-Type: application/jsoncho nội dung JSON;multipart/form-datacho các lượt tải lên bằngPOST /files.Idempotency-Key: tùy chọn, dùng với các yêu cầu POST.Prefer: wait=N: tùy chọn, dùng vớiPOST /analyses.
Ví dụ: curl -i https://api.fileverity.com/v1/models -H "Authorization: Bearer $FILEVERITY_API_KEY" hiển thị toàn bộ header phản hồi.