Giao diện này được sử dụng để sửa đổi thông tin cơ bản về buổi học, chẳng hạn như tên, thời gian, giáo viên, trợ giảng, số lượng camera trên bục, ghi hình/phát trực tiếp/phát lại, v.v.
Lưu ý :
- Giao diện này chỉ hỗ trợ chỉnh sửa đối với lớp học tiêu chuẩn và không hỗ trợ sửa đổi thông tin lớp học phụ sử dụng chức năng lớp học liên kết (dual-teacher lesson).
- Giao diện này chỉ hỗ trợ truyền các tham số cần sửa đổi. Bạn có thể truyền một hoặc nhiều tham số; nếu không truyền, lỗi parameter error sẽ được trả về.
- Không cần phải truyền screenMode và teachMode. Giá trị cho các tham số screenMode và teachMode sẽ dựa vào thiết lập cameraHide (có ẩn bục giảng hay không).
- cameraHide=0 (hiển thị khu vực bục giảng) → Khi đó teachMode=1 (lớp học trực tuyến), screenMode=1 (chế độ tiêu chuẩn).
- cameraHide=1 (ẩn khu vực chỗ ngồi) → Khi teachMode=2 (lớp học OMO), screenMode=2 (chế độ màn hình lớn).
- API này không hỗ trợ việc sửa đổi trạng thái đăng tải của hoạt động. Không hỗ trợ việc tạo hoặc sửa đổi các hoạt động buổi học đang ở trạng thái ‘bản nháp’. Vui lòng gọi API đăng tải hoạt động.
- Nếu buổi học đang thiết lập ghi hình nhưng không phát trực tiếp, thì dữ liệu
datasẽ trả về địa chỉ trang phát trực tiếplive_url, nhưng địa chỉ pulling streamlive_infosẽ trống. - Nếu buổi học có bật phát trực tiếp (livestream) hoặc phát lại ghi hình lớp học, buổi học đó sẽ được liên kết với ba địa chỉ phát trực tuyến (RTMP, HLS, FLV). Tham số `data` trả về địa chỉ trình phát trực tiếp `liveUrl` và địa chỉ phát trực tuyến `liveInfo`. Nếu sau đó điều chỉnh hủy phát trực tiếp, ba địa chỉ trên vẫn sẽ tồn tại và được liên kết với lớp.
- Nếu lớp học không ghi hình, địa chỉ trình phát trực tiếp lớp học liveUrl và địa chỉ phát trực tiếp liveInfo trong dữ liệu đều sẽ trống.
recordType,recordState,liveState, vàopenStatephải là một tập hợp đầy đủ các tham số; bạn không thể chỉ truyền một số tham số. Nếu không sẽ nhận báo lỗi.
This interface is used to modify the settings of an LMS classroom activity, including the name, schedule(start/end time), teacher, co-teacher, number of students on-stage, and settings for cloud recording, web live streaming/playback.
Note:
- This interface only supports editing standard classrooms and does not support modifying settings for dual-teacher sub-classrooms。
- You may only pass the parameters that need to be modified; you can provide one or more parameters. If no parameters are provided, an error
Incomplete Parameterswill be returned. - The parameters of
screenMode(screen mode) andteachMode(teaching mode) are not needed. They will be assigned appropriate values based on the value ofcameraHide(whether to hide the seat area).- If
cameraHide=0(seat area shown), thenteachMode=1(online classroom) andscreenMode=1(standard mode). - If
cameraHide=1(seat area hidden), thenteachMode=2(smart classroom), andscreenMode=2(large-screen mode).
- If
- This interface does not support modifying the publication status. This interface does not support editing classrooms in draft status. To publish the classroom activity, please call the Release Activity Interface.
- If cloud recording is enabled but web live streaming is not activated, the
datawill return the classroom web-live player addresslive_url, while the pulling stream addresslive_infowill be empty. - If both cloud recording and web live streaming are enabled, three pulling stream addresses (RTMP, HLS, FLV) will be generated and bound to the classroom. The
datawill return the classroom web-live player addresslive_urland the pulling stream addresseslive_info. If the web-live streaming is later canceled, the three pulling stream addresses will still exist and remain bound to the classroom. - If the classroom does not enable cloud recording, both the web-live player address
live_urland the pulling stream addressesliveInfoin thedatawill be empty. recordType,recordState,liveState, andopenStateconstitute a complete set of parameters and cannot be partially passed; otherwise, an error will occur.
URL
https://root_url/lms/activity/updateClass
HTTP Request Methods
- POST
coding Format
- UTF-8
Request Data
Header Parameters
| Key | Bắt buộc | Định dạng | Mô tả |
|---|---|---|---|
| X-EEO-SIGN | Bắt buộc | string | Signature; tham khảo cách tạo tại đây |
| X-EEO-UID | Bắt buộc | string | SID (Xem dữ liệu này tại Trang quản lý classin.com trong mục API) |
| X-EEO-TS | Bắt buộc | string | Timestamp (Thời gian UNIX Epoch là số giây đã trôi qua kể từ 00:00:00 (giờ chuẩn quốc tế) vào ngày 1 tháng 1 năm 1970) |
Body Parameters
| Key | Bắt buộc | Định dạng | Mô tả | Hướng dẫn |
|---|---|---|---|---|
| courseId | Bắt buộc | integer | ID của lớp | Tương đương với 1 Class hiển thị trên App ClassIn còn định nghĩa trong doc API là Course |
| activityId | Bắt buộc | integer | ID của hoạt động | |
| unitId | Không bắt buộc | integer | Unit ID | Khi không truyền, hệ thống sẽ lấy UnitID mặc định của lớp để gán cho buổi học |
| name | Không bắt buộc | string | Tên buổi học | Tối đa 50 ký tự |
| teacherUid | Không bắt buộc | integer | UID của GV | UID hệ thống trả về khi đăng ký tài khoản thành công |
| startTime | Không bắt buộc | integer | Thời gian bắt đầu | Theo chuẩn thời gian UNIX Epoch (trong vòng 2 năm tính từ thời điểm hiện tại) |
| endTime | Không bắt buộc | integer | Thời gian kết thúc | Theo chuẩn thời gian UNIX Epoch |
| assistantUids | Không bắt buộc | array[integer] | Danh sách UID của Trợ giảng | Ví dụ: [1000082,1000083]. Mặc định buổi học sẽ không có Trợ giảng nếu tham số này không được truyền; Nhập UID được trả về khi gọi API register người dùng vào trường |
| cameraHide | Không bắt buộc | integer | Thiết lập ẩn/hiện bục giảng | 0 = Không (hiển thị bục giảng), 1 = Có (Ẩn bục giảng). Mặc định 0; nếu không truyền thì tham số sẽ theo mặc định; nếu tham số truyền sai thì sẽ hiện báo lỗi parameter error; khi cameraHide = 1, isAutoOnstage sẽ luôn là 0 |
| isAutoOnstage | Không bắt buộc | integer | Thiết lập cho thành viên lớp tự động hiển thị trên bục khi vừa vào lớp | 0 = Không, 1 = Có. Mặc định là 1 khi tham số này không được truyền; Nếu tham số được truyền khác với các giá trị trên, hệ thống sẽ trả lỗi parameter error. |
| seatNum | Không bắt buộc | integer | Số lượng camera hiển thị trên bục giảng | Bao gồm cả camera của GV; Ví dụ: truyền 1 nghĩa là chọn chế độ 1v0 (chỉ hiển thị 1 camera của GV); nếu tham số này bỏ trống thì hệ thống sẽ mặc định để là 7 (tương đương chế độ 1v6). Nếu gói dịch vụ của trường có thiết lập số lượng camera trên bục thấp hơn thì hệ thống sẽ lấy dữ liệu dựa theo gói dịch vụ của trường. |
| isHd | Không bắt buộc | integer | Chất lượng hiển thị của camera | 0 = SD, 1 = HD, 2 = Full HD. Mặc định là 0 khi tham số này không được truyền; Nếu tham số được truyền khác với các giá trị trên, hệ thống sẽ trả lỗi parameter error; Hiện tại, chỉ hỗ trợ chất lượng HD và FullHD cho chế độ 1v1 hoặc 1v6. |
| isDc | Không bắt buộc | integer | Buổi học có sử dụng chế độ dual-camera hay không | 0 = Không cho phép, 3 = Cho phép. Mặc định là 0 khi tham số này không được truyền; Nếu tham số được truyền khác với các giá trị trên, hệ thống sẽ trả lỗi parameter error. Nếu isDc là 3 và số camera trên bục được thiết lập không phải chế độ 1v1 thì hệ thống sẽ trả lỗi this setting does not support dual-camera; Khi=2, thì isHdsẽ mặc định là 2 (hệ thống sẽ bỏ qua giá trị được truyền ở trường isHd). |
| recordType | Không bắt buộc | integer | Thiết lập chế độ ghi hình buổi học | 0 = Ghi hình lớp học, 1 = Ghi hình camera giáo viên, 2 = Ghi hình lớp học và camera giáo viên. Mặc định là 0 khi tham số này không được truyền; Nếu tham số được truyền khác với các giá trị trên, hệ thống sẽ trả lỗi parameter error. |
| recordState | Không bắt buộc | integer | Thiết lập tự động bật ghi hình buổi học lưu về cloud | 0 = Tắt (hệ thống không tự động ghi hình buổi học), 1 = Bật ghi hình. Mặc định là 0 khi tham số này được truyền trống; Nếu tham số được truyền có giá trị khác với các giá trị trên, hệ thống sẽ trả lỗi parameter error. Khi ghi hình tự động được bật, trường có thể sử dụng luồng ghi hình để tạo link livestream hoặc link phát lại ghi hình lớp học. |
| liveState | Không bắt buộc | integer | Thiết lập chế độ livestream | 0 = Tắt, 1 = Bật livestream. Mặc định là 0 khi tham số này được truyền trống; Nếu tham số được truyền có giá trị khác với các giá trị trên, hệ thống sẽ trả lỗi parameter error. Nếu trường này truyền tham số là 1 thì recordState bắt buộc truyền 1 |
| openState | Không bắt buộc | integer | Thiết lập chế độ phát lại ghi hình | 0 = Tắt, 1 = Bật phát lại ghi hình. Mặc định là 0 khi tham số này được truyền trống; Nếu tham số được truyền có giá trị khác với các giá trị trên, hệ thống sẽ trả lỗi parameter error .Nếu trường này truyền tham số là 1 thì recordState bắt buộc truyền 1 |
| isAllowCheck | Không bắt buộc | integer | Cho phép học sinh xem báo cáo học tập của nhau | 0 = Không cho phép, 1 = Cho phép. Mặc định là 1 khi tham số này được truyền trống; Nếu tham số được truyền có giá trị khác với các giá trị trên, hệ thống sẽ trả lỗi parameter error. |
| omoStationBroadcast | Không bắt buộc | integer | Thiết lập chế độ livestreamOMO | 0 = Tắt, 1 = Bật livestreamOMO. Nếu tham số được truyền có giá trị khác với các giá trị trên, hệ thống sẽ trả lỗi parameter error. |
Response Data
| Tham số | Định dạng | Phản hồi | Mô tả |
|---|---|---|---|
| code | integer | 1 | Mã lỗi |
| msg | string | “Execution successful” | Nội dung |
| data | array | [] | Response array |
| └ | object | Response object | |
| └ activityId | integer | 25096094 | ID của hoạt động |
| └ name | string | “API Edited Classroom” | Tên buổi học |
Sample
- HTTP request
POST /lms/activity/updateClass HTTP/1.1
Host: root_url
X-EEO-SIGN: a972505b54568015e9ecdc65d1dfbe4e
X-EEO-UID: 409864
X-EEO-TS: 1722938191
Content-Type: application/json
Content-Length: 298
{
"courseId": 414193,
"unitId": 26020897,
"activityId": 25096094,
"name": "API Edited Classroom",
"teacherUid": 409864,
"startTime": 1723010791,
"endTime": 1723016791,
"publishFlag": 2,
"liveState": 1,
"openState": 1,
"recordState": 1,
"recordType": 0
}
- Shell cURL analog request instruction
curl -X POST \
-H 'Host: root_url' \
-H 'X-EEO-SIGN: a972505b54568015e9ecdc65d1dfbe4e' \
-H 'X-EEO-UID: 409864' \
-H 'X-EEO-TS: 1722938191' \
-H 'Content-Type: application/json' \
-d '{"courseId": 414193, "unitId": 26020897, "activityId": 25096094, "name": "API Edited Classroom", "teacherUid": 409864, "startTime": 1723010791, "endTime": 1723016791, "publishFlag": 2, "liveState": 1, "openState": 1, "recordState": 1, "recordType": 0}' \
'https://root_url/lms/activity/updateClass'
Response Sample(The normal return json packet example)
{
"code": 1,
"msg": "Execution successful",
"data": {
"activityId": 25096094,
"name": "API Edited Classroom"
}
}
Error Code Descriptions
| Mã lỗi | Mô tả |
|---|---|
| 100 | Lỗi tham số |
| 121 | Giáo viên này không phải là giáo viên của trường |
| 124 | Không thể thay đổi thời gian bắt đầu trước 1 phút |
| 136 | Không có giáo viên này trong danh sách của trường |
| 140 | Buổi học đang diễn ra không hỗ trợ chỉnh sửa hoặc xóa |
| 142 | Không có thông tin của buổi học này trong lớp học tương ứng |
| 143 | Không có thông tin của buổi học này |
| 144 | Lớp học này không tồn tại trong trường |
| 145 | Buổi học đã kết thúc không hỗ trợ chỉnh sửa hoặc xóa |
| 147 | Không có thông tin của lớp học này |
| 153 | Lớp học này đã đến hạn kết thúc, không hỗ trợ thao tác |
| 165 | Thời lượng của một buổi học tối thiểu là 15 phút và tối đa 24 giờ |
| 172 | Học sinh trong lớp học không thể được thêm làm giáo viên đứng lớp |
| 173 | Người dự thính trong lớp học không thể được thêm làm giáo viên đứng lớp |
| 212 | Buổi học này đã bị xóa |
| 219 | Giáo viên không tồn tại |
| 221 | Chỉnh sửa phát trực tiếp & phát lại thất bại |
| 222 | Chỉnh sửa thiết lập buổi học thất bại |
| 226 | Không thể chỉnh sửa thiết lập livestream/phát lại khi buổi học không bật ghi hình |
| 269 | Thông tin của buổi học không chính xác |
| 318 | Trợ giảng không phải là giáo viên trong trường |
| 319 | Học sinh trong lớp học không thể được thêm làm trợ giảng |
| 320 | Người dự thính trong lớp học không thể được thêm làm trợ giảng |
| 322 | Giáo viên đứng lớp không thể được thêm làm trợ giảng |
| 324 | Thêm trợ giảng thất bại |
| 325 | Học sinh học thử trong lớp học không thể được thêm làm giáo viên đứng lớp |
| 326 | Thêm trợ giảng vào danh sách giáo viên thất bại |
| 328 | Trợ giảng trong lớp học không thể được thêm làm giáo viên đứng lớp |
| 350 | Không thể chỉnh sửa tên buổi học, thời gian bắt đầu, tài nguyên học liệu, số camera trên bục,… trong vòng 20 phút trước khi buổi học bắt đầu |
| 368 | Chế độ seatNum đang chọn không hỗ trợ camera chất lượng HD/FHD |
| 385 | Buổi học đã kết thúc, không hỗ trợ chỉnh sửa GV hay Trợ giảng |
| 387 | GV đã bị vô hiệu hóa |
| 388 | Trợ giảng đã bị vô hiệu hóa |
| 450 | Số lượng đạt giới hạn quy định |
| 451 | Thêm mô tả cho trang livestream thất bại vì vượt số lượng ký tự tối đa |
| 454 | Thời gian bắt đầu/thời gian kết thúc của buổi học trùng với thời gian bảo trì hệ thống |
| 767 | Thời gian kết thúc của buổi học không được vượt quá thời hạn dịch vụ của trường |
| 769 | Giáo viên đứng lớp phải là GVCN (yêu cầu đối với trường đang sử dụng phiên bản thử nghiệm) |
| 800 | GV đang bị vô hiệu hóa |
| 804 | Trợ giảng đang bị vô hiệu hóa |
| 808 | Chế độ seatNum này không hỗ trợ chế độ dual-camera |
| 863 | Thời lượng của buổi học không phù hợp với quy định |
| 875 | Không thể chỉnh sửa tên buổi học, thời gian bắt đầu, tài nguyên học liệu, số camera trên bục,… trong vòng 5 phút trước khi buổi học bắt đầu |
| 884 | GV đã bị vô hiệu hóa |
| 885 | Trợ giảng đã bị vô hiệu hóa |
| 21304 | Phiên bản hiện tại không hỗ trợ thiết lập cấp học |
| 21305 | Cấp học không tồn tại |
| 21317 | Số lượng trợ giảng của buổi học đã vượt mức quy địn |
| 21319 | Tài khoản GV đã bị xóa |
| 101001001 | Lỗi tham số |
| 101002005 | Lỗi signature |
| 101002006 | Timestamp hết hạn |
| 101002008 | Lỗi timestamp |
| 121601005 | Không hỗ trợ bật phát trực tiếp (livestream) |
| 121601006 | Không hỗ trợ ghi hình camera GV |
| 121601008 | Không hỗ trợ thêm trợ giảng |
| 121601009 | Không hỗ trợ phát lại ghi hình buổi học |
| 121601010 | Không hỗ trợ tự động ghi hình buổi học trực tuyến |
| 121601020 | Lỗi tham số |
| 121601020 | Lỗi tham số kinh doanh |
| 121601021 | Lớp học không thuộc quản lý của trường |
| 121601022 | Lớp học này không phải lớp học tiêu chuẩn |
| 121601023 | Lớp học này đã kết thúc và không thể thao tác được |
| 121601030 | Thiếu tham số bắt buộc |