7. 直播回调

7.1 设置回调的加签秘钥

7.1.1 接口说明

用该秘钥对回调内容生成MD5签名,用于用户接口的校验。可以不设置,默认为“vcloud”。该秘钥对用户所有设置的回调地址生效。

7.1.2 请求说明

POST https://vcloud.163.com/app/callback/setSignKey HTTP/1.1
Content-Type: application/json;charset=utf-8

7.1.3 参数说明

参数 类型 说明 必须
signKey String 加签秘钥

7.1.4 curl请求示例

curl -X POST -H "Content-Type: application/json" -H "AppKey: 29781bbc4db54742a3ebcxxxxxxxxxxx" -H "Nonce: 12345" -H "CurTime: 1469171950571" -H "CheckSum: 4ba6ca70c685eb900917e423eadaxxxxxxxxxxxxx" -d '{"signKey":"xxxxxxxxx"}' https://vcloud.163.com/app/callback/setSignKey

7.1.5 返回说明

http 响应:json

参数 类型 说明
code int 状态码
result boolean 是否设置成功
    //返回结果格式
    "Content-Type": "application/json; charset=utf-8"
    {
        "code" : XXX,
        "ret" : {
            result : XXX
        }
    }

    //成功结果示例
    "Content-Type": "application/json; charset=utf-8"
    {
        "ret":{
            "result":true
        },
        "code":200
    }

7.1.6 响应状态码

状态码 含义
200 操作成功
409 用户登录认证失败
501 内部错误
613 CheckSum为空
614 AppKey为空
615 CurTime为空
618 频道信息不存在
631 请求参数错误
638 访问频率超限,每个应用对该接口限制为80次/秒。

7.2 设置频道状态变化回调地址

7.2.1 接口说明

频道状态发生变化后,会将新的状态信息推送到该地址, 目前支持HTTP POST,HTTPS POST方式。

7.2.2 请求说明

POST https://vcloud.163.com/app/chstatus/setcallback HTTP/1.1
Content-Type: application/json;charset=utf-8

7.2.3 参数说明

参数 类型 说明 必须
chStatusClk String 频道状态变化回调地址(http开头或https开头)

7.2.4 curl请求示例

curl -X POST -H "Content-Type: application/json" -H "AppKey: 29781bbc4db54742a3ebcxxxxxxxxxxx" -H "Nonce: 12345" -H "CurTime: 1469171950571" -H "CheckSum: 4ba6ca70c685eb900917e423eadaxxxxxxxxxxxxx" -d '{"chStatusClk":"http://xxxxxxxxx"}' https://vcloud.163.com/app/chstatus/setcallback

7.2.5 返回说明

http 响应:json

参数 类型 说明
code int 状态码
result boolean 是否设置成功
//返回结果格式
"Content-Type": "application/json; charset=utf-8"
{
    "code" : XXX,
    "ret" : {
        result : XXX
    }
}

//成功结果示例
"Content-Type": "application/json; charset=utf-8"
{
    "ret":{
        "result":true
    },
    "code":200
}

7.2.6 响应状态码

状态码 含义
200 操作成功
409 用户登录认证失败
501 内部错误
613 CheckSum为空
614 AppKey为空
615 CurTime为空
618 频道信息不存在
631 请求参数错误
638 访问频率超限,每个应用对该接口限制为80次/秒。
655 请求参数中回调地址无法访问

7.2.7 回调内容示例

{"status":"1","cid":"1234XXX","time":"1480499359291","type":"channel_status"}

注意:计算MD5签名时须考虑body所有字段,请以实际收到的body字段为准,以下仅为body字段示例。

参数 类型 说明
status String 频道状态(0:空闲; 1:直播; 2:禁用; 3:直播录制)
cid String 频道ID
time String 频道状态变化时间戳(毫秒)
type String 回调类型,频道状态回调为"channel_status"

7.3 查询频道状态变化回调地址

7.3.1 接口说明

用于查询频道状态变化回调地址。

7.3.2 请求说明

