Skip to main content
服务端接口是供业务方后端(可参考服务端demo)调用的接口。

基本概念

频道:频道是一个音视频空间(可以理解为一场会议),同一频道内的用户可以互相接收对方的实时音视频数据。

加入频道流程

  1. 业务方客户端调用业务方后端的进入频道接口
  2. 业务方后端调用服务端apichannel/grant获取token返回给业务方客户端
  3. 业务方客户端将token传给rtc sdk以加入频道

频道的打开与销毁

  • 频道可手动打开(如需要提前设置一些频道扩展属性)
  • 第一个用户加入频道时如果频道未打开,自动打开
  • 频道开启后2小时内无人加入,或最后一个用户离开频道2小时后,会自动销毁

频道名规范

长度在 64 字节以内的字符串。以下为支持的字符集范围:
  • 26 个小写字母 a-z。
  • 26 个大写字母 A-Z。
  • 10 个数字 0-9。
  • ”-”,”_“。

约定

  • 本协议采用HTTP+JSON格式进行传输 application/json
  • 协议所有接口只支持POST
  • 字符串编码为UTF-8

请求地址

标准部署下 SRTC 挂在域名根路径。同域名的 /meeting/ 前缀走的是 SMeeting 会议服务, 两者接口不通用(见 选 SRTC 还是 SMeeting)。独立域名部署时以我们提供的接入信息为准。

准备

调用前需要得到app_idapp_key

请求头

签名算法

第一步:拼接待签名字符串,将app_id nonce timestamp以及请求body的json字符串用&拼接
第二步:使用HMAC-SHA256加密字符串。key是app_key秘钥。
第三步:把二进制转化为小写的十六进制得到signature 三处容易踩的细节:
  • 待签名串里的字段名要与你实际使用的请求头名一致——用了 app-id 就写 app-id=,不能写 app_id=
  • 请求体用原始字符串参与签名,必须与实际发出的字节完全一致(含空格与字段顺序),不要重新序列化一遍
  • app_key 只用于在你的服务端本地计算签名,绝不能出现在请求里,也不能下发到客户端

uid 与 sid

  • uid 是你自己业务的用户 ID,由你指定,RTC 侧不生成
  • sid 是本次会话 ID,由 RTC 侧在授权时生成,同一 uid 多次进入会得到不同的 sid

回调

除了你主动调用接口,RTC 侧也会在频道/用户/录制状态变化时回调你的业务后端, 见回调事件接入指南

响应格式

成功与失败都返回 HTTP 200,业务结果由 code 判定。 正常返回,code为0,data为数据
有错误,code为错误码,msg为错误描述
code 判断,不要匹配 msg 文案。全部取值见错误码