事件通知综述

最近更新时间:2024-09-11 09:08:12

我的收藏
发起文档转码、实时录制等操作需要一段时间才能执行完,您可以调用服务端 API 注册回调接口,互动白板在文档转码进度发生变化、实时录制开始等事件触发时,可以通过回调接口及时通知到 App。
互动白板支持以下几种事件通知:


事件回调鉴权

您的后台在收到实时录制/文档转码的回调的时候,可以通过校验签名是否合法,进而确认回调消息是否确实来自腾讯云后台,签名算法如下:
Sign = md5(CallbackKey+ExpireTime)
CallbackKey:鉴权密钥,您可以通过互动白板控制台或者调用实时录制(SetOnlineRecordCallbackKey)或者文档转码(SetTranscodeCallbackKey)的 API 接口设置。
ExpireTime:签名过期时间,如果一条消息通知中的 expire_time 值所指定的时间已经过期,则可以判定这条通知无效,进而可以防止网络重放攻击。格式为十进制 UNIX 时间戳,即从1970年1月1日(UTC/GMT 的午夜)开始所经过的秒数。
例如:
CallbackKey = Xz4ZgayTr7rMgWQrH
ExpireTime = 1588040109

Sign = md5(Xz4ZgayTr7rMgWQrH1588040109) = a2dabb362a9b811c0e26953a6276a41c
如果设置了回调密钥,在您收到回调请求时,会携带ExpireTimeSign参数,您可以依据这两个值和您设置的回调密钥进行计算校验请求是否来自于腾讯云。

事件回调协议

请求:互动白板发起的事件回调的形式是 HTTP POST 请求,请求体为 JSON 格式,内容为:
参数名称
类型
描述
Timestamp
Integer
事件生成的 Unix 时间戳,单位秒
SdkAppId
Integer
触发时间的互动白板应用 SdkAppId
ExpireTime
Integer
签名的过期时间的 Unix 时间戳,单位秒,如果当前时间晚于过期时间,后台可以判断该请求不合法
Sign
String
回调签名,您可以根据事件回调鉴权中描述的方法校验签名是否匹配以校验该请求是否来自腾讯云
EventType
String
事件类型
EventData
JSON
事件具体信息,在事件文档中详细描述
例如,文档转码发生进度改变的回调格式为:
{
"EventData": {
"ResultUrl": "",
"Pages": 21,
"Progress": 10,
"Resolution": "960x540",
"TaskId": "gaqvbm16jr2q4uhm23rb",
"Title": "示例.pptx"
},
"EventType": "PPT2H5ProgressChanged",
"ExpireTime": 1588040109,
"SdkAppId": 1400000001,
"Sign": "a2dabb362a9b811c0e26953a6276a41c",
"Timestamp": 1590045522
}
应答:HTTP STATUS CODE = 200,服务端忽略应答包具体内容,为了协议友好,建议客户应答内容携带 JSON: {"error_code":0}
事件通知具备重试能力,重试间隔为5秒,总计重试5次。为了避免重试对您的服务器以及网络带宽造成冲击,请保持正常回包。触发重试条件如下:
长时间(10秒)未回包应答。
应答 HTTP STATUS 不为200