Khái niệm cốt lõi

Giới hạn tốc độ

Tick Up áp dụng giới hạn tốc độ cửa sổ trượt để giữ API phản hồi nhanh cho mọi người. Giới hạn rộng rãi với traffic ứng dụng thông thường và chặt hơn với các endpoint nhạy cảm.

Cơ chế giới hạn

Giới hạn được theo dõi theo access token với endpoint có xác thực, và theo IP với endpoint công khai. Cửa sổ trượt — mỗi request đẩy bucket tiến lên — và burst 60 giây vẫn được phép kể cả với endpoint tính theo phút.

Giới hạn mặc định

Hạng mụcGiới hạnVí dụ
Endpoint có xác thực thông thường120 / phútGET /candidates, GET /jobs
Endpoint nhạy cảm30 / phútPOST /candidates, POST /applications, upload file
Endpoint auth10 / phút / IPPOST /auth/login, POST /auth/refresh
Endpoint công khai60 / phút / IPGET /public/jobs, POST /public/applications

Khi chạm giới hạn

Khi bạn vượt giới hạn, request tiếp theo trả về 429 Too Many Requests:

http
HTTP/1.1 429 Too Many Requests
content-type: application/json
retry-after: 12
x-ratelimit-limit: 120
x-ratelimit-remaining: 0

{
  "detail": "Rate limit exceeded: 120 per 1 minute"
}

Đọc header Retry-After (giây) và chờ ít nhất chừng đó trước khi thử lại. Với các job batch không gấp, hãy ưu tiên exponential backoff bắt đầu từ Retry-After thay vì vòng retry chặt.

Pattern tránh chạm giới hạn

  • Gộp khi có thể. Một số endpoint chấp nhận danh sách ID trong một cuộc gọi — dùng chúng thay vì lặp một request mỗi ID.
  • Cache dữ liệu tham chiếu. Danh sách vị trí, mã địa điểm, định nghĩa vòng tuyển hiếm khi thay đổi từng phút. Cache trong service của bạn.
  • Dùng webhook thay vì polling. Đừng poll GET /applications để phát hiện thay đổi vòng — đăng ký webhook và để Tick Up đẩy.
  • Page lớn hơn, ít page hơn. Khi duyệt list, dùng page_size=100 thay vì mặc định 20.

Cần giới hạn cao hơn?

Gửi email cho hello@tickup.vn kèm use case (số lượng ứng viên, tần suất import, khung giờ trong ngày) và chúng tôi sẽ nâng giới hạn cho tenant của bạn.

    Giới hạn tốc độ | Tick Up Developers