POST https://vcloud.163.com/app/chstatus/callbackQuery HTTP/1.1
Content-Type: application/json;charset=utf-8

7.3.3 参数说明

参数 类型 必须 说明
暂无 暂无

7.3.4 curl请求示例

curl -X POST -H "Content-Type: application/json" -H "AppKey:29781bbc4db54742a3ebcxxxxxxxxxxx" -H "Nonce: 12345" -H "CurTime: 1469171950571" -H "CheckSum: 4ba6ca70c685eb900917e423eadaxxxxxxxxxxxxx"  https://vcloud.163.com/app/chstatus/callbackQuery

7.3.5 返回说明

http 响应:json

参数 类型 说明
callbackUrl String 回调地址
lastUpdateTime String 最近更新时间
//返回结果格式
"Content-Type": "application/json; charset=utf-8"
{
  "ret": {
     "callbackUrl" : "xxxxxxxxxxx",
        "lastUpdateTime" : "2017-08-15 12:22:11"
  },
  "code": 200
}

7.3.6 响应状态码

状态码 含义
200 处理成功
409 用户登录认证失败
607 用户信息不存在
608 Session信息不完整
613 CheckSum为空
614 AppKey为空
615 CurTime为空
624 请求参数非法
625 appKey为空
638 访问频率超限,每个应用对该接口限制为80次/秒。

7.4 设置视频录制回调地址

7.4.1 接口说明

用户录制文件生成后,会将生成文件信息推送到该地址, 目前支持HTTP POST,HTTPS POST方式。

7.4.2 请求说明

POST https://vcloud.163.com/app/record/setcallback HTTP/1.1
Content-Type: application/json;charset=utf-8

7.4.3 参数说明

参数 类型 说明 必须
recordClk String 录制文件生成回调地址(http开头或https开头)

7.4.4 curl请求示例

curl -X POST -H "Content-Type: application/json" -H "AppKey: 29781bbc4db54742a3ebcxxxxxxxxxxx" -H "Nonce: 12345" -H "CurTime: 1469171950571" -H "CheckSum: 4ba6ca70c685eb900917e423eadaxxxxxxxxxxxxx" -d '{"recordClk":"http://xxxxxxxxx"}' https://vcloud.163.com/app/record/setcallback

7.4.5 返回说明

http 响应:json

参数 类型 说明
code int 状态码
result boolean 是否设置成功
    //返回结果格式
    "Content-Type": "application/json; charset=utf-8"
    {
        "code" : XXX,
        "ret" : {
            result : XXX
        }
    }

    //成功结果示例
    "Content-Type": "application/json; charset=utf-8"
    {
        "ret":{
            "result":true
        },
        "code":200
    }

7.4.6 响应状态码

状态码 含义
200 操作成功
409 用户登录认证失败
501 内部错误
613 CheckSum为空
614 AppKey为空
615 CurTime为空
618 频道信息不存在
631 请求参数错误
638 访问频率超限,每个应用对该接口限制为80次/秒。
655 请求参数中回调地址无法访问

7.4.7 回调内容示例

{"vid":"7563","orig_video_key":"8bfe052367414ef1bf8baa5b118111_1480499359291_1480499570111_2541778-00002.flv","video_name":"创建频道1_20161130-174919_20161130-175250","uid":"10000","nId":"nId1144","beginTime":"1480499359291","endTime":"1480499570111","cid":"1234XXX","type":"live_record"}

注意:计算MD5签名时须考虑body所有字段,请以实际收到的body字段为准,以下仅为body字段示例。

