tencent cloud

直播 SDK

动态与公告
TUILiveKit 产品动态
云直播推拉流 SDK 产品动态
新手指引
产品简介
产品概述
产品优势
性能数据
基本概念
购买指南
TRTC Live 价格总览
Live 视频直播计费说明
开通服务(TUILiveKit)
Demo 体验
Demo 体验指引
跑通 Demo(TUILiveKit)
接入指南
视频直播
准备工作
主播开播
观众观看
直播列表
语聊房
准备工作
主播开播
观众观看
直播列表
推流助手
推流助手(Electron 桌面应用)
推流助手(Web 桌面浏览器)
直播监播
监播页面(Web 桌面浏览器 React 版)
监播页面(Web 桌面浏览器 Vue 版)
UI 自定义
直播视频组件
视频源编辑组件
观众列表组件
聊天弹幕组件
媒体源配置面板
连麦管理面板
直播送礼组件
无 UI 集成
搭建视频直播
搭建语聊房
功能指南
关注主播(TUILiveKit)
至臻画质(TUILiveKit)
输入媒体流进房(TUILiveKit)
礼物系统(TUILiveKit)
客户端 API
Android
iOS
Web
服务端 API(TUILiveKit)
账号系统
REST API
第三方回调
错误码(TUILiveKit)
常见问题
平台编译
用户鉴权
云直播推拉流 SDK
产品简介
购买指南
Demo 体验
免费测试
SDK 下载
License 管理
高级功能
客户端 API
常见问题
无 UI 集成方案
API 文档
OSS information
OSS Attribution Notice

房间内发言之前回调

PDF
聚焦模式
字号
最后更新时间: 2026-03-11 14:43:24

功能说明

App 后台可以通过该回调实时查看用户的房间发送的消息,包括:
对房间内消息进行实时记录(例如记录日志,或者同步到其他系统)。
拦截用户在房间内发言的请求。
注意:
消息前回调默认2s超时且不建议调整,使用前回调处理内容审核,可能导致整个前回调超时。

注意事项

要启用回调,必须配置回调 URL,并打开本条回调协议对应的开关,配置方法详见 控制台配置指引 文档。
回调的方向是 Live 后台向 App 后台发起 HTTP POST 请求。
App 后台在收到回调请求之后,务必校验请求 URL 中的参数 SDKAppID 是否是自己的 SDKAppID。
其他安全相关事宜请参考 第三方回调简介:安全考虑 文档。

可能触发该回调的场景

App 用户通过客户端发送房间消息。
App 管理员通过 REST API 发送房间消息。

回调发生时机

Live 后台把房间消息下发给房间成员之前。

接口说明

请求 URL 示例

以下示例中 App 配置的回调 URL 为 https://www.example.com
示例:
https://www.example.com?SdkAppid=$SDKAppID&CallbackCommand=$CallbackCommand&contenttype=json&ClientIP=$ClientIP&OptPlatform=$OptPlatform

请求参数说明

参数
说明
https
请求协议为 HTTPS,请求方式为 POST。
www.example.com
回调 URL。
SdkAppid
创建应用时在即时通信 Chat 控制台分配的 SDKAppID。
CallbackCommand
固定为 Group.CallbackBeforeSendMsg
contenttype
固定值为 json
ClientIP
客户端 IP,格式如:127.0.0.1。
OptPlatform
客户端平台,取值参见 第三方回调简介:回调协议 中 OptPlatform 的参数含义。

请求包示例

{
"CallbackCommand": "Group.CallbackBeforeSendMsg", // 回调命令
"GroupId": "@TGS#2J4SZEAEL", // 房间 ID
"Type": "Live", // 房间类型
"From_Account": "jared", // 发送者
"Operator_Account":"admin", // 请求的发起者
"Random": 123456, // 随机数
"MsgId": "144115233406643804-1727580296-4026038328", // 消息在客户端上的唯一标识
"MsgBody": [ // 消息体,参见 TIMMessage 消息对象
{
"MsgType": "TIMTextElem", // 文本
"MsgContent": {
"Text": "red packet"
}
}
],
"CloudCustomData": "your cloud custom data",
"EventTime":"1670574414123"//毫秒级别,事件触发时间戳
}

请求包字段说明

字段
类型
说明
CallbackCommand
String
回调命令。
GroupId
String
产生消息的房间 ID。
Type
String
产生消息的房间类型,固定为 Live。
From_Account
String
消息发送者 UserID。
Operator_Account
String
请求发起者 UserID,可以用来识别是否为管理员发起的请求。
Random
Integer
发消息请求中的 32 位随机数。
MsgId
String
该条消息在客户端唯一标识。
MsgBody
Array
消息体,内容与发消息请求有关,具体见 发送普通消息发送自定义消息
CloudCustomData
String
消息自定义数据(云端保存,会发送到对端,程序卸载重装后还能拉取到)。内容与发消息请求有关,具体见 发送普通消息
EventTime
Integer
事件触发的毫秒级别时间戳。
注意:
房间内发言之前回调复用即时通信 Chat 的群内发言之前回调能力,回调中 MsgBodyCloudCustomData 为发消息请求包装后的结果,具体见 发送普通消息发送自定义消息

应答包示例

允许发言

允许用户发言,同时也不变动即将下发的消息的内容。
{
"ActionStatus": "OK",
"ErrorInfo": "",
"ErrorCode": 0 // 0 为允许发言
}

禁止发言

不允许用户发言,该消息将不会下发,同时给调用方返回错误码10016
{
"ActionStatus": "OK",
"ErrorInfo": "",
"ErrorCode": 1 // 1 为拒绝发言
}

静默丢弃

不允许用户发言,该消息将不会下发,但会给调用方返回成功,使调用方以为消息已经发出。
{
"ActionStatus": "OK",
"ErrorInfo": "",
"ErrorCode": 2 // 2 为静默丢弃
}

变动消息内容

如下的应答示例为:对用户发送的房间消息进行了变动(增加了自定义消息)。即时通信 Chat 后台将会下发经过变动之后的消息。App 后台可以基于这一特性在用户发送的消息中增加一些特殊内容,例如用户等级、头衔等信息。
{
"ActionStatus": "OK",
"ErrorInfo": "",
"ErrorCode": 0, // 必须为 0,只有这样,变动之后的消息才能正常下发
"MsgBody": [ // App 变动之后的消息,如果没有,则默认使用用户发送的消息
{
"MsgType": "TIMTextElem", // 文本
"MsgContent": {
"Text": "red packet"
}
},
{
"MsgType": "TIMCustomElem", // 自定义消息
"MsgContent": {
"Desc": "CustomElement.MemberLevel", // 描述
"Data": "LV1" // 数据
}
}
],
"CloudCustomData": "your cloud custom data"
}

应答包字段说明

字段
类型
属性
说明
ActionStatus
String
必填
请求处理的结果,OK 表示处理成功,FAIL 表示失败。
ErrorCode
Integer
必填
错误码,0为允许发言;1为拒绝发言;2为静默丢弃。若业务希望拒绝发言的同时,将错误码 ErrorCode 和 ErrorInfo 传递至客户端,请将错误码 ErrorCode 设置在 [10100, 10200] 区间内。
ErrorInfo
String
必填
错误信息。
MsgBody
Array
选填
经过App变动之后的消息体,Live 后台将把变动后的消息发送到房间中,具体格式参见 消息格式描述
CloudCustomData
String
选填
消息自定义数据(云端保存,会发送到对端,程序卸载重装后还能拉取到)。

参考



帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