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; KhiisDc=3 vàseatNum=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. |
| cloudFolderID | Không bắt buộc | integer | ID của thư mục cần gắn | Nếu tham số này không được truyền, hệ thống sẽ mặc định lấy cloudFolderId trùng với folderId của course |
| aiSummaryConfig | Không bắt buộc | object | Thiết lập AI Tóm tắt | AI sử dụng để phân tích & tóm tắt sau khi buổi học kết thúc. Trường cần được kích hoạt AI & buổi học cần được bật chức năng ghi hình để AI phân tích dựa trên video ghi hình sau buổi học |
| └ chapter | Bắt buộc (Nếu có aiSummaryConfig) |
integer | Tóm tắt các ý chính trong video ghi hình buổi học | 0=Tắt hoặc 1=Bật (mặc định 0) |
| └ subtitle | Không bắt buộc | integer | Phụ đề cho nội dung trong video ghi hình buổi học | 0 hoặc 1 |
| └ teachingAnalysis | Bắt buộc | integer | Phân tích buổi học & quá trình giảng dạy từ video ghi hình buổi học | 0 hoặc 1 |
| └ teachingAnalysisAgentId | Bắt buộc | integer | Agent ID để sử dụng cho Phân tích buổi học (teachingAnalysis) | Preset-AgentID: “K12 STEM” 5000930(default) “K12 Humanities” 5000931 “Public School STEM” 5000932 “Public School Humanities” 5000933 |
| aiRiskMonitor | Không bắt buộc | integer | AI Cảnh báo | 0=Tắt hoặc 1=Bật (mặc định 0) |
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 không có trong danh sách của trường, vui lòng thêm giáo viên vào danh sách giáo viên của trường trước |
| 124 | Thời gian buổi học không cho phép chỉnh sửa 1 phút trước thời điểm bắt đầu buổi học |
| 136 | Không có thông tin giáo viên này trong danh sách GV của trường |
| 140 | Buổi học đang diễn ra không hỗ trợ sửa/xóa |
| 142 | Không có thông tin về buổi học này trong lớp học |
| 143 | Không có thông tin của buổi học này |
| 144 | Không có thông tin của lớp học này trong trường |
| 145 | Buổi học này đã kết thúc |
| 147 | Không có thông tin của lớp học này |
| 153 | Lớp học đã kết thúc |
| 165 | Thời gian diễn ra của lớp học tối thiểu là 15 phút và tối đa là 24 giờ |
| 172 | Học sinh của khóa học không thể được thêm làm giáo viên của lớp |
| 173 | Người dự thính của khóa học không thể được thêm làm giáo viên của lớp |
| 212 | Lớp học đã bị xóa |
| 219 | Giáo viên không tồn tại |
| 221 | Chỉnh sửa thông tin ghi hình buổi học thất bại |
| 222 | Chỉnh sửa thông tin buổi học thất lại |
| 226 | Không thể chỉnh sửa trạng thái phát lại ghi hình của buổi học không cho phép ghi hình |
| 269 | Thông tin lớp học không chính xác |
| 318 | Trợ giảng không thuộc danh sách giáo viên của trường |
| 319 | Học sinh của khóa học không thể được thêm làm trợ giảng |
| 320 | Người dự thính của khóa học không thể được thêm làm trợ giảng |
| 322 | Giáo viên của khóa học không thể được thêm làm trợ giảng |
| 324 | Không thể thêm giáo viên vào danh sách giáo viên trường |
| 325 | Học sinh học thử không thể được thêm làm giáo viên của lớp |
| 326 | Không thể thêm trợ giảng vào danh sách giáo viên trường |
| 328 | Trợ giảng không thể được thêm làm giáo viên chính của lớp |
| 350 | Tên buổi học, thời gian diễn ra buổi học, tài liệu buổi học, số lượng camera trên bục giảng,… không thể chỉnh sửa trong vòng 20 phút trước khi buổi học bắt đầu |
| 368 | Thiết lập số camera trên bục giảng hiện tại không hỗ trợ chất lượng HD |
| 385 | Buổi học đã kết thúc, không thể chỉnh sửa thông tin giáo viên hay trợ giảng |
| 387 | Giáo viên đã bị vô hiệu hóa |
| 388 | Trợ giảng đã bị vô hiệu hóa |
| 450 | Số lượng vượt mức cho phép |
| 451 | Thêm ảnh bìa và đoạn giới thiệu cho buổi học livestream thất bại |
| 454 | Thời gian bắt đầu/thời gian kết thúc 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 buổi học không được vượt quá thời gian kết thúc 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 | Giáo viên đã bị cấm |
| 804 | Trợ giảng đã bị cấm |
| 808 | Không hỗ trợ thiết lập dual camera cho lớp học này |
| 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ố |
| 121601021 | Lớp học này 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 |
| 121604007 | Tính năng Livestream OMO không được hỗ trợ. Vui lòng kiểm tra dịch vụ với người quản lý tài khoản |
| 121604008 | Trường chưa được kích hoạt tính năng AI Giám sát rủi ro |
| 122301070 | Số lượng hoạt động trong một lớp đã vượt quá giới hạn cho phép |
| 142601001 | Agent không tồn tại |