API có rate limit theo API key để bảo vệ hạ tầng. Khi vượt giới hạn, server trả về HTTPDocumentation Index
Fetch the complete documentation index at: https://developers.fhsc.com.vn/llms.txt
Use this file to discover all available pages before exploring further.
429 Too Many Requests kèm header
X-RateLimit-Reset cho biết thời điểm có thể retry.
Hạn mức (request / phút) phụ thuộc vào loại tài khoản —
Free, Pro, hoặc Enterprise. Mỗi tier có một hạn mức riêng.
Response khi bị throttled
X-RateLimit-Reset là Unix timestamp (giây) tại thời điểm cửa sổ rate
limit reset.
Header tham chiếu
| Header | Ý nghĩa |
|---|---|
X-RateLimit-Reset | Unix timestamp (giây) khi rate limit reset. Chờ đến thời điểm này rồi retry. |
Chiến lược retry
Tạm dừng đến reset, tránh vòng lặp chặt
KHÔNG retry ngay lập tức — sẽ tiếp tục bị reject với
429 và làm
tình trạng tệ hơn. Tạm dừng đến resetAt cộng thêm jitter ngẫu
nhiên (50–500ms) để tránh hiện tượng thundering herd khi nhiều
client đồng thời được đánh thức.Best practices
- Cache aggressive cho các endpoint dữ liệu thị trường ít đổi: bank interest rates, fund list, gold/silver chart history. TTL 1–5 phút là hợp lý cho hầu hết use case UI.
- Batch query khi có thể:
GET /market/stock-realtime?symbols=VNM,FPT,VICtrả về 3 stock trong 1 call thay vì 3 call riêng. - Tránh polling tight: dùng adaptive polling (1s khi có activity, giãn lên 30s khi idle) thay vì polling cố định 1s mọi lúc.
- Xếp ưu tiên: với rate limit thấp, ưu tiên gọi endpoint user-scoped (Tier 2) trước, dữ liệu thị trường có thể chậm trễ vài giây không vấn đề.
Khi nào cần nâng hạn mức
- Production traffic vượt 70% hạn mức ổn định trong > 1 giờ.
- Có batch job daily / weekly cần burst traffic ngắn.
- Triển khai tính năng mới có gọi API trong luồng UX quan trọng.