Giao diện này được sử dụng để tạo buổi học (Lesson/Classroom).
Ghi chú:
- API này chỉ hỗ trợ tạo buổi học bình thường, không hỗ trợ tạo buổi học liên kết cho tính năng Lớp học liên kết (Dual teacher lesson).
- Số lượng buổi học trong một lớp có giới hạn.
- Tham số
screenModevàteachModekhông cần truyền bởi vì sẽ được định dạng theo thiết lậpcameraHide- Nếu
cameraHide=0(hiển thị bục giảng), thìteachMode=1vàscreenMode=1. - Nếu
cameraHide=1(không hiển thị bục giảng), thìteachMode=2vàscreenMode=2.
- Nếu
- Giao diện này không cho phép lựa chọn danh sách người tham gia hoạt động; mặc định
Publish to all members. - Sau khi tạo buổi học sẽ ở trạng thái hiển thị công khai – không thể tạo buổi học với dạng nháp thông qua API.
- Nếu buổi học được thiết lập tự động Ghi hình lưu về Cloud nhưng không mở livestream thì
datasẽ vẫn trả vềlive_url, nhưng phầnlive_infosẽ trống. - Nếu bật cả tự động Ghi hình lưu về Cloud và livestream thì 3 thông tin pulling stream addresses (RTMP, HLS, FLV) sẽ được tạo và gắn với buổi học. Thông tin
datasẽ trả vềlive_urlvà pulling streamlive_info. Nếu tính năng livestream bị tắt sau khi buổi học được tạo thì 3 thông tin pulling stream vẫn tồn tại. - Nếu không bật tự động ghi hình thì cả thông tin
live_urlvà pulling streamlive_infođều trống. recordType,recordState,liveState, vàopenStatelà các tham số bắt buộc truyền và liên quan với nhau, không được bỏ trống, nếu không sẽ bị báo lỗi.
Note:
- This interface only supports the creation of standard classrooms and does not support the creation of dual-teacher sub-classerooms.
- There is a limit on the total number of classes that can be created under a single course. If this limit is exceeded, an error will occur.
- The number of activities that can be created under a single unit (including classroom) is limited to 100. Exceeding this limit will result in an error.
- The parameters of
screenMode(screen mode) andteachMode(teaching mode) are not needed. They are 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 selecting the participants of the classroom activity; the default setting is to
Publish to all members. - This interface only supports the creation of published classrooms and does not support drafts.
- 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 addresseslive_infoin thedatawill be empty. recordType,recordState,liveState, andopenStateconstitute a complete set of parameters and cannot be partially passed; otherwise, an error will occur.
URL
https://api.eeo.cn/lms/activity/createClass
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 |
| 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 | Bắt buộc | string | Tên buổi học | Tối đa 50 ký tự |
| teacherUid | 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ôn |
| startTime | 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 | 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ỗiparameter error; khicameraHide = 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; nếu không truyền; nếu tham số truyền sai thì sẽ hiện báo 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 isDC = 3 và vàseatNum = 2, thì isHd sẽ 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. |
| uniqueIdentity | Không bắt buộc | string | Mã định danh | Ví dụ: 45s8d5a6asaa1ssf (giá trị từ 1-32 ký tự). Nếu truyền giá trị không tuân thủ quy tắc sẽ nhận báo lỗi parameter error; một mã định danh duy nhất có thể được truyền đi để xác minh xem mã định danh duy nhất này đã tồn tại trong tổ chức hay chưa, ngăn chặn việc tạo trùng lặp do sự cố mạng. |
| 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 |
Response Data
| Key | Định dạng | Phản hồi | Ý nghĩa |
|---|---|---|---|
| code | integer | 1 | Mã lỗi |
| msg | string | “Execution successful” | |
| data | object | ||
| └ activityId | integer | 25096094 | ID của hoạt động |
| └ classId | integer | 1141162 | ID buổi học |
| └ name | string | “API Created Classroom” | Tên lớp |
| └ live_info | object | ||
| └ RTMP | string | Địa chỉ pull stream theo giao thức RTMP | |
| └ HLS | string | Địa chỉ pull stream theo giao thức HLS | |
| └ FLV | string | Địa chỉ pull stream theo giao thức FLV | |
| └ live_url | string | Địa chỉ trang phát livestream/ phát lại ghi hình |
Sample
- HTTP request
POST /lms/activity/createClass HTTP/1.1
Host: root_url
X-EEO-SIGN: 5cb85cc272274a4353a9dc4c8dcdf0fc
X-EEO-UID: 409864
X-EEO-TS: 1722938160
Content-Type: application/json
Content-Length: 274
{
"courseId": 414193,
"unitId": 26020897,
"name": "API Created Classroom",
"teacherUid": 409864,
"startTime": 1723010760,
"endTime": 1723016760,
"liveState": 1,
"openState": 1,
"recordState": 1,
"recordType": 0
}
- Shell cURL analog request instruction
curl -X POST \
-H 'Host: root_url' \
-H 'X-EEO-SIGN: 5cb85cc272274a4353a9dc4c8dcdf0fc' \
-H 'X-EEO-UID: 409864' \
-H 'X-EEO-TS: 1722938160' \
-H 'Content-Type: application/json' \
-d '{"courseId": 414193, "unitId": 26020897, "name": "API Created Classroom", "teacherUid": 409864, "startTime": 1723010760, "endTime": 1723016760, "liveState": 1, "openState": 1, "recordState": 1, "recordType": 0}' \
'https://root_url/lms/activity/createClass'
Response Sample(The normal return json packet example)
{
"code": 1,
"msg": "Execution successful",
"data": {
"activityId": 25107347,
"classId": 1152680,
"live_info": {
"RTMP": "rtmp://liveplay.eeo.cn/eeolive/576f5a8c97de-18329123b10cec7d2?txSecret=c10b423a82cab861860081c02d03d87b&txTime=7d8d37cd",
"HLS": "https://liveplay.eeo.cn/eeolive/576f5a8c97de-18329123b10cec7d2.m3u8?txSecret=c10b423a82cab861860081c02d03d87b&txTime=7d8d37cd",
"FLV": "https://liveplay.eeo.cn/eeolive/576f5a8c97de-18329123b10cec7d2.flv?txSecret=c10b423a82cab861860081c02d03d87b&txTime=7d8d37cd"
},
"live_url": "https://www.eeo.cn/live.php?lessonKey=3dca7b0e14e3bb35",
"name": "api-0829"
}
}
Error Code Descriptions
| Mã lỗi | Mô tả |
| 100 | Lỗi tham số |
| 104 | Lỗi server |
| 119 | Thời gian kết thúc phải muộn hơn thời gian bắt đầu |
| 120 | Thời gian bắt đầu không hợp lệ |
| 136 | Không có thông tin giáo viên này trong danh sách GV của trường |
| 147 | Không có thông tin của lớp học này |
| 158 | Thêm học sinh không thành công |
| 160 | Thư mục không hợp lệ |
| 161 | Tạo buổi học thất bại |
| 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 |
| 219 | Giáo viên không tồn tại |
| 220 | Thêm buổi học thất bại |
| 221 | Chỉnh sửa thông tin ghi hình buổi học thất bại |
| 267 | Buổi học được tạo thành công nhưng thiết lập livestream thất bại |
| 268 | Thời gian bắt đầu buổi học không hợp lệ |
| 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 |
| 387 | Giáo viên đã bị vô hiệu hóa |
| 388 | Trợ giảng đã bị vô hiệu hóa |
| 390 | Chương đã đạt số lượng hoạt động tối đa, vui lòng chọn chương khác |
| 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 |
| 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 |
| 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 |
| 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 |
| 40031 | Vượt số lượng hoạt động tối đa của chương |
| 101001001 | Lỗi tham số |
| 101002005 | Lỗi signature |
| 101002006 | Timestamp hết hạn |
| 101002008 | Lỗi timestamp |
| 101003001 | Tần suất lặp lại quá nhiều |
| 110100066 | Phiên bản này không hỗ trợ chế độ dual-camera |
| 121601003 | Trường đã đạt giới hạn số lượng buổi học được phép tạo trong một tháng, nâng cấp phiên bản để tạo thêm buổi học |
| 121601004 | Trường đã đạt giới hạn số lượng buổi học được phép tạo mỗi tháng, không thể thao tác thêm |
| 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 |
| 121601070 | Vượt số lượng buổi học tối đa của lớp |
| 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 |