1. Xác Thực
1.1 Kiểm Tra Trạng Thái Thiết Lập
GET /api/v1/setup/status
Kiểm tra xem có cần thiết lập ban đầu hay không.
Phản hồi:
{
"setupRequired": true,
"organizationCount": 0
}
1.2 Thiết Lập Ban Đầu
POST /api/v1/setup
Tạo tổ chức và tài khoản người dùng chủ sở hữu. Chỉ khả dụng khi hệ thống không có tổ chức nào.
Thân Yêu Cầu:
{
"orgName": "Công Ty Acme",
"fullName": "Nguyễn Văn A",
"password": "MatKhauAn123"
}
Phản hồi:
{
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"user": {
"id": "user-123",
"fullName": "Nguyễn Văn A",
"role": "owner",
"orgId": "org-123"
}
}
Mã Trạng Thái: 201, 400, 409 (nếu thiết lập đã hoàn tất)
1.3 Đăng Nhập
POST /api/v1/auth/login
Xác thực người dùng và nhận token JWT.
Thân Yêu Cầu:
{
"password": "MatKhauAn123"
}
Phản hồi:
{
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"user": {
"id": "user-123",
"fullName": "Nguyễn Văn A",
"role": "admin",
"orgId": "org-123"
}
}
Mã Trạng Thái: 200, 401 (thông tin đăng nhập không hợp lệ)
1.4 Lấy Hồ Sơ Hiện Tại
GET /api/v1/profile
Lấy hồ sơ của người dùng được xác thực.
Header:
Authorization: Bearer <token>
Phản hồi:
{
"id": "user-123",
"fullName": "Nguyễn Văn A",
"role": "admin",
"orgId": "org-123",
"department": "Bán Hàng",
"avatar": "https://...",
"createdAt": "2026-01-15T10:30:00Z",
"lastLogin": "2026-06-05T14:22:00Z"
}
Mã Trạng Thái: 200, 401