参数 说明
video_name 录制后文件名,格式为filename_YYYYMMDD-HHmmss_YYYYMMDD-HHmmss, 文件名_录制起始时间(年月日时分秒) -录制结束时间(年月日时分秒)
origUrl 视频文件原地址
orig_video_key 视频文件在点播桶中的存储路径
uid 用户ID,是用户在网易云信直播应用的标识,用于与其他用户的应用进行区分。通常,用户不需关注和使用。
vid 视频文件ID
cid 频道ID
beginTime 录制文件起始时间戳(毫秒)
endTime 录制文件结束时间戳(毫秒)
nId 消息ID,同一条消息nId全局唯一,网络超时或接收方返回非200状态码时根据业务规则进行重发,接收方接到多条通知情况下可用于进行消息去重
sign(http请求头) 对回调body内容按指定格式转换后进行MD5加密生成的签名,sign字段为http请求头内容。
签名规则:将body所有字段按key进行字典排序(升序)组成待签名字符串content,对字符串content+signKey进行MD5签名,如:beginTime=1483406830579&cid=6355099987a648bfb8fb265847&endTime=1483406857109&nId=nId1000&origUrl=http://bucket.vod.126.net/bucket/6355099987a648bfbec0c53.mp4&orig_video_key=6355099987a648bfbec0c53.mp4&uid=100&vid=1000&video_name=092710_20170103signKey,对其进行MD5签名
type 回调类型,录制回调为"live_record"

7.5 查询视频录制回调地址

7.5.1 接口说明

用于查询视频录制回调地址。

7.5.2 请求说明

POST https://vcloud.163.com/app/record/callbackQuery HTTP/1.1
Content-Type: application/json;charset=utf-8

7.5.3 参数说明

参数 类型 必须 说明
暂无 暂无

7.5.4 curl请求示例

curl -X POST -H "Content-Type: application/json" -H "AppKey:29781bbc4db54742a3ebcxxxxxxxxxxx" -H "Nonce: 12345" -H "CurTime: 1469171950571" -H "CheckSum: 4ba6ca70c685eb900917e423eadaxxxxxxxxxxxxx"  https://vcloud.163.com/app/record/callbackQuery

7.5.5 返回说明

http 响应:json

参数 类型 说明
callbackUrl String 回调地址
lastUpdateTime String 最近更新时间
//返回结果格式
"Content-Type": "application/json; charset=utf-8"
{
  "ret": {
     "callbackUrl" : "xxxxxxxxxxx",
        "lastUpdateTime" : "2017-08-15 12:22:11"
  },
  "code": 200
}

7.5.6 响应状态码

状态码 含义
200 处理成功
409 用户登录认证失败
607 用户信息不存在
608 Session信息不完整
613 CheckSum为空
614 AppKey为空
615 CurTime为空
624 请求参数非法
625 appKey为空
638 访问频率超限,每个应用对该接口限制为80次/秒。

7.6 删除回调地址

7.6.1 接口说明

用于删除指定类型的回调地址,调用本接口后,您不会再收到相应类型的回调信息。

7.6.2 请求说明

POST https://vcloud.163.com/app/callback/delUrl HTTP/1.1
Content-Type: application/json;charset=utf-8

7.6.3 参数说明

参数 类型 必须 说明
type int 回调地址类型:
1:录制回调
2:频道状态变化回调

7.6.4 curl请求示例

curl -X POST -H "Content-Type: application/json" -H "AppKey:29781bbc4db54742a3ebcxxxxxxxxxxx" -H "Nonce: 12345" -H "CurTime: 1469171950571" -H "CheckSum: 4ba6ca70c685eb900917e423eadaxxxxxxxxxxxxx" -d '{"type":1}' https://vcloud.163.com/app/callback/delUrl

7.6.5 返回说明

http 响应:json

参数 类型 说明
code int 错误码
result boolean 是否删除成功
//返回结果格式
"Content-Type": "application/json; charset=utf-8"
{
 "code": 200,
  "ret": {
     "result" : XXX
  }
}
//成功结果示例
"Content-Type": "application/json; charset=utf-8"
{
 "code": 200,
  "ret": {
     "result" : true
  }
}

7.6.6 响应状态码

状态码 含义
200 处理成功
409 用户登录认证失败
607 用户信息不存在
608 Session信息不完整
613 CheckSum为空
614 AppKey为空
615 CurTime为空
624 请求参数非法
625 appKey为空
638 访问频率超限,每个应用对该接口限制为80次/秒。