编辑课堂
此接口用于修改 LMS 课堂的基本信息,如名称、时间、教师、助教、台上人数、录课\直播\回放等。
注意:
- 此接口仅支持修改标准课堂,不支持修改在线双师子课堂信息。
- 此接口支持仅传递需修改的参数,可传一个或多个,全都不传,报
参数不全错误。 - 不要求传递 screenMode(屏幕模式)和 teachMode(教学模式)。根据 cameraHide(是否隐藏坐席区)给 screenMode、teachMode 参数赋相应的值。
- cameraHide=0(显示坐席区)时,teachMode=1(在线教室),screenMode=1(标准模式)
- cameraHide=1(隐藏坐席区)时,teachMode=2(智慧教室),screenMode=2(大屏模式)
- 此接口不支持修改发布状态。课堂活动API接口不支持创建、修改课堂为草稿。
- 如课堂开启录课但未开启网页直播,则 data 返回 课堂直播播放器地址 liveUrl,拉流地址为空。
- 如课堂开启录播、网页直播,则会给该课堂绑定3个拉流地址(RTMP,HLS ,FLV),data 返回课堂直播播放器地址 liveUrl 和拉流地址liveInfo 。如该课堂后续取消直播,3个拉流地址仍然存在且与该课堂绑定。
- 如课堂不开启录课,则 data 里的课堂直播播放器地址 liveUrl 和拉流地址 liveInfo均为空。
- recordType、recordState、liveState、openState为一组完整参数,不可只传其中部分参数。否则会报错。
- 此接口不支持编辑草稿状态的课堂。
URL
https://root_url/lms/activity/updateClass
HTTP Request Methods
- POST
编码格式
- UTF-8
请求参数
Header 参数
| key | 必填 | 类型 | 说明 |
|---|---|---|---|
| X-EEO-SIGN | 是 | string | 签名 规则见这里 |
| X-EEO-UID | 是 | string | 机构SID |
| X-EEO-TS | 是 | string | 时间戳 |
Body 参数
| key | 必填 | 类型 | 说明 | 规则说明 | |
|---|---|---|---|---|---|
| courseId | 是 | integer | 班级(课程)ID | 活动所属班级ID | |
| activityId | 是 | integer | 课堂活动ID | ||
| unitId | 否 | integer | 单元ID | 修改课堂所属单元 | |
| name | 否 | string | 课堂活动名称 | ||
| teacherUid | 否 | integer | 主讲教师UID | 更换主讲教师 | |
| startTime | 否 | integer | 活动开始时间 | ||
| endTime | 否 | integer | 活动结束时间 | ||
| assistantUids | 否 | array[integer] | 联席教师UID数组 | 不传默认无联席教师;UID 值为注册用户接口返回的用户 UID | |
| cameraHide | 否 | integer | 是否隐藏坐席区 | 0 = 否(显示坐席区),1 = 是(隐藏坐席区)。不传不修改,传错报 参数不全 。当 cameraHide =1时,isAutoOnstage 会始终被设置为0(也就是说,cameraHide =1 时,API 会忽略传参 isAutoOnstage 的值) |
|
| isAutoOnstage | 否 | integer | 学生进入教室是否自动上台 | 0 = 不自动,1 = 自动。不传不修改,传错报 参数不全 |
|
| seatNum | 否 | integer | 上台人数 | 包含老师,例:传1时,表示1v0,台上只显示老师头像。传递的台上人数小于配置的最大台上人数时,正常创建;传递的台上人数大于配置的最大台上人数,则会被重置为最大台上人数 | |
| isHd | 否 | integer | 是否高清 | 0 = 非高清,1 = 高清,2 = 全高清。不传不修改,传错报 参数不全 。目前仅支持 1V1 或 1V6 的高清、全高清 |
|
| isDc | 否 | integer | 双摄模式,是否开启副摄像头 | 0 = 不开启,3 = 开启全高清副摄像头。不传不修改,传错报 参数不全 。如果 isDc 等于3,课节的台上人数不是 1v1(即 seatNum 不等于2),则返回 该设置不支持双摄 ;如果 isDc = 3,且 seatNum =2,则 isHd 一定会被设置为2(即这种情况API会忽略 isHd 的传参值) |
|
| recordType | 否 | integer | 录课类型 | 0 = 录制教室,1 = 录制现场,2 = 两个都录。不传不修改,传错报 参数不全 |
|
| recordState | 否 | integer | 是否开启录课 | 0 = 不录课(关闭), 1 = 录课(开启)。不传不修改,传错报 参数不全 。打开录课,ClassIn会将教室互动直播场景录制下来,可用于网页直播或者网页回放。若需要网页直播或者网页回放,则必须选择录课,否则无法开启网页直播、网页回放 |
|
| liveState | 否 | integer | 是否开启直播 | 0 = 不直播(关闭),1 = 直播(开启)。不传不修改,传错报 参数不全 。若需要网页直播,则必须开启录课 |
|
| openState | 否 | integer | 是否公开回放 | 0 = 不公开(关闭),1 = 公开(开启)。不传不修改,传错报 参数不全 。若需要网页回放,则必须开启录课 |
|
| isAllowCheck | 否 | integer | 是否允许互相查看学习报告和评分 | 0 = 不允许,1 = 允许。不传不修改,传错报 参数不全 |
|
| omoStationBroadcast | 否 | integer | 是否开启OMO站播 (需要机构打开这个增值服务才能生效) | 0-关闭,1-开启,传其他值报业务参数错误 | |
| cloudFolderId | 否 | integer | 组织云盘文件夹id | 默认为课程的 folderId | |
| aiSummaryConfig | 是 | object | AI 相关设置 | ||
| └ chapter | 是 | integer | 章节总结开关 | 0/1 | 无 |
| └ subtitle | 否 | integer | 字幕列表开关 | 0/1 默认 0 | 无 |
| └ teachingAnalysis | 是 | integer | 授课分析开关 | 0/1 | 无 |
| └ teachingAnalysisAgentId | 否 | integer | 授课分析智能体id | 预置智能体ID: "课堂诊断(K12数理)" 5000930(默认) "课堂诊断(K12人文)" 5000931 "课堂研析(公立校数理)" 5000932 "课堂研析(公立校人文)" 5000933 |
响应参数
| 参数名 | 类型 | 示例值 | 含义 |
|---|---|---|---|
| code | integer | 1 | 错误码 |
| msg | string | "程序正常执行" | 错误信息 |
| data | array | [] | 返回信息数组 |
| └ | object | 返回信息对象 | |
| └ activityId | integer | 25096094 | 活动ID |
| └ name | string | "api编辑课堂" | 课堂名称 |
示例
- HTTP 请求
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编辑课堂",
"teacherUid": 409864,
"startTime": 1723010791,
"endTime": 1723016791,
"publishFlag": 2,
"liveState": 1,
"openState": 1,
"recordState": 1,
"recordType": 0
}
- Shell cURL 模拟请求指令
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编辑课堂", "teacherUid": 409864, "startTime": 1723010791, "endTime": 1723016791, "publishFlag": 2, "liveState": 1, "openState": 1, "recordState": 1, "recordType": 0}' \
'https://root_url/lms/activity/updateClass'
响应示例(正常时返回的 json 数据包示例)
{
"code": 1,
"msg": "程序正常执行",
"data": {
"activityId": 25096094,
"name": "api编辑课堂"
}
}
错误码说明
| 错误码 | 说明 |
|---|---|
| 100 | 课堂参数错误 |
| 121 | 机构下面没有该老师,请在机构下添加该老师 |
| 124 | 开课前一分钟内不能更改上课时间 |
| 136 | 机构下面没有该老师,请在机构下添加该老师 |
| 140 | 该课堂正在上课,不能编辑和删除 |
| 142 | 该课程下无此单课信息 |
| 143 | 没有此单课信息 |
| 144 | 机构下无此课程 |
| 145 | 该单课已经结束 |
| 147 | 没有此课程信息 |
| 153 | 该课程已过期 |
| 153 | 该课程已过期 |
| 165 | 单节课不能少于15分钟且不能超过24小时 |
| 172 | 课程下的学生不能添加为老师 |
| 173 | 课程下的旁听不能添加为老师 |
| 212 | 该单课已经删除 |
| 212 | 该单课已经删除 |
| 219 | 老师信息不存在 |
| 221 | 客户端修改单课视频点播信息失败 |
| 222 | 客户端修改单课信息失败 |
| 226 | 未录课的课节不能修改直播回放状态 |
| 269 | 课节信息有误,请删除后重新创建 |
| 318 | 联席教师不是本机构老师 |
| 319 | 课程下的学生不能添加为联席教师 |
| 320 | 课程下的旁听不能添加为联席教师 |
| 322 | 课节老师不能添加为联席教师 |
| 324 | 联席教师节老师加入教师列表失败 |
| 325 | 插班生不能添加为老师 |
| 326 | 联席教师加入教师列表失败 |
| 328 | 联席教师不能添加为老师 |
| 350 | 开课前20分钟内不能修改课节名称、上课时间、云盘资源、台上人数等 |
| 368 | 当前学生上台数不支持高清 |
| 385 | 已过课节结束时间,不能修改授课教师或联席教师 |
| 387 | 老师已被停用 |
| 388 | 联席教师已被停用 |
| 450 | 数量超出限制 |
| 451 | 课节直播封面和介绍添加失败 |
| 454 | 课节起止时间与系统维护时间有重叠 |
| 767 | 当前版本课节结束时间不允许超过服务期限 |
| 769 | 教师版或教师试用版,班主任不是本人 |
| 800 | 老师被停用中 |
| 804 | 联席教师被停用中 |
| 808 | 该设置不支持双摄 |
| 863 | 课节时长不合规定 |
| 875 | 开课前5分钟内不能修改课节名称、上课时间、云盘资源、台上人数、教室模式等 |
| 884 | 老师账号已注销 |
| 885 | 联席教师账号已注销 |
| 21304 | 非中小学不支持设置学科 |
| 21305 | 学科不存在 |
| 21317 | 联席教师数量超出限制 |
| 21319 | 老师已删除 |
| 101001001 | 参数错误 |
| 101002005 | 签名异常 |
| 101002006 | 时间戳过期 |
| 101002008 | 时间戳不存在 |
| 121601005 | 不支持设置网页直播 |
| 121601006 | 不支持设置录制现场 |
| 121601008 | 不支持设置联席教师 |
| 121601009 | 不支持设置网页回放 |
| 121601010 | 不支持设置录制教室 |
| 121601020 | 业务参数错误 |
| 121601021 | 课程不属于当前机构下 |
| 121601022 | 课程不是标准课 |
| 121601023 | 课程已过期 |
| 121604007 | 不支持设置OMO站播 |