Chỉnh sửa thông tin buổi học (Update Classroom)

Mục lục

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 data sẽ trả về địa chỉ trang phát trực tiếp live_url, nhưng địa chỉ pulling stream live_info sẽ 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.
  • recordTyperecordStateliveState, và openState phả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 Parameters will be returned.
  • The parameters of screenMode (screen mode) and teachMode (teaching mode) are not needed. They will be assigned appropriate values based on the value of cameraHide (whether to hide the seat area).
    • If cameraHide=0 (seat area shown), then teachMode=1 (online classroom) and screenMode=1 (standard mode).
    • If cameraHide=1 (seat area hidden), then teachMode=2 (smart classroom), and screenMode=2 (large-screen mode).
  • 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 data will return the classroom web-live player address live_url, while the pulling stream address live_info will 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 data will return the classroom web-live player address live_url and the pulling stream addresses live_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_url and the pulling stream addresses liveInfo in the data will be empty.
  • recordTyperecordStateliveState, and openState constitute 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ỗiMô tả
100Lỗi tham số
121Giá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
124Thờ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
136Không có thông tin giáo viên này trong danh sách GV của trường
140Buổi học đang diễn ra không hỗ trợ sửa/xóa
142Không có thông tin về buổi học này trong lớp học
143Không có thông tin của buổi học này
144Không có thông tin của lớp học này trong trường
145Buổi học này đã kết thúc
147Không có thông tin của lớp học này
153Lớp học đã kết thúc
165Thờ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ờ
172Học sinh của khóa học không thể được thêm làm giáo viên của lớp
173Ngườ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
212Lớp học đã bị xóa
219Giáo viên không tồn tại
221Chỉnh sửa thông tin ghi hình buổi học thất bại
222Chỉnh sửa thông tin buổi học thất lại
226Khô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
269Thông tin lớp học không chính xác
318Trợ giảng không thuộc danh sách giáo viên của trường
319Học sinh của khóa học không thể được thêm làm trợ giảng
320Người dự thính của khóa học không thể được thêm làm trợ giảng
322Giáo viên của khóa học không thể được thêm làm trợ giảng
324Không thể thêm giáo viên vào danh sách giáo viên trường
325Học sinh học thử không thể được thêm làm giáo viên của lớp
326Không thể thêm trợ giảng vào danh sách giáo viên trường
328Trợ giảng không thể được thêm làm giáo viên chính của lớp
350Tê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
368Thiết lập số camera trên bục giảng hiện tại không hỗ trợ chất lượng HD
385Buổ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
387Giáo viên đã bị vô hiệu hóa
388Trợ giảng đã bị vô hiệu hóa
450Số lượng vượt mức cho phép
451Thêm ảnh bìa và đoạn giới thiệu cho buổi học livestream thất bại
454Thờ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
767Thờ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
769Giá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)
800Giáo viên đã bị cấm
804Trợ giảng đã bị cấm
808Không hỗ trợ thiết lập dual camera cho lớp học này
863Thời lượng của buổi học không phù hợp với quy định
875Khô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
884GV đã bị vô hiệu hóa
885Trợ giảng đã bị vô hiệu hóa
21304Phiên bản hiện tại không hỗ trợ thiết lập cấp học
21305Cấp học không tồn tại
21317Số lượng trợ giảng của buổi học đã vượt mức quy địn
21319Tài khoản GV đã bị xóa
101001001Lỗi tham số
101002005Lỗi signature
101002006Timestamp hết hạn
101002008Lỗi timestamp
121601005Không hỗ trợ bật phát trực tiếp (livestream)
121601006Không hỗ trợ ghi hình camera GV
121601008Không hỗ trợ thêm trợ giảng
121601009Không hỗ trợ phát lại ghi hình buổi học
121601010Không hỗ trợ tự động ghi hình buổi học trực tuyến
121601020Lỗi tham số
121601021Lớp học này không thuộc quản lý của trường
121601022Lớp học này không phải lớp học tiêu chuẩn
121601023Lớp học này đã kết thúc và không thể thao tác được
121604007Tí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
121604008Trường chưa được kích hoạt tính năng AI Giám sát rủi ro
122301070Số lượng hoạt động trong một lớp đã vượt quá giới hạn cho phép
142601001Agent không tồn tại