🌐 Tài liệu Tham chiếu RESTful API (API Reference)
Tất cả các API của LMS đều tuân thủ chuẩn RESTful JSON API, tiền tố /api/v1/, xác thực thông qua Laravel Sanctum Bearer Token và yêu cầu header X-Center-ID.
1. Headers Bắt buộc trong Mọi Request
| Header Key | Giá trị mẫu | Bắt buộc? | Mô tả |
|---|---|---|---|
Authorization | `Bearer 1 | xxxxxxxxxxxxxx` | Có |
X-Center-ID | 2 | Có | ID của Chi nhánh / Cơ sở người dùng đang làm việc |
Accept | application/json | Có | Đảm bảo server luôn trả về định dạng JSON |
Content-Type | application/json | Có | Định dạng dữ liệu payload gửi lên |
2. Định dạng Phản hồi Chuẩn (ApiResponse)
Mọi response trả về từ hệ thống đều được bọc trong cấu trúc phong bì (Envelope) thống nhất:
Phản hồi Thành công (Success Envelope)
{
"success": true,
"message": "Thao tác thành công",
"data": {
"id": 15,
"name": "IELTS 6.5 - K24",
"status": "running"
},
"meta": {
"current_page": 1,
"per_page": 15,
"total": 45
}
}
Phản hồi Thất bại (Error Envelope)
{
"success": false,
"message": "Không tìm thấy dữ liệu hoặc không có quyền truy cập",
"errors": {
"center_id": ["Cơ sở không hợp lệ hoặc đã bị vô hiệu hóa"]
},
"code": "INVALID_CENTER"
}
3. Bảng Tổng hợp Danh mục API Endpoints
| Phân hệ | Tiền tố Route | Các phương thức chính |
|---|---|---|
| Xác thực & Người dùng | /api/v1/auth/ | POST /login, POST /logout, GET /me, POST /select-center |
| Tuyển sinh (CRM) | /api/v1/crm/ | GET/POST /leads, PUT /leads/{id}/status, POST /leads/{id}/convert |
| Học vụ (Academic) | /api/v1/academic/ | GET/POST /classes, POST /classes/{id}/attendance, GET/POST /students |
| Khảo thí (Assessment) | /api/v1/assessment/ | GET/POST /questions, GET/POST /exams, POST /attempts/{id}/grade |
| Tài chính (Finance) | /api/v1/finance/ | GET/POST /invoices, POST /invoices/{id}/pay, GET/POST /transactions |
| Nhân sự (HRM) | /api/v1/hrm/ | GET/POST /employees, GET/POST /attendance, GET/POST /payroll |
| Hợp đồng (Contracts) | /api/v1/contracts/ | GET/POST /student-contracts, POST /student-contracts/{id}/sign |
| Thư viện số (Library) | /api/v1/library/ | GET/POST /admin/resources, GET /portal/resources |
| Cổng Học viên (Portal) | /api/v1/portal/ | GET /timetable, GET /results, GET /invoices, POST /pay-vietqr |