API endpoint index

Đây là danh sách endpoint quan trọng để trả lời câu hỏi “frontend gọi backend ở đâu?”. Controller gốc đều nằm trong backend/src/main/java/com/example/lms/**/infrastructure/web.

Auth và AI

Endpoint Controller Ý nghĩa
POST /api/v3/auth/login AuthControllerV3 Đăng nhập password, trả JWT
POST /api/v3/auth/register AuthControllerV3 Đăng ký tài khoản
POST /api/v3/auth/google AuthControllerV3 Google ID token login
GET /api/v3/auth/google/redirect GoogleOAuthRedirectController Google OAuth redirect flow
POST /api/v3/ai/token AiTokenControllerV3 LMS đổi identity sang token Wiii
POST /api/v3/ai/chat AiAssistantControllerV3 Chat AI non-stream
GET /api/v3/ai/chat/stream AiAssistantControllerV3 SSE stream chat

Course authoring

Endpoint Controller Ý nghĩa
POST /api/v3/courses/{courseId}/chapters CourseAuthoringControllerV3 Teacher tạo chương
POST /api/v3/courses/chapters/{chapterId}/lessons CourseAuthoringControllerV3 Teacher tạo bài học
POST /api/v3/courses/lessons/{lessonId}/sections CourseAuthoringControllerV3 Upload/tạo section, hỗ trợ file Word/PDF/DOCX
PUT /api/v3/courses/lessons/{lessonId}/sections/{sectionId} CourseAuthoringControllerV3 Sửa section
POST /api/v3/teacher/courses/{courseId}/submit-for-approval TeacherCoursesControllerV3 Gửi khóa học duyệt/publish
PATCH /api/v3/admin/courses/{courseId}/approve AdminCoursesControllerV3 Admin/ORG_ADMIN duyệt khóa học
GET /api/v3/teacher/courses/{courseId}/publications TeacherCoursesControllerV3 Xem lịch sử publication/version
POST /api/v3/teacher/courses/{courseId}/publications/{publicationId}/adopt-all TeacherCoursesControllerV3 Bulk adopt/pin lớp vào publication

Learning, class, progress

Endpoint Controller Ý nghĩa
POST /api/v3/courses/{courseId}/enroll EnrollmentControllerV3 Student tự ghi danh
GET /api/v3/learning/courses/{courseId} LearningControllerV3 Lấy nội dung học
POST /api/v3/learning/progress ProgressControllerV3 Cập nhật tiến độ
POST /api/v3/learning/interactive-video/events LearningActivityControllerV3 Ghi event interactive video
GET /api/v3/classes/{classId} LearningClassControllerV3 Quản lý lớp học

Assessment

Endpoint Controller Ý nghĩa
GET /api/v3/quizzes QuizControllerV3 Danh sách quiz
POST /api/v3/quizzes QuizControllerV3 Tạo quiz
POST /api/v3/quizzes/{quizId}/attempts QuizControllerV3 Student bắt đầu attempt
POST /api/v3/quizzes/attempts/{attemptId}/submit QuizControllerV3 Submit quiz, không để Wiii tự bấm
POST /api/v3/questions/import/docx/preview QuestionControllerV3 Preview import câu hỏi DOCX
POST /api/v3/questions/import/docx/confirm QuestionControllerV3 Confirm lưu câu hỏi đã preview
POST /api/v3/assignments AssignmentControllerV3 Tạo assignment
POST /api/v3/submissions/{submissionId}/grade AssignmentSubmissionControllerV3 Chấm điểm submission

Payment

Endpoint Controller Ý nghĩa
POST /api/v3/payments/vnpay/create-url PaymentControllerV3 Tạo URL thanh toán VNPay
GET /api/v3/payments/vnpay-ipn PaymentControllerV3 VNPay server-to-server IPN
GET /api/v3/payments/vnpay-return PaymentControllerV3 Browser return URL
POST /api/v3/payments/sepay/create-qr PaymentControllerV3 Tạo QR chuyển khoản SePay
POST /api/v3/payments/sepay/webhook PaymentControllerV3 SePay webhook
GET /api/v3/payments/sepay/poll/{txnId} PaymentControllerV3 FE polling trạng thái SePay
POST /api/v3/payments/admin/{paymentId}/refund PaymentControllerV3 Admin/ORG_ADMIN refund

Competency và Wiii integration

Endpoint Controller Ý nghĩa
GET /api/v3/standards CompetencyMappingController List maritime standards
GET /api/v3/standards/{standardId}/competencies CompetencyMappingController List competencies
GET /api/v3/courses/{courseId}/competency-map CompetencyMappingController Matrix năng lực theo course
PUT /api/v3/lessons/{lessonId}/competencies CompetencyMappingController Update lesson competencies
GET /api/v3/courses/{courseId}/competency-map/export CompetencyMappingController Export CSV
POST /api/v3/integration/courses/generate WiiiCourseGenerationController Wiii tạo course draft qua service auth
POST /api/v3/integration/courses/generate/{courseId}/chapters WiiiCourseGenerationController Wiii generate chapter/lesson draft