Xem trước (dry-run) trước khi assign

View as Markdown
Chạy thử toàn bộ batch để ước tính chi phí và kiểm tra tính hợp lệ của từng item **mà không tạo ra dữ liệu thực tế**, không tạo order và không tính phí. Dùng để hiển thị cho người dùng xác nhận trước khi gọi `assign-course`. **Body params:** | Param | Bắt buộc | Kiểu | Mô tả | |-------|----------|------|-------| | `items` | Có | array (1–100) | Danh sách cặp khoá – nhân sự cần kiểm tra | | `items[].course_id` | Có | int | ID khoá học | | `items[].employer_id` | Có | int | ID nhân sự | | `deadline` | Không | date | Hạn hoàn thành (đưa vào để đồng bộ payload với bước assign) | **Response gồm:** - `amount` — tổng chi phí dự kiến nếu thực thi. - `unpaid_invoice_blocking` — có hoá đơn chưa thanh toán đang chặn việc assign hay không. - `summary` — `total` / `valid` / `invalid`. - `items[]` — mỗi item có `course_id`, `employer_id`, `price`, `status` và `status_text`. Các trạng thái preview: `will_assign` (sẽ được assign), `skip_already_assigned` (đã assign trước đó, sẽ bỏ qua), `invalid_employer` (nhân sự không tồn tại/ngừng hoạt động), `invalid_course` (khoá không khả dụng).

Request

This endpoint expects an object.
itemslist of objectsRequired
deadlinedateRequired