创建课节(单个)

创建课节,创建单个课节,需要提供 SID,safekey,timeStamp,课程 ID,课节名称,上课时间,下课时间,老师账号,老师姓名,云盘目录 ID,学生上台人数和录播等各部分详情,助教,是否上台,是否高清、唯一标识、课节简介、老师UID、助教UID。其中 SID、safeKey、timeStamp、courseId、className、beginTime、endTime、teacherUid 为必填项。返回创建成功后的课节 ID 和执行后的说明。注意:因为目前仅支持 1v1 或者 1v6 高清、全高清,所以选择高清时上台人数只能选择 1 或者 6 。 机构传入唯一标识后,该接口会校验机构下所有已创建课节中是否有此唯一标识,如果有,则返回之前创建成功的课节 ID。如果没有,则正常执行。 机构传入唯一标识后,该接口会校验机构下所有已创建课节中是否有此唯一标识,如果有,则返回之前创建成功的课节 ID。如果没有,则正常执行。

注意事项:

  • 如果课节设置录课(没有设置直播),则more_data返回 课节直播播放器地址 ,拉流地址为空;
  • 如果课节设置录播、直播,则会给该课节绑定三个拉流地址(RTMP,HLS 和 FLV),more_data返回课节直播播放器地址和拉流地址(不论该课节后续是否取消直播,这三个地址仍然存在且与该课节绑定);
  • 当课节没有设置录课,则more_data里的课节直播播放器地址和拉流地址均为空。

附拉流地址优缺点对比,以下对比仅供参考。

RTMP HLS FLV(HTTP-FLV)
全称 Real Time Message Protocol HTTP Liveing Streaming RTMP over HTTP
协议 TCP 长连接 HTTP 短连接 HTTP 长连接
原理 每个时刻的数据收到后立刻转发 集合一段时间的数据,生成 ts 切片文件(三片),并更新 m3u8 索引 同 RTMP,使用 HTTP 协议(80 端口)
延时 1-3s 5-20s(依切片情况) 1-3s
Web 支持 H5 中需要使用插件 支持 H5 H5 中需要使用插件
其他 跨平台支持较差,需要 Flash 技术支持 播放时需要多次请求,对于网络质量要求高 需要 Flash 技术支持,不支持多音频流、多视频流,不便于 seek(即拖进度条)

在返回的课节直播播放器页面我们植入了聊天室功能。为了方便您搜集潜在客户信息,所有用户需要填写手机号登陆后才可以聊天,如下图。当然,为了您更便捷的使用此功能,我们提供了您机构下所有学生免登陆的操作,请参考下方的 直播播放器中聊天室免二次登录

课节直播登录

直播播放器中聊天室免二次登录

  • 当您通过本接口获得播放器链接之后
    • 例:https://www.eeo.cn/live.php?lessonKey=1ca102d29e61175f
    • 您需要增加 account、nickname、checkCode 拼接在 https://www.eeo.cn/live_partner.php?lessonKey=00d1c98a91c52568 地址后边。 注意:这个免二次登录地址与直播播放器地址不是同一个地址
  • 具体参数及规则如下
    • 具体参数有 secret、lessonKey、account、nickname、checkCode
    • secret 为SECRET,在 sdk管理后台 API 对接密钥处可获得
    • 从直播器地址中可以获得 lessonKey
    • account 为学生账号,nickname 为学生昵称
    • checkCode = md5(secret+lessonKey+account+nickname)
  • URL 拼接示例
    • https://www.eeo.cn/live_partner.php?lessonKey=00d1c98a91c52568&account=13700000000&nickname=classin&checkCode=d8c57caf088529b4ddd15b0f694d847b

URL

https://root_url/partner/api/course.api.php?action=addCourseClass

HTTP Request Methods

  • POST

编码格式

  • UTF-8

请求参数

