外观
接收 TRTC 房间事件
由 TRTC 服务端发送房间关闭、用户进入或退出事件。客户端 SDK 不直接调用此接口。
POST /app/sdk/trtc/room-callback
调用方: TRTC 服务端 · 认证: TRTC 回调签名
由 TRTC 发送 SdkAppId 和 Sign 请求头,按原始请求内容验证签名。
请求参数
Header
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
SdkAppId | string | 是 | 与管理后台配置一致的 TRTC 应用 ID。 |
Sign | string | 是 | 用回调密钥对原始 Body 做 HMAC-SHA256,再进行 Base64 编码,最长 128 字符。 |
JSON Body
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
EventGroupId | integer | 是 | 事件组,当前处理房间事件组 1。 |
EventType | integer | 是 | 102 房间关闭、103 用户进入、104 用户退出。其他事件类型验证通过后忽略。 |
CallbackTs | integer | 是 | 回调生成时间,Unix 毫秒;与服务器时间误差不超过 5 分钟。 |
EventInfo | object | 是 | 事件详情,必须是非空对象。 |
EventInfo.RoomId | integer | string | 条件 | 房间事件必填。正整数房间号,最大 4294967295,也可传对应十进制字符串。 |
EventInfo.UserId | string | 条件 | 103 / 104 必填。进入或退出房间的 TRTC 用户 ID。 |
EventInfo.EventMsTs | integer | string | 条件 | 条件必填。事件发生时间,Unix 毫秒,优先使用;未提供时必须提交 EventTs。 |
EventInfo.EventTs | integer | string | 条件 | 条件必填。事件发生时间,Unix 秒;仅没有 EventMsTs 时使用。 |
标有条件的必填项,只在相应操作或配置下需要提交。
请求示例
bash
curl 'https://example.com/app/sdk/trtc/room-callback' \
-H 'SdkAppId: 1400000000' \
-H 'Sign: <TRTC 回调签名>' \
-H 'Content-Type: application/json' \
--data '{"EventGroupId":1,"EventType":103,"CallbackTs":1792301400000,"EventInfo":{"RoomId":1258001,"UserId":"p1_ae32d441a82f8c70","EventMsTs":1792301400000}}'使用说明
- Body 总长度最多 65536 字节。签名针对收到的原始字节,验签前不要重新格式化 JSON。
- 这组回调使用供应商的返回格式,没有 msg 和 data。客户端接口的 IM Token 不用于此处。
- 控制台回调地址填写 https://example.com/app/sdk/trtc/room-callback。
返回参数
此接口使用下列返回格式。
| 字段 | 类型 | 说明 |
|---|---|---|
code | integer | 验证并处理成功为 0;验证失败时 HTTP 403、code=1。 |
json
{
"code": 0
}错误处理
HTTP 403、{"code":1} 表示签名、时间或内容验证失败。检查回调配置、原始 Body 和服务器时钟。
