回调接口开发指南
日期: 2024-01-31
当直播开始、结束和录制开始、结束、完成后,直播系统会通过用户在admin配置的回调信息以GET⽅式发起回调。若⽤户网站地址使⽤HTTPS协议进⾏数据安全传输时,⽤户需保证其拥有的CA证书是合法的。
⽤户可以在admin后台指定的回调符合以下四种格式之⼀即为合法:
1、http://domain
2、http://domain?data=****(data为⽤户⾃定义的参数)
3、https://domain
4、https://domain?data=****
若参数回调地址中携带有⽤户⾃定义的参数,则在进⾏回调通知时会将⽤户⾃定义的参数和下表中的参数⼀起以THQS⽅式进⾏加密。
直播开始回调参数说明:
字段名 |
说明 |
是否必须 |
userId |
CC账号ID |
是 |
roomId |
直播间ID |
是 |
liveId |
直播ID |
是 |
type |
回调类型(参考回调类型说明) |
是 |
startTime |
直播开始时间, 格式为"yyyy-MM-dd HH:mm:ss" |
是 |
resolution |
分辨率:客户端设置的推流分辨率 |
否 |
framerate |
帧率:客户端设置的推流帧率 |
否 |
bitrate |
码率:开播设置的推流码率(开启桌面共享优化后,实际推流码率可能并不是设置的推流码率)
|
否 |
sdkVersion |
客户端版本:当前使用的客户端版本号 |
否 |
systemVersion |
操作系统版本:讲师电脑的操作系统版本 |
否 |
ip |
讲师IP:讲师IP地址 |
否 |
deviceName |
内存:内存大小 CPU型号:讲师电脑的CPU型号、主频 |
否 |
直播结束回调参数说明:
字段名 |
说明 |
userId |
CC账号ID |
roomId |
直播间ID |
liveId |
直播ID |
type |
回调类型(参考回调类型说明) |
startTime |
直播开始时间, 格式为"yyyy-MM-dd HH:mm:ss" |
endTime |
直播结束时间, 格式为"yyyy-MM-dd HH:mm:ss" |
stopStatus |
直播结束状态,10:正常结束,20:非正常结束 |
直播录制回调参数说明:
字段名 |
说明 |
userId |
CC账号 |
roomId |
直播间ID |
liveId |
直播ID |
recordId |
回放ID |
type |
回调类型(参考回调类型说明) |
startTime |
录制开始时间, 格式为"yyyy-MM-dd HH:mm:ss" |
endTime |
录制结束时间, 格式为"yyyy-MM-dd HH:mm:ss"(回调类型type为102或103时,会返回该参数) |
recordStatus |
回放状态,10:回放处理成功,20:回放处理失败,30:录制时间过长(回调类型type为103时,会返回该参数) |
sourcetype |
回放来源,0:录制; 1:合并; 2:迁移; 3:上传; 4:裁剪(回调类型type为103时,会返回该参数) |
recordVideoId |
回放视频ID(回放状态recordStatus为10时,会返回该参数) |
recordVideoDuration |
回放视频时长,单位:秒(回放状态recordStatus为10时,会返回该参数) |
replayUrl |
回放观看地址(回放状态recordStatus为10时,会返回该参数) |
mergedRecordIds |
合并的回放ID,多个ID使用‘,’分割字符串(sourcetype为1时,会返回该参数) |
clippedRecordId |
剪辑的回放ID(sourcetype为4时,会返回该参数) |
离线回放回调参数说明:
字段名 |
说明 |
userId |
CC账号 |
roomId |
直播间ID |
liveId |
直播ID |
recordId |
回放ID |
type |
回调类型 |
offlineStatus |
离线包可用状态(10:可用,20:不可用) |
offlineMd5 |
离线包MD5 |
offlineUrl |
离线包http下载地址 |
httpsOfflineUrl |
离线包https下载地址 |
encryptOfflineUrl |
加密离线包http下载地址(视频加密)注:开通加密离线播放权限返回(加密离线包新增相关字段避免回调请求THQS鉴权异常需对接方确认后联系技术支持配置) |
videoToken |
加密离线包视频播放Token,注:开通加密离线播放权限返回,长度0~355 |
videoId |
加密离线包视频Id,注:开通加密离线播放权限返回 |
回放重制回调参数说明:
字段名 |
说明 |
accountId |
CC账号 |
replayCompositionId |
回放重制ID |
replayId |
回放ID |
roomId |
直播间ID |
status |
重制状态,1重制中,5重制成功,-1重制失败,其他值未知 |
videoId |
视频ID(status值为5时有值) |
beginTime |
回放重制开始时间, 格式为"yyyy-MM-dd HH:mm:ss" |
duration |
时长(单位:秒,status值不是5时,duration值为0) |
title |
标题 |
liveId |
直播ID |
type |
回调类型 |
videoMd5 |
视频文件MD5值(status值为5时有值) |
互动结束回调参数说明:
字段名 |
说明 |
accountId |
CC账号 |
roomId |
直播间ID |
liveId |
直播ID |
type |
回调类型 |
interactionType |
互动类型;1:签到,2:打卡,3:随堂测,4:问卷,5:抽奖 |
interactionId |
互动id |
伪直播资源准备结果回调参数说明:
字段名 |
说明 |
accountId |
CC账号 |
roomId |
直播间ID |
status |
0:失败 2:成功 |
message |
资源准备结果信息 |
sourceId |
资源ID(回放ID或视频ID) |
sourceType |
资源类型(2:回放推流 3.点播推流) |
type |
回调类型(500) |
敏感词设置回调参数说明:
字段名 |
说明 |
accountId |
CC账号 |
type |
回调类型 |
operationDatetime |
操作时间,格式为"yyyy-MM-dd HH:mm:ss" |
action |
敏感词设置动作。 |
words |
添加或删除的敏感词。action为add/delete时,会额外携带该参数。 |
敏感词设置回调action说明:
字段值 |
说明 |
set_filter_switch_open |
开启聊天敏感词过滤 |
set_filter_switch_close |
关闭聊天敏感词过滤 |
merge_global_open |
开启默认词库 |
merge_global_close |
关闭默认词库 |
set_filter_operation_delete |
敏感词处理设置为删除 |
set_filter_operation_hide |
敏感词处理设置为隐藏 |
set_needless_filter_role_lecturer |
设置免过滤角色为讲师 |
set_needless_filter_role_lecturer_assistant_host |
设置免过滤角色为讲师和助教和主持人 |
set_needless_filter_role |
免过滤角色清空 |
add |
添加/批量添加敏感词 |
delete |
删除敏感词 |
wipe |
清空敏感词 |
敏感词设置回调的其他说明:
- 批量导入敏感词时,如果敏感词数量过多,回调请求会分多次执行,每次执行时携带一部分导入的敏感词
- 设置免过滤角色的action中,“set_needless_filter_role”为前缀。只有前缀则表示当前动作为“免过滤角色清空”。“_lecturer_assistant_host”为实际设置的三种角色。
回调类型说明:
回调类型 |
说明 |
1 |
直播开始 |
2 |
直播结束 |
101 |
录制开始 |
102 |
录制结束 |
103 |
录制完成 |
200 |
离线回放 |
301 |
回放重制开始 |
302 |
回放重制结束 |
400 |
互动结束 |
500 |
伪直播资源准备结果 |
600 |
敏感词设置 |
用户接受回调成功返回信息:
{
"result": "OK"
}
返回内容长度限制在1024字符以内,如果返回其他内容,则回调系统会重试,重试的间隔会随着重试次数的增大而增大。若重试7次后,依然没有成功,则不再进行通知。因此,回调系统最多通知8次。这8次的通知时间距第一次的通知时间的差分别为:
[0,15s, 1m, 4m, 16m, 1h4m, 4h16m, 17h4m]
互动结束回调、敏感词设置回调的重试策略区分于其他回调。互动结束回调若失败,则系统会重试2次,每次间隔固定为15s。