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.

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