云课堂API相关
日期: 2022-11-14
创盛视联数码科技(北京)有限公司
[TOC]
小班课管理API
管理API均需要THQS加密请求
1.创建直播间
描述:
创建直播间
认证方式为接口认证时,具体规则详见 https://doc.bokecc.com/class/developer/api/interface.html
地址:
https://ccapi.csslcloud.net/api/room/create
方法:
POST/GET
请求参数:
参数名称 | 参数类型 | 参数说明 | 备注 |
---|---|---|---|
userid | 字符串 | 开发者账号ID | 必须 |
name | 字符串 | 直播间名称 长度限制 <= 100 (不支持表情符) | 必须 |
room_type | 整型 | 房间类型 2:小班课 | 必须 |
publisher_authtype | 整型 | 老师认证方式 0:接口验证 1:密码 2:免密码 | 可选, 默认为1 |
publisherpass | 字符串 | 老师端密码 长度限制 <= 256 | 当认证方式为免密码,则该参数可选(默认为开发者账号ID),其余情况必填, 当认证方式为接口认证时,此处填写接口认证地址 |
assist_switch | 整型 | 助教开关 0: 关闭 1:开启 | 可选, 默认关闭 |
assist_authtype | 字符串 | 助教认证方式 0:接口验证 1:密码 2:免密码 | 可选, 默认为1,当assist_switch=1时此字段生效 |
assist_pass | 字符串 | 助教端密码 长度限制 <= 256 | 可选,默认为开发者账号ID,认证方式为接口认证时,此处填写接口认证地址,当assist_switch=1时此字段生效 |
audience_authtype | 整型 | 旁听认证方式 0:接口验证 1:密码 2:免密码 | 可选, 默认为1 |
audience_pass | 字符串 | 旁听密码 长度限制 <= 256 | 可选, 默认为开发者账号ID,认证方式为接口认证时,此处填写接口认证地址 |
talker_authtype | 整型 | 互动学员认证方式 0:接口验证 1: 密码 2:免密码 3:白名单 | 可选, 默认为为1 |
talker_pass | 字符串 | 互动学员认证密码 长度限制 <= 256 | 可选, 默认为开发者账号ID,认证方式为接口认证时,此处填写接口认证地址 |
inspector_authtype | 整型 | 隐身者认证方式 0:接口验证 1: 密码 2:免密码 | 可选, 默认为为1 |
inspector_pass | 字符串 | 隐身者认证密码 长度限制 <= 256 | 可选, 默认为开发者账号ID, 认证方式为接口认证时,此处填写接口认证地址 |
viewer_authtype | 整型 | 分流回放登录认证方式 0:接口验证 1: 密码 2:免密码 | 可选, 默认为为1 |
viewer_pass | 字符串 | 分流回放登录认证密码 长度限制 <= 256 | 可选, 默认为开发者账号ID, 认证方式为接口认证时,此处填写接口认证地址 |
white_list | 字符串 | 如果互动学员开启了白名单,则此处填写json化的用户名/密码,如 "{"user": "123"}" | 可选 |
desc | 字符串 | 直播间简介 长度限制 <= 10000 (不支持表情符) | 可选 |
templatetype | 整型 | 模版类型 1:讲课模式 2:主视角模式 4:平铺模式 16:线下双师模式 32:互动模式 默认为1 | 可选,默认为1,注:当该参数为32互动模式需要配合layout_mode参数使用 |
mergetype | 整型 | 合流模式 1:主视角模式 2:平铺模式 3:覆盖模式 4:共享视频模(该模式下:分辨率 1920*1080 帧率 25 码率) 6:视频纵向平铺(1V1场景下使用) | 可选, 默认为1 |
max_streams | 整型 | 互动人数上限(实际连麦人数), 不能超过账户允许上限 | 可选, 默认为开发者账号最高连麦数上限 |
video_mode | 整型 | 连麦音视频模式 1:音视频 2.仅音频 | 可选, 默认为1 |
talker_bitrate | 整型 | 学生端码率 不超2000 | 可选, 默认为200 |
publisher_bitrate | 整型 | 老师端码率 不超2000 | 可选, 默认为200 |
classtype | 整型 | 连麦模式 1:举手连麦 2:自由连麦 3:自动连麦 | 可选, 默认为1 当templatetype为32时连麦模式只支持自动连麦方式 |
presenter_out | 布尔型 | 非直播状态下踢出老师(直播中踢出无效) | 可选, 默认为false |
light_mark | 整型 | 跑马灯 0: 关闭 1: 开启 | 可选, 默认为0 |
show_exit | 整型 | 页面是否 显示退出按钮 0:隐藏 1:显示 | 可选, 默认为1 |
ppt_support | 布尔型 | 是否支持ppt动效 | 可选, 默认为false |
ppt_display | 布尔型 | ppt显示样式 0: 适应窗口 1: 适应宽度 | 可选, 默认为0 |
desktop_audio | 整型 | 桌面分享声音 0: 关闭 1: 开启 | 可选, 默认关闭 |
manual_record | 整型 | 手动录制 0: 关闭 1: 开启 | 可选, 默认关闭 |
record_bitrate | 整型 | 回放清晰度 速度优先:500 画质优先:0 | 可选, 默认速度优先 |
warm_open | 字符串 | 暖场视频 '0': 关闭, '1': 开启 | 可选, 默认关闭 |
helper_switch | 整型 | 直播助手开关 0: 关闭 1:开启 | 可选, 默认关闭 |
record_switch | 整型 | 录屏助手开关 0: 关闭 1:开启 | 可选, 默认关闭 |
schedule_switch | 整型 | 是否设置预定直播 0: 关闭 1:开启 | 可选, 默认关闭 |
schedule_live_start | 字符串 | 预定直播开始时间,此参数只做展示用 (格式:yyyy-MM-dd HH:mm:ss) | 可选 |
schedule_live_end | 字符串 | 预定直播结束时间,此参数只做展示用 (格式:yyyy-MM-dd HH:mm:ss) | 可选 |
brush_save_display | 整型 | 控制web是否显示画笔保存按钮,1:开启,0: 关闭 | 可选, 默认开启 |
share_desktop_display | 整型 | 控制web是否显示桌面共享,1:开启,0: 关闭 | 可选, 默认开启 |
layout_mode | 整型 | 0:1vN 1:1v1(16:9) 2:1V1(4:3) 4:研讨会 templatetype为32时,此值有意义 | 可选, 默认为0, 0为互动模式-1vN、1为互动模式-1v1(16:9)、2为互动模式-1v1(4:3)、4为互动模式-研讨会 |
toolbox_switch | 字符串 | 工具箱功能设置:对应1.桌面共享,2.答题卡,3.点名,4.头脑风暴,5.投票,6.计数器,7.循环连麦,8.辅助摄像头,9.批量上麦 | 可选, 默认全部开启 "1,2,3,4,5,6,7,8,9",例:只开启桌面共享与点名则填写:"1,3" |
allow_all_presenter_role | 整型 | 允许Web端学员拥有讲师权限 0: 关闭 1:开启 | 可选, 默认关闭 |
background_id | 整型 | 背景图片id 仅templatetype为32时有效 background_id获取:创建图片 | 可选,默认1 |
room_resolution | 整型 | 房间分辨率 取值范围(240:默认,480:标清,720:高清,1080:全高清) | 可选,默认为账号级别的默认分辨率 |
desktop_share_default_hide | 整型 | 桌面共享打开默认最小化 0:关闭 1:开启 | 可选,默认0 |
auto_up | 整型 | 自动连麦时设置互动角色是否自动上麦,当templatetype为32时生效 0:否 1:是 | 可选,默认1 |
class_timeout | 整型 | 拖堂时间(schedule_switch为1时,且schedule_live_end不为空时有意义) 满足schedule_live_end字段的设置时间 且老师在房间内触发关闭逻辑 | 可选,默认-1 范围:1-100 单位:分钟 |
class_timeout_close | 整型 | 超时强制结束直播并关闭直播间开关 0:关闭 1:开启 | 可选,默认0 |
class_timeout_close_time | 整型 | 超时强制结束直播并关闭直播间时间(class_timeout_close为1时有意义,schedule_live_end过后达到设置时间且老师没在房间内关闭) | 可选,默认10 范围:1-100 单位:分钟 |
playback_retain_time | 整型 | 回放时效设置 | 可选,默认永久有效, 范围:7-999 单位:天 |
classover_time_open | 整型 | 下课倒计时设置 | 可选,默认0 ,0:关闭 1:开启 |
classover_time | 整型 | 倒计时时间 | 可选,下课倒计时设置开启起作用 |
classover_tips | 字符串 | 下课倒计时提示语 | 可选,下课倒计时设置开启起作用,文字提示不可超过100个字符 |
translate | 整型 | 聊天区翻译设置 | 可选,默认0 ,0:关闭 1:开启 |
big_room | 整型 | 房间类型 1:普通房间 2:大房间 普通房间最大支持700互动,大房间支持万人互动 | 可选,默认1 |
assistant_stealth | 整型 | 助教默认隐身 0:关 1:开 | 可选,默认0 |
default_allow_draw | 整型 | 房间默认画笔 0:默认不授权 1:默认授权 | 可选,默认0 |
in_out_sound | 整型 | 进出提示音 0:关闭 1:开启 | 可选,默认0 |
max_talker_limit | 整型 | 房间最大互动者限制 0:关 1:开 (互动模式非大房间类型生效) | 可选,默认0 |
max_talker_limit_count | 整型 | 房间最大互动者限制数量 (互动模式非大房间类型生效) | 可选,默认6 |
wheat_condition | 整型 | 连麦控制 0:必须开启摄像头和麦克风 1:必须开启摄像头 2:必须开启麦克风 | 可选,默认0 |
private_chat | 整型 | 是否开启私聊 0:关闭 1:开启 | 可选,默认0 |
switch_background | 整型 | 应用在后台运行 0:关闭 1:开启 | 可选,默认0 |
allow_upload | 整型 | 是否允许文档库/媒体库上传文件 0:关闭 1:开启 | 可选,默认1 |
playback_record | 整型 | 是否开启回放录制,当templatetype为32时生效 0:关闭 1:开启 | 可选,默认1 |
disabled_talker_video | 整型 | 禁止学员(嘉宾)关闭自己摄像头开关 0:关闭 1:开启 | 可选,默认关闭 |
disabled_talker_audio | 整型 | 禁止学员(嘉宾)关闭自己麦克风开关 0:关闭 1:开启 | 可选,默认关闭 |
sound_quality | 整型 | 音质选择 0:流畅(适合语音通话为主的场景) 1:高音质(适合高保真传输音乐的场景,如音乐课等) | 可选,默认0 |
allow_page_switch | 整型 | 授权后允许学生翻页PPT 0:关闭 1:开启 | 可选,默认1 |
返回示例:
{
"result": "OK", # 失败: FAIL,成功:OK
"data":{
"roomid": "123" # 新创建房间的id
}
}
2.更新直播间
描述:
更新直播间
认证方式为接口认证时,具体规则详见 https://doc.bokecc.com/class/developer/api/interface.html
地址:
https://ccapi.csslcloud.net/api/room/update
方法:
POST/GET
请求参数:
参数名称 | 参数类型 | 参数说明 | 备注 |
---|---|---|---|
userid | 字符串 | 开发者账号ID | 必须 |
live_roomid | 字符串 | 房间ID | 必须 |
name | 字符串 | 直播间名称 (不支持表情符) | 可选 |
publisher_authtype | 整型 | 老师认证方式 0:接口验证 1:密码 2:免密码 | 可选 |
publisherpass | 字符串 | 老师端密码 长度限制 <= 256 | 可选, 认证方式为接口认证时,此处填写接口认证地址 |
assist_switch | 整型 | 助教开关 0: 关闭 1:开启 | 可选 |
assist_authtype | 字符串 | 助教认证方式 0:接口验证 1:密码 2:免密码 | 可选, 当assist_switch=1时此字段生效 |
assist_pass | 字符串 | 助教端密码 长度限制 <= 256 | 可选,认证方式为接口认证时,此处填写接口认证地址 当assist_switch=1时此字段生效 |
audience_authtype | 整型 | 旁听认证方式 0:接口验证 1:密码 2:免密码 | 可选 |
audience_pass | 字符串 | 旁听密码 长度限制 <= 256 | 可选, 认证方式为接口认证时,此处填写接口认证地址 |
talker_authtype | 整型 | 互动学员认证方式 0:接口验证 1: 密码 2:免密码 3:白名单 | 可选 |
talker_pass | 字符串 | 互动学员认证密码, 长度限制 <= 256 | 可选, 认证方式为接口认证时,此处填写接口认证地址 |
inspector_authtype | 整型 | 隐身者认证方式 0:接口验证 1: 密码 2:免密码 | 可选 |
inspector_pass | 字符串 | 隐身者认证密码 长度限制 <= 256 | 可选, 认证方式为接口认证时,此处填写接口认证地址 |
viewer_authtype | 整型 | 分流回放登录认证方式 0:接口验证 1: 密码 2:免密码 | 可选 |
viewer_pass | 字符串 | 分流回放登录认证密码 长度限制 <= 256 | 可选, 认证方式为接口认证时,此处填写接口认证地址 |
white_list | 字符串 | 如果互动者开启了白名单,则此处填写json化的用户名/密码,如 "{"user": "123"}" | 可选 |
desc | 字符串 | 直播间简介 长度限制 <= 10000 (不支持表情符) | 可选 |
templatetype | 整型 | 模版类型 1:讲课模式 2:主视角模式 4:平铺模式 16:线下双师模式 32:互动模式 默认为1 | 可选,默认为1,注:当该参数为32互动模式需要配合layout_mode参数使用 |
mergetype | 整型 | 合流模式 1:主视角模式 2:平铺模式 3:覆盖模式 4:共享视频模(该模式下:分辨率 1920*1080 帧率 25 码率) 6:视频纵向平铺(1V1场景下使用) | 可选 |
max_streams | 整型 | 互动人数上限(实际连麦人数), 不能超过账户允许上限 | 可选 |
video_mode | 整型 | 连麦音视频模式 1:音视频 2.仅音频 | 可选 |
publisher_bitrate | 整型 | 老师端码率 不超2000 | 可选 |
talker_bitrate | 整型 | 学生端码率 不超2000 | 可选 |
audio_bitrate | 整型 | 音频码率 默认为50 | 可选 |
classtype | 整型 | 连麦模式 1:举手连麦 2:自由连麦 3:自动连麦 | 可选 当templatetype为32时连麦模式只支持自动连麦方式 |
is_follow | 字符串 | 是否跟随主视角模式,是: 传主视角userId 否:传空串 | 可选 |
allow_chat | 布尔型 | 是否允许发言 房间级配置 | 可选 |
allow_audio | 布尔型 | 是否允许使用麦克风 房间级配置 | 可选 |
allow_speak | 布尔型 | 是否允许上麦 房间级配置 | 可选 |
presenter_out | 布尔型 | 直播未开启,老师角色登录会踢出已在房间内的老师(直播中无效) | 可选 |
ppt_support | 布尔型 | 是否支持ppt | 可选 |
ppt_display | 布尔型 | ppt显示样式 0: 适应窗口 1: 适应宽度,默认为0 | 可选 |
light_mark | 整型 | 跑马灯 0: 关闭 1: 开启 | 可选 |
show_exit | 整型 | 整型 页面是否 显示退出按钮, 0: 隐藏 1:显示 | 可选 |
desktop_audio | 整型 | 桌面分享声音 0: 关闭 1: 开启, 默认为0 | 可选 |
manual_record | 整型 | 手动录制 0: 关闭 1: 开启, 默认为0 | 可选 |
record_bitrate | 整型 | 回放清晰度 速度优先:500 画质优先:0,默认速度优先 | 可选 |
warm_open | 字符串 | 暖场视频 '0': 关闭, '1': 开启 | 可选 |
helper_switch | 整型 | 直播助手开关 0: 关闭 1:开启 | 可选 |
record_switch | 整型 | 录屏助手开关 0: 关闭 1:开启 | 可选 |
schedule_switch | 整型 | 是否设置预定直播 0: 关闭 1:开启 | 可选 |
schedule_live_start | 字符串 | 预定直播开始时间,此参数只做展示用 (格式:yyyy-MM-dd HH:mm:ss) | 可选 |
schedule_live_end | 字符串 | 预定直播结束时间,此参数只做展示用 (格式:yyyy-MM-dd HH:mm:ss) | 可选 |
brush_save_display | 整型 | 控制web是否显示画笔保存按钮 1:开启,0: 关闭 | 可选 |
share_desktop_display | 整型 | 控制web是否显示桌面共享 1:开启,0: 关闭 | 可选 |
layout_mode | 整型 | 0:1vN 1:1v1(16:9) 2:1V1(4:3) 4:研讨会 templatetype为32时,此值有意义 | 可选, 默认为0, 0为互动模式-1vN、1为互动模式-1v1(16:9)、2为互动模式-1v1(4:3)、4为互动模式-研讨会 |
toolbox_switch | 字符串 | 工具箱功能设置:对应1.桌面共享,2.答题卡,3.点名,4.头脑风暴,5.投票,6.计数器,7.循环连麦,8.辅助摄像头,9.批量上麦 | 可选, 例: 全部开启 "1,2,3,4,5,6,7,8,9" 只开启桌面共享与点名 "1,3" |
allow_all_presenter_role | 整型 | 允许Web端学员拥有讲师权限,0: 关闭 1:开启 | 可选 |
background_id | 整型 | 背景图片id 仅templatetype为32时有效 background_id获取:创建图片 | 可选,默认1 |
room_resolution | 整型 | 房间分辨率 取值范围(240:默认,480:标清,720:高清,1080:全高清) | 可选,默认为账号级别的默认分辨率 |
desktop_share_default_hide | 整型 | 桌面共享打开默认最小化 0:关闭 1:开启 | 可选,默认0 |
auto_up | 整型 | 自动连麦时设置互动角色是否自动上麦,当templatetype为32时生效 0:否 1:是 | 可选,默认1 |
class_timeout | 整型 | 拖堂时间(schedule_switch为1时,且schedule_live_end不为空时有意义) 满足schedule_live_end字段的设置时间 且老师在房间内触发关闭逻辑 | 可选,默认-1 范围:1-100 单位:分钟 |
class_timeout_close | 整型 | 超时强制结束直播并关闭直播间开关 0:关闭 1:开启 | 可选,默认0 |
class_timeout_close_time | 整型 | 超时强制结束直播并关闭直播间时间(class_timeout_close为1时有意义,schedule_live_end过后达到设置时间且老师没在房间内关闭) | 可选,默认10 范围:1-100 单位:分钟 |
playback_retain_time | 整型 | 回放时效设置 | 可选,默认永久有效 范围:7-999 单位:天 |
classover_time_open | 整型 | 下课倒计时设置 | 可选,默认0 ,0:关闭 1:开启 |
classover_time | 整型 | 倒计时时间 | 可选,下课倒计时设置开启起作用 |
classover_tips | 字符串 | 下课倒计时提示语 | 可选,下课倒计时设置开启起作用,文字提示不可超过100个字符 |
translate | 整型 | 聊天区翻译设置 | 可选,默认0 ,0:关闭 1:开启 |
assistant_stealth | 整型 | 助教默认隐身 0:关 1:开 | 可选,默认0 |
default_allow_draw | 整型 | 房间默认画笔 0:默认不授权 1:默认授权 | 可选,默认0 |
in_out_sound | 整型 | 进出提示音 0:关闭 1:开启 | 可选,默认0 |
max_talker_limit | 整型 | 房间最大互动者限制 0:关 1:开 (互动模式非大房间类型生效) | 可选,默认0 |
max_talker_limit_count | 整型 | 房间最大互动者限制数量 (互动模式非大房间类型生效) | 可选,默认6 |
wheat_condition | 整型 | 连麦控制 0:必须开启摄像头和麦克风 1:必须开启摄像头 2:必须开启麦克风 | 可选,默认0 |
private_chat | 整型 | 是否开启私聊 0:关闭 1:开启 | 可选,默认0 |
switch_background | 整型 | 应用在后台运行 0:关闭 1:开启 | 可选,默认0 |
allow_upload | 整型 | 是否允许文档库/媒体库上传文件 0:关闭 1:开启 | 可选,默认1 |
playback_record | 整型 | 是否开启回放录制,当templatetype为32时生效 0:关闭 1:开启 | 可选,默认1 |
disabled_talker_video | 整型 | 禁止学员(嘉宾)关闭自己摄像头开关 0:关闭 1:开启 | 可选,默认关闭 |
disabled_talker_audio | 整型 | 禁止学员(嘉宾)关闭自己麦克风开关 0:关闭 1:开启 | 可选,默认关闭 |
sound_quality | 整型 | 音质选择 0:流畅(适合语音通话为主的场景) 1:高音质(适合高保真传输音乐的场景,如音乐课等) | 可选,默认0 |
allow_page_switch | 整型 | 授权后允许学生翻页PPT 0:关闭 1:开启 | 可选,默认1 |
返回示例:
{
"result": "OK", # 失败: FAIL,成功:OK
}
3.获取房间信息
描述:
获取房间信息
地址:
https://ccapi.csslcloud.net/api/room/room_detail
方法:
POST/GET
请求参数:
参数名称 | 参数类型 | 参数说明 | 备注 |
---|---|---|---|
userid | 字符串 | 开发者账号ID | 必须 |
roomid | 字符串 | 房间ID | 必须 |
返回示例:
{
"result": 'OK', # 失败: FAIL,成功:OK
"data": {
"allow_audio": true, # 是否允许使用麦克风 房间级配置
"allow_chat": true, # 是否允许发言 房间级配置
"allow_speak": true, # 是否允许上麦 房间级配置
"atlas_roomid": "5b0ebc15df4b74399dae0d26",
"audience_authtype": 1, # 旁听认证方式 0:接口验证 1:密码 2:免密码
"audience_pass": "123", # 旁听密码
"audience_url": "https://view.csslcloud.net/api/view/index?roomid=45CC92144D46FEAA9C33DC5901307461&userid=83F203DAC2468694", # 旁听登录链接url 暂不支持templatetype为32时的房间
"audio_bitrate": 50, # 音频码率
"calltimeout": 10,
"classtype": 2, # 连麦模式 1:举手连麦 2:自由连麦 3:自动连麦
"clear_cache": 0,
"closetime": null, # 房间关闭时间
"createtime": "2018-05-30", # 房间创建时间
"desc": "<p>1231321</p>", # 房间描述
"id": 22692,
"is_follow": "", # 是否跟随 主视角模式下 是:streamid 否:空字符
"light_mark": 0, # 跑马灯 0: 关闭 1: 开启
"live_roomid": "45CC92144D46FEAA9C33DC5901307461", # 房间ID
"live_status": 0, # 直播状态 1:直播中 0:未直播
"max_streams": 7, # 最大连麦人数
"max_users": 1000, # 最大支持人数
"mergetype": 2, # 合流模式 1:主视角模式 2:平铺模式 3:覆盖模式
"name": "1232", # 直播间名称
"platform": 1, # 平台 1:web 2:android 3:ios
"ppt_support": false, # 是否支持ppt
"presenter_out": false, # 非直播状态下踢出老师
"presenter_url": "https://class.csslcloud.net/index/presenter/?roomid=45CC92144D46FEAA9C33DC5901307461&userid=83F203DAC2468694", # 老师登录链接URL
"publisher_bitrate": 200, # 老师端码率
"publisherpass": "123", # 老师端密码
"recordstudent": 1,
"room_type": 2, # 房间类型 1:视频群聊 2:小班课
"roomid": "45CC92144D46FEAA9C33DC5901307461", # 房间ID
"show_exit": 1, # 页面是否 显示退出按钮 0:隐藏 1:显示
"status": 10, # 房间状态 10 开启 20 关闭
"talker_authtype": 1, # 互动者认证方式 0:url验证 1:密码验证 2:免密码
"talker_bitrate": 200, # 互动者码率
"talker_pass": "123", # 互动者登录密码
"talker_url": "https://class.csslcloud.net/index/talker/?roomid=45CC92144D46FEAA9C33DC5901307461&userid=83F203DAC2468694", # 互动者登录链接URL
"templatetype": 1, # 模版类型 1:讲课模式 2:主视角模式 4:平铺模式 32:互动模式
"userid": "83F203DAC2468694", # 开发者账号ID
"video_mode": 1, # 连麦音视频模式 1:音视频 2.仅音频
"video_zoom": "", # 视频点击放大 流ID
"white_list": null # 互动者白名单
}
}
4.创建登录Sessionid
描述:
获取登录sessionid(客户端初始化sdk时传入的sessionid)
地址:
https://ccapi.csslcloud.net/api/room/create/sessionid
方法
POST/GET
请求参数:
参数名称 | 参数类型 | 参数说明 | 备注 |
---|---|---|---|
name | 字符串 | 登录名(最大不能超过50,不支持!:/!:|]等特殊字符) | 必须 |
userid | 字符串 | 开发者账号ID | 必须 |
roomid | 字符串 | 房间ID | 必须 |
password | 字符串 | 登录密码 | 可选 |
role | 字符串 | 角色 '0':老师 '1':互动 '2':旁听 '3': 隐身者 '4': 助教 | 必须 |
client | 字符串 | 客户端类型 0:web端 1:移动端 | 必须 |
login_uid | 字符串 | 登陆者用户ID,对接方需保证唯一性,主要用于同一学员单点登录相关逻辑,不支持使用特殊字符如('-',':','?','&') | 非必须 |
返回示例:
{
"result": "OK", # 失败: FAIL,成功:OK
"data":{
"sessionid": "123", # 生成的sessionid
"userid": "123" # 登陆者用户ID(含义同login_uid参数),参数login_uid为空时系统自动生成登陆者用户ID
}
}
5.获取房间登录链接
描述:
获取房间登录链接
地址:
https://ccapi.csslcloud.net/api/v1/room/link
方法:
POST/GET
请求参数:
参数名称 | 参数类型 | 参数说明 | 备注 |
---|---|---|---|
userid | 字符串 | 开发者账号ID | 必须 |
roomid | 字符串 | 房间ID | 必须 |
返回示例:
{
"result": "OK", # 失败: FAIL,成功:OK
"data":{
"presenter_url": "http://a.com" # 老师登录链接URL
"talker_url": "http://a.com" # 互动者登录链接URL
"audience_url": "http://a.com" # 旁观者登录链接URL
"inspector_url": "https://a.com" # 隐身者登录链接URL
"assist_url": "https://a.com" # 助教登录链接URL
}
}
6.获取房间自动登录链接
描述:
获取房间自动登录链接
地址:
https://ccapi.csslcloud.net/api/v1/room/auto_link
方法:
GET
请求参数:
参数名称 | 参数类型 | 参数说明 | 备注 |
---|---|---|---|
userid | 字符串 | 开发者账号ID | 必须 |
roomid | 字符串 | 房间ID | 必须 |
返回示例:
{
"result": "OK", # 失败: FAIL,成功:OK
"data":{
"presenter_url": "http://a.com", # 老师自动登录链接URL
"talker_url": "http://a.com" , # 互动者自动登录链接URL
"audience_url": "http://a.com" , # 旁观者登录链接URL 当模板类型为互动模式时(templatetype=32)此字段为空
"inspector_url": "https://a.com", # 隐身者登录链接URL 当模板类型为互动模式时(templatetype=32)此字段为空
"assist_url": "https://a.com" # 助教登录链接URL 当模板类型为互动模式时(templatetype=32)此字段为空
}
}
基于返回链接还需拼接相关参数,才可实现自动登录
参考:自动登录相关7.开始直播
描述:
开始直播接口
地址:
https://ccapi.csslcloud.net/api/room/live/start
方法:
GET
请求参数:
参数名称 | 参数类型 | 参数说明 | 备注 |
---|---|---|---|
userid | 字符串 | 开发者账号ID | 可选 |
roomid | 字符串 | 直播间ID | 必须 |
返回示例:
{
"result": "OK", # 失败: FAIL,成功:OK
liveId: '123' # 直播场次ID
}
8.结束直播
描述:
结束直播接口
地址:
https://ccapi.csslcloud.net/api/room/live/stop
方法:
GET
请求参数:
参数名称 | 参数类型 | 参数说明 | 备注 |
---|---|---|---|
userid | 字符串 | 开发者账号ID | 可选 |
roomid | 字符串 | 直播间ID | 必须 |
返回示例:
{
"result": "OK", # 失败: FAIL,成功:OK
"data":{
"start_time": "2018-04-11 10:58:59 ", # 直播开始时间
"end_time": "2018-04-11 11:58:59" # 直播结束时间
}
}
9.关闭直播间
描述:
关闭直播间 关闭后的直播间,将无法使用
地址:
https://ccapi.csslcloud.net/api/room/close
方法:
POST/GET
请求参数:
参数名称 | 参数类型 | 参数说明 | 备注 |
---|---|---|---|
userid | 字符串 | 开发者账号ID | 必须 |
roomid | 字符串 | 房间ID | 必须 |
返回示例:
{
"result": "OK", # 失败: FAIL,成功:OK
}
10.获取账号下房间列表
描述:
获取账号下房间列表 可以指定name status roomid为过滤参数
地址:
https://ccapi.csslcloud.net/openapi/room/list
方法:
POST/GET
请求参数:
参数名称 | 参数类型 | 参数说明 | 备注 |
---|---|---|---|
accountId | 字符串 | 开发者账号ID | 必须 |
name | 字符串 | 房间名称 | 可选 |
roomStatus | 整型 | 房间房间状态 10:正常 20:关闭 | 可选 |
page | 整型 | 获取指定页 | 可选 默认为1 |
lines | 整型 | 分页每页数据量 | 可选 默认为50 |
roomId | 字符串 | 房间ID | 可选 |
liveStatus | 整型 | 直播状态(1.直播中 0.未直播 注:查询未直播时,从未直播过的房间不会查出来) | 可选 |
返回示例:
{
"result": "OK", # 失败: FAIL,成功:OK
"rooms":[
{
"live_roomid": "123", # 房间ID
"name": "123", # 房间名称
"desc": "123" # 房间描述
"status": 10 # 房间状态 10 开启 20 关闭
"classtype": 1 # 连麦模式 1:举手连麦;2:自由连麦 3:自动连麦
"room_type": 1 # 房间类型 1:视频群聊 2:小班课
"templatetype": 1 # 模版类型 1:讲课模式 2:主视角模式 4:平铺模式 32:互动模式
"mergetype": 1 # 合流模式 1:主视角模式 2:平铺模式, 3:覆盖模式
"recordstudent": 1 # 保留:1 不保留:0,默认:0
"publisherpass": "123" # 老师登录密码
"talker_authtype": 1 # 互动者认证方式 0:url验证 1:密码验证 2:免密码
"talker_pass": "123" # 互动者登录密码
"audience_authtype": 1 # 旁听认证方式 0:url验证 1:密码验证 2:免密码
"audience_pass": "123" # 旁听登录密码
"max_users": 10 # 最大支持人数
"max_streams": 10 # 最大连麦人数
"video_mode": 1 # 连麦音视频模式 1:音/视频都开 2:仅音频
"live_status": 1 # 直播状态 1:直播中 0:未直播
"white_list": "" # 互动者白名单 如果开启白名单
"light_mark": 1 # 跑马灯 0:关闭 1:开启
"show_exit": 0 # 页面是否 显示退出按钮 0:隐藏 1:显示
"video_zoom": "123" # 视频点击放大 流ID
"presenter_url": "http://a.com" # 老师登录链接URL
"talker_url": "http://a.com" # 互动者登录链接URL
"audience_url": "http://a.com" # 旁观者登录链接URL
}
],
total: 5, # 总页数
current: 1 # 当前页数
}
11.切换合流布局模式
描述:
切换合流布局模式
地址:
https://ccapi.csslcloud.net/api/room/set_single
方法:
POST/GET
请求参数:
参数名称 | 参数类型 | 参数说明 | 备注 |
---|---|---|---|
userid | 字符串 | 开发者账号ID | 必须 |
roomid | 字符串 | 房间ID | 必须 |
status | 整型 | 状态 1:主视角模式 2:平铺模式 3:覆盖模式 4:共享模式 | 必须 |
返回示例:
{
"result": "OK", # 失败: FAIL,成功:OK
}
12.获取房间人员列表
描述:
获取当前房间人员列表, 人员信息/老师是否存在/在线人数
地址:
https://ccapi.csslcloud.net/api/v1/room/user/list
方法:
POST/GET
请求参数:
参数名称 | 参数类型 | 参数说明 | 备注 |
---|---|---|---|
userid | 字符串 | 开发者账号ID | 必须 |
roomid | 字符串 | 房间ID | 必须 |
返回示例:
{
"data": {
"presenter": 1, # 老师是否存在,
"assistant": 1 # 助教是否存在
"total": 1, # 房间总人数
"users": [ # 人员列表
{ # 人员信息
"avatar": "",
"id": "c064fee00a424029b0bcf428a834a897", # 用户ID
"ip": "111.206.170.243", # IP地址
"joinTime": "2018-09-06 20.03.59",# 加入房间时间
"lock": "false",
"name": "www", # 名称
"platform": "5", # 登录方式 5:web 7:手机
"publishTime": "", # 推流时间
"requestTime": "", # 请求时间
"role": "presenter", # 角色 老师: presenter 学生: talker
"socketId": "4umOGIPvnHh5NTvfCr27",
"status": "0", # 连麦状态 0:初始状态 1:排麦中(待确认) 2:排麦中(已确认) 3:推流中 4:邀请举手 5:助教预上麦
"streamId": "" # 推流ID
}
]
},
"result": "OK"
}
13.查询直播状态
描述:
查询直播间 直播状态
地址:
https://ccapi.csslcloud.net/api/v1/room/live/stat
方法:
POST/GET
请求参数:
参数名称 | 参数类型 | 参数说明 | 备注 |
---|---|---|---|
userid | 字符串 | 开发者账号ID | 必须 |
roomid | 字符串 | 房间ID | 必须 |
返回示例:
{
"liveid": "93ACDA25756B994A", # 直播ID
"result": "OK",
"started": true # true: 直播中 false 未直播
"starttime": "2018-01-01 01:00:00" # 直播开始时间
}
14.踢出人员
描述:
传入uid,踢出指定人员
传入role,踢出指定角色,
uid和role都不传,则踢出房间所有人
地址:
https://ccapi.csslcloud.net/api/room/user/kickout
方法:
GET
请求参数:
参数名称 | 参数类型 | 参数说明 | 备注 |
---|---|---|---|
userid | 字符串 | 开发者账号ID | 必须 |
roomid | 字符串 | 房间ID | 必须 |
uid | 字符串 | 用户id | 可选 |
role | 字符串 | 用户角色 | 可选 |
返回示例:
{
"result": "OK"
}
15.查询账号图片列表
描述:
查询账号图片列表 默认20张系统图片(不传roomid则不判断哪张图片被房间已设置过)
地址:
https://ccapi.csslcloud.net/openapi/account/background/get
方法:
GET
请求参数:
参数名称 | 参数类型 | 参数说明 | 备注 |
---|---|---|---|
accountId | 字符串 | 开发者账号ID | 必须 |
roomId | 字符串 | 房间ID | 可选 |
返回示例:
{
"result":"OK",
"error":null,
"data":[
{
"id":11111, //图片id 在创建房间/更新房间时 background_id使用
"img_url":"https://www.bokecc.com, //图片的url
"type":0, //图片类型 0系统图片 1用户自上传
"is_check":0 //如果传入房间id 则会判断是否已经运用到房间上 0.未选中 1.选中
}
],
"errorMsg":""
}
16.增加账号图片
描述
增加账号图片
地址
https://ccapi.csslcloud.net/openapi/account/background/add
方法
GET
请求参数
参数名称 | 参数类型 | 参数说明 | 备注 |
---|---|---|---|
accountId | 字符串 | 开发者账号ID | 必须 |
imgUrl | 字符串 | 图片url | 必须 |
返回示例:
{
"result":"OK",
"error":null,
"data":{
"id":22222 //图片id 在创建房间/更新房间时 background_id使用
},
"errorMsg":""
}
17.删除账号图片
描述:
删除账号图片
地址:
https://ccapi.csslcloud.net/openapi/account/background/delete
方法:
GET
请求参数:
参数名称 | 参数类型 | 参数说明 | 备注 |
---|---|---|---|
backgroundId | 字符串 | 图片id | 必须 |
accountId | 字符串 | 开发者账号ID | 必须 |
返回示例:
{
"result":"OK",
"error":null,
"data":null,
"errorMsg":""
}
18.获取网络监测的人员信息
描述:
获取网络监测的人员信息 (数据保留一个月、SDK6.9.8及以上支持)
地址:
https://ccapi.csslcloud.net/openapi/statistics/monitor/users
方法:
GET
请求参数:
参数名称 | 参数类型 | 参数说明 | 备注 |
---|---|---|---|
accountId | 字符串 | 开发者账号ID | 必须 |
roomId | 字符串 | 房间ID | 必须 |
pageSize | 字符串 | 页码 | 必须 |
pageLength | 字符串 | 条数 | 必须 |
startLiveTime | 字符串 | 开始直播时间 | 必须 |
返回示例:
{
"result":"OK",
"error":null,
"data":{
"total":8,
"users":[
{
"uid":"lx8iMxQ7gYYbeha2", //用户id
"username":"qqq", //用户名称
"role":"presenter" //用户角色
}
]
},
"errorMsg":""
}
19.获取某个人的网络数据
描述:
获取某个人的网络数据 (数据保留一个月、SDK6.9.8及以上支持)
地址:
https://ccapi.csslcloud.net/openapi/statistics/monitor/net
方法:
GET
请求参数:
参数名称 | 参数类型 | 参数说明 | 备注 |
---|---|---|---|
accountId | 字符串 | 开发者账号ID | 必须 |
roomId | 字符串 | 房间ID | 必须 |
startLiveTime | 字符串 | 开始直播时间 | 必须 |
userId | 字符串 | 用户ID | 必须 |
type | 整型 | 查询类型 1:网络延迟 2:丢包率 | 必须 |
返回示例:
{
"result":"OK",
"error":null,
"data":[
{
"delay_rate":10, //网络延迟
"lost_rate":1.0, //丢包率
"time":"2022-03-09 19:24:08", //时间
"userid":"8ybzUJIsgoUl5xpq" //用户id
}
],
"errorMsg":""
}
20.获取直播中房间人员信息列表
描述:
获取直播中房间人员列表
地址:
https://ccapi.csslcloud.net/openapi/v1/room/user-list
方法:
GET
请求参数:
参数名称 | 参数类型 | 参数说明 | 备注 |
---|---|---|---|
accountId | 字符串 | 开发者账号ID | 必须 |
roomId | 字符串 | 房间ID | 必须 |
type | 字符串 | 人员类型 0:连麦列表 1:学员列表(主要用于房间类型为大房间),默认为0 | 非必须 |
pageNum | 数值 | 页码默认为1 | 非必须 |
pageSize | 数值 | 每页条数 默认为100最大不能超过700 | 非必须 |
返回示例:
{
"data": {
"total": 2, # 总人数
"list": [ # 人员列表
{
"id": "c064fee00a424", # 用户ID
"joinTime": "2018-09-06 20.03.59", # 加入房间时间
"name": "哈哈", # 用户名
"platform": "5", # 终端类型 2@android 3@ios 5@web 0@未知
"ip": "111.206.170.243", # IP地址
"role": "presenter", # 角色 presenter:老师 talker:学员 inspector:隐身者 assistant:助教 aul:学员
},
{
"id": "c064fee00a424", # 用户ID
"joinTime": "2018-09-06 20.03.59", # 加入房间时间
"name": "哈哈1", # 用户名
"platform": "5", # 终端类型 2@android 3@ios 5@web 0@未知
"ip": "111.206.170.243", # IP地址
"role": "presenter", # 角色 presenter:老师 talker:学员 inspector:隐身者 assistant:助教 aul:学员
}
]
},
"result": "OK"
}
21 获取分组场次列表
描述:
根据开发者账号ID/房间id/直播Id 查询分组讨论列表
地址:
https://ccapi.csslcloud.net/openapi/recorder/replay/liveGroupTimes
方法:
GET
请求参数:
参数名称 | 参数类型 | 参数说明 | 备注 |
---|---|---|---|
accountId | 字符串 | 开发者账号ID | 必须 |
roomId | 字符串 | 房间Id | 必须 |
liveId | 字符串 | 直播Id | 必须 |
返回示例:
{
"result": "OK",
"error": null,
"data": [
{
"id": 122,#分组场次唯一标识
"liveId": "7AAC35A2BB9DD6BB",#分组直播Id
"groupTime": "2022-07-05 16:32:57",#分组时间
}
],
"errorMsg": ""
}
22 获取某场分组列表详情
描述:
根据开发者账号ID /分组唯一标识/分组直播Id 查询分组详情
地址:
https://ccapi.csslcloud.net/openapi/recorder/replay/liveGroup/info
方法:
GET
请求参数:
参数名称 | 参数类型 | 参数说明 | 备注 |
---|---|---|---|
accountId | 字符串 | 开发者账号ID | 必须 |
groupTimeId | 字符串 | 分组唯一标识 | 必须 |
liveId | 字符串 | 分组直播Id | 必须 |
返回示例:
{
"result": "OK",
"error": null,
"data": [
{
"subLiveId": "6C81CFF2FE3BA0B5",#分组直播id
"groupNo": 5,
"groupTimesId": 125,
"startTime": "2022-07-05 17:09:35",#开始分组时间
"groupName": "讨论组5" # 分组名称
}
],
"errorMsg": ""
}
23 导入预设分组名单列表
描述:
导入预设分组名单列表
地址:
https://ccapi.csslcloud.net/openapi/room/group/pre-info
方法:
POST Content-Type:application/json
请求参数:
{
"accountId": "5938F047E5F562F0", //开发者账号ID
"time": 1663224060,
"infos": [ // 分组数据
{
"groupNo": 1, // 分组序号 不可大于20
"users": [ // 分组人员列表
{
"isLeader": 1, // 是否为组长 1@是 0@否
"userName": "cc" //用户姓名
}
]
}
],
"roomId": "A12826D179A580C49C33DC5901307461", //房间id
"hash": "051635CDB75AF68C4208EB41CBCCBA4A"
}
备注:infos THQS前需要先转为JSON String
返回示例:
{
"result": "OK",
"error": null,
"errorMsg": ""
}