key 必填 更多限制 说明 规则说明
SID 机构认证 ID 通过 sdk管理后台 申请机构认证可获得
safeKey 固定 32 位全小写字符 机构认证安全密钥 safeKey=MD5(SECRET+timeStamp)
timeStamp 当前调用接口20分钟以内的 Unix Epoch 时间戳 Unix Epoch 时间戳是 1970年1月1日 00:00:00 (世界标准时间) 起经过的秒数
courseId 课程 ID
className 1-50个字符,不区分中英文,超过50会自动截取为50字 课节名称
beginTime 开课时间须在3年以内 上课时间 Unix Epoch 时间戳(秒单位)
endTime 下课时间 Unix Epoch 时间戳(秒单位)
teacherUid 教师 UID 注册用户接口返回的用户 UID
folderId 不传默认为课程授权云盘ID 云盘目录ID 支持传多个不重复的文件夹ID(最多10个);多个文件夹ID之间用英文逗号分隔,例如"12,13,15";如果多个文件夹ID有重复,返回100错误码
seatNum 默认为6,最大上限值调整为12 学生上台数
record 默认为 0 ,所有非 1 的数字,都会当成 0 处理 录课(0 关闭,1 开启) 若需要直播或者回放,则必须选择录课,否则无法无法开启直播、回放
live 默认为 0 ,所有非 1 的数字,都会当成 0 处理 直播(0 关闭,1 开启) 若需要直播,则必须开启录课
replay 默认为 0 ,所有非 1 的数字,都会当成 0 处理 回放(0 关闭,1 开启) 若需要回放,则必须开启录课
assistantUid 此参数要么不传,要么传uid值,请不要传空 助教 UID 注册用户接口返回的用户 UID
isAutoOnstage 0=自动,1=不自动,默认为0,所有非1的数字,都会当成0处理 学生进入教室是否自动上台
isHd 0=非高清,1=高清,2=全高清,默认为0,除过1,所有非0的数字,都会当成0处理 是否高清 目前仅支持 1V1 或 1V6 高清、全高清
isDc 默认为0,不传或传错,都使用默认值 是否开启副摄像头,0=不开启,3=开启全高清副摄像头 目前只有1v1(seatNum=1),才支持双摄,如果isDc=3,isHd强制写成2(全高清)
courseUniqueIdentity 例如:45s8d5a6asaa1ssf(1-32 位字符,不符合规则的值接口会返回 100 错误) 唯一标识 机构可传唯一标识,传入此值后,我们会检验机构下所有已创建课节中是否有该唯一标识
classIntroduce 0-1000字,不区分中英文,超过1000会自动截取为1000字。 课节简介
teachMode 默认为1,不传使用默认值,传错报100错误。 教学模式,1=在线教室,2=智慧教室 此参数与教室的屏幕模式、摄像头区域、是否自动上台有绑定关系;teachMode=2时,用户传递的isAutoOnstage可能会失效(用户传isAutoOnstage=2(自动上台)会失效)。注意:4.0版本的客户端才支持

响应参数

参数名 类型 示例值 含义
data number 1340801 创建成功返回的课节 ID
 └ more_data array [] 返回 Data 信息数组
 └ live_url string https://www.eeo.cn/live.php?lessonKey=0fdc12bc3558164d 课节直播播放器地址
 └ live_info array [] 返回 Data 信息数组
  └ RTMP string "rtmp://liveplay.eeo.cn/eeolive/576f5a8c97d9-183291632119a96?txSecret=f4bfe1afcf2592de61c11af9e0954c00&txTime=7d8d37cd" 拉流地址
  └ HLS string "https://liveplay.eeo.cn/eeolive/576f5a8c97d9-183291632119a96.m3u8?txSecret=f4bfe1afcf2592de61c11af9e0954c00&txTime=7d8d37cd" 拉流地址
  └ FLV string "https://liveplay.eeo.cn/eeolive/576f5a8c97d9-183291632119a96.flv?txSecret=f4bfe1afcf2592de61c11af9e0954c00&txTime=7d8d37cd" 拉流地址
error_info object 返回信息对象
└ errno number 1 错误代码
└ error string "程序正常执行" 错误详情

示例

  • HTTP 请求
POST /partner/api/course.api.php?action=addCourseClass HTTP/1.1
Host: www.classin-sdk.com
Content-Type: application/x-www-form-urlencoded
Cache-Control: no-cache

