Bắt đầu nhanh
Từ con số không đến cuộc gọi API đầu tiên trong vòng dưới hai phút. Đăng ký, lấy access token, và kéo danh sách ứng viên đã có trong tenant của bạn.
1. Tạo tài khoản Tick Up
Nếu bạn chưa có tài khoản, hãy đăng ký tại tickup.vn. Tài khoản mới sẽ tạo một tenant mới với bạn làm admin. Mọi thứ trong API đều được giới hạn theo tenant của bạn, nên token bạn nhận được sẽ tự động cách ly khỏi mọi khách hàng Tick Up khác.
Đã có tài khoản? Đăng nhập tại tickup.vn/auth/login.
2. Lấy access token
Tick Up dùng JSON Web Token (JWT). Bạn đổi email + mật khẩu (hoặc Google OAuth ID token) lấy access token ngắn hạn và refresh token dài hạn. Access token được gắn vào header Authorization trong mọi request sau đó.
curl -X POST https://tickup-api.onrender.com/api/v1/auth/login \
-H "Content-Type: application/json" \
-d '{
"email": "you@yourcompany.com",
"password": "your-password"
}'Bạn sẽ nhận được phản hồi tương tự như:
{
"access_token": "eyJhbGciOiJIUzI1NiIs...",
"refresh_token": "eyJhbGciOiJIUzI1NiIs...",
"token_type": "bearer"
}3. Thực hiện cuộc gọi có xác thực đầu tiên
Export token vào shell của bạn, rồi gọi API lấy danh sách ứng viên trong tenant. Bạn sẽ thấy bất kỳ ứng viên nào đang tồn tại — kể cả danh sách rỗng cũng là một cuộc gọi đầu tiên thành công.
export TICKUP_TOKEN="eyJhbGciOiJIUzI1NiIs..."
curl https://tickup-api.onrender.com/api/v1/candidates \
-H "Authorization: Bearer $TICKUP_TOKEN"4. Xem cấu trúc phản hồi
Các endpoint dạng list trả về phong bì phân trang. Mảng items chứa các bản ghi của trang hiện tại, và total cho bạn biết tổng số bản ghi. Đọc hướng dẫn phân trang để biết shape đầy đủ và ngữ nghĩa con trỏ (cursor).
{
"total": 42,
"page": 1,
"page_size": 10,
"items": [
{
"id": "c2a5e7b8-...-3f9a",
"code": "CAN-2026-0001",
"full_name": "Nguyen Minh Tu",
"email": "tu.nguyen@example.com",
"phone": "+84912345678",
"current_position": "Senior Backend Engineer",
"source": "manual",
"is_blacklisted": false,
"created_at": "2026-05-12T08:23:11.043Z"
}
]
}5. Bước tiếp theo nên xây gì
Từ đây, hướng đi tùy thuộc vào thứ bạn đang xây dựng:
- Nhập CV từ nơi khác — đẩy chúng qua POST /candidates (hoặc upload file gốc để Tick Up tự phân tích).
- Hiển thị vị trí đang mở trên website marketing — lấy từ GET /public/jobs/{tenant_code} (không cần xác thực; mã tenant nằm trong cài đặt tenant).
- Phản ứng với sự kiện vòng đời ứng viên — đăng ký webhook cho thay đổi vòng, phản hồi email, hoặc xác nhận phỏng vấn.
- Điều khiển mọi tính năng Tick Up bằng lập trình — tài liệu API đầy đủ được render trực tiếp từ OpenAPI spec của chúng tôi.