服务端回调
实时音视频业务提供以下服务端回调,支持将业务的数据、状态通知同步到您设置的回调地址。所有服务端回调均需要在控制台启用。
您可以访问以下文档,了解如何在控制台配置并启用回调,以及如何解析回调数据:
- 房间状态同步:将音视频房间状态变化按照指定的时间间隔通知您的 App 服务器;将呼叫双方、会议成员或直播房间中主播角色用户触发的事件通知您的 App 服务器。
- CDN 推流回调:实时将 App 下所有房间的旁路推流状态变更同步到设置的 App 服务器地址。
- 云端录制 · 状态回调:实时将云端录制各个阶段的相关数据与状态同步到设置的 App 服务器地址。
- 云端截图 · 状态回调:实时将云端截图各个阶段的相关数据与状态同步到设置的 App 服务器地址。
- 云播放器 · 状态回调:实时将云播放器的相关数据与状态同步到设置的 App 服务器地址。
- 内容审核 · 状态回调:将审核结果实时同步到设置的 App 服务器地址。
实时音视频业务相关回调服务的签名规则分为两种,其中房间状态同步具有独立的签名规则,请注意区分。
房间状态同步的回调签名规则
以下签名规则仅适用于 房间状态同步。
房间状态同步服务向应用服务器推送数据(调用应用服务器接口)时会在 POST 请求中添加 4 个 HTTP 标头字段(HTTP Request Header)参数。具体如下:
名称 | 类型 | 说明 |
---|---|---|
appKey | String | 融云平台分配给应用的 appKey。 |
nonce | String | 随机数,不超过 18 个字符。 |
timestamp | String | 时间戳,从 1970 年 1 月 1 日 0 点 0 分 0 秒开始到现在的毫秒数。 |
signature | String | 数据签名。 |
计算 Signature (数据签名)
将系统分配的 App Secret、Nonce (随机数)、Timestamp (时间戳)三个字符串按顺序拼接成一个字符串,进行 SHA1 哈希计算。
校验示例
PHP 语言的代码示例:
$appSecret = 'your-own-app-secret'; // 请替换为您从开发者平台获取的 App Secret。
$nonce = $_GET['nonce']; // 获取随机数。
$timestamp = $_GET['timestamp']; // 获取时间戳。
$signature = $_GET['signature']; // 获取数据签名。
$local_signature = sha1($appSecret.$nonce.$timestamp); // 生成本地签名。
if(strcmp($signature, $local_signature)===0){
// TODO: 此处添加业务逻辑。
echo 'OK';
} else {
echo 'Error';
}
其他回调服务的签名规则
以下签名规则仅适用于 CDN 推流回调、云端录制 · 状态回调、云端截图 · 状态回调、云播放器 · 状态回调、内容审核 · 状态回调。
融云向应用服务器推送数据(调用应用服务器接口)时会在 POST 请求中添加 3 个 HTTP 标头字段(HTTP Request Header)参数。具体如下:
名称 | 类型 | 说明 |
---|---|---|
RC-Nonce | String | 随机数, 不超过 18 个字符。 |
RC-Timestamp | String | 时间戳,从 1970 年 1 月 1 日 0 点 0 分 0 秒开始到现在的毫秒数。 |
RC-Signature | String | 数据签名。 将 App Secret(从控制台获取)、RC-Nonce (随机数)、RC-Timestamp (时间戳)三个字符串按顺序拼接成一个字符串,进行 SHA1 哈希计算。 |