SID=2339736&safeKey=e2f53f7a1b51bc86e52bbd080d8bf0f0&timeStamp=1493350659&courseId=490583&className=Chinese-10&beginTime=1493607694&endTime=1493609694&teacherUid=1001001&folderId=&seatNum=6&record=1&live=0&replay=1&assistantUid=1001002&isAutoOnstage=0&isHd=0&courseUniqueIdentity=54421&classIntroduce=ClassIn,真正的在线教室
  • Shell cURL模拟请求指令
curl -H "Content-Type: application/x-www-form-urlencoded" -X "POST" \
       -d "SID=1234567" \
       -d "safeKey=0f7781b3033527a8cc2b1abbf45a5fd2" \
       -d "timeStamp=1484719085" \
       -d "courseId=442447" \
       -d "className=测试课节-1" \
       -d "beginTime=1492506000" \
       -d "endTime=1492507800" \
       -d "teacherUid=1001001" \
       -d "folderId=22418" \
       -d "seatNum=6" \
       -d "record=1" \
       -d "live=1" \
       -d "replay=1" \
       -d "assistantUid=1001002" \
       -d "isAutoOnstage=0" \
       -d "isHd=0" \
       -d "courseUniqueIdentity=4565234" \
       -d "classIntroduce=ClassIn,真正的在线教室" \
       "https://root_url/partner/api/course.api.php?action=addCourseClass"

响应示例(正常时返回的 json 数据包示例)

{
  "data": 23623,
  "more_data": {
        "live_url": "https://www.eeo.cn/live.php?lessonKey=0fdc12bc3558164d",
        "live_info": {
            "RTMP": "rtmp://liveplay.eeo.cn/eeolive/576f5a8c97d9-183291632119a96?txSecret=f4bfe1afcf2592de61c11af9e0954c00&txTime=7d8d37cd",
            "HLS": "https://liveplay.eeo.cn/eeolive/576f5a8c97d9-183291632119a96.m3u8?txSecret=f4bfe1afcf2592de61c11af9e0954c00&txTime=7d8d37cd",
            "FLV": "https://liveplay.eeo.cn/eeolive/576f5a8c97d9-183291632119a96.flv?txSecret=f4bfe1afcf2592de61c11af9e0954c00&txTime=7d8d37cd"
        }
    },
  "error_info": {
    "errno": 1,
    "error": "程序正常执行"
  }
}

错误码说明

错误码 说明
1 表示成功执行
100 表示参数不全或错误
102 表示无权限(安全验证没通过)
104 表示操作失败(未知错误)
114 表示服务器异常
119 表示结束时间须晚于开课时间
120 表示开课时间至少一分钟以后
136 表示机构下面没有该老师,请在机构下添加该老师
144 表示机构下无此课程
147 表示没有此课程信息
149 表示课程已删除
153 表示课程已过期
160 表示机构下无此云盘目录
165 表示单节课不能少于15分钟且不能超过24小时
172 表示课程下的学生不能添加为老师
173 表示课程下的旁听不能添加为老师
259 表示上台人数设置超出最大限制
268 表示课节开始时间超出允许范围(课节开始时间须在3年以内)
280 表示课节创建成功,录课参数设置错误,录课开启失败
281 表示课节创建成功,视频服务有问题,录课开启失败
318 表示助教不是本机构老师
319 表示课程下的学生不能添加为助教
320 表示课程下的旁听不能添加为助教
322 表示课节老师不能添加为助教
323 表示助教购买课节失败
324 表示课节老师加入教师列表失败
326 表示课节助教加入教师列表失败
330 表示助教账号格式不正确
368 当前学生上台数不支持高清
369 该课程/课节类型暂不支持该操作
387 表示老师已被停用
388 表示助教已被停用
398 表示数据已经存在(唯一标识已存在)
400 表示请求数据不合法
800 表示老师被停用中
804 表示助教被停用中
808 表示该设置不支持双摄
824 表示课节添加成功,课节简介设置失败
856 表示部分文件夹不存在或不属于本机构
890 表示课节绑定文件夹个数超出限制

results matching ""

    No results matching ""