EventHub
腾讯云天御内容审核回调
腾讯云天御内容审核(TCMS)回调接入说明
腾讯云天御内容审核回调接入说明
本文档说明如何将腾讯云天御内容安全(TCMS)风险识别结果转发到 EventHub,覆盖以下风险类型:
- 视频内容安全风险
- 音频内容安全风险
- 图片内容安全风险
- 文本内容安全风险
腾讯云官方文档:
1. 接入总览
EventHub 接收腾讯云天御内容审核回调的地址为:
| 项目 | 值 |
|---|---|
| 生产 Base URL | https://eh.citv.cc |
| 完整地址 | https://eh.citv.cc/event/tx/tcms/{appid} |
| 请求方法 | POST |
| Content-Type | application/json |
其中:
{appid}由 EventHub 分配- EventHub 会根据
{appid}找到对应的应用配置,并使用该应用的secret校验签名
2. 回调格式
请求头
| 字段名 | 类型 | 是否必填 | 描述 |
|---|---|---|---|
| Content-Type | string | 是 | 固定值 application/json |
| X-Signature | string | 是 | 签名值,用于验证回调合法性 |
回调字段
| 字段名 | 类型 | 是否必填 | 描述 |
|---|---|---|---|
| TaskId | string | 是 | 任务 ID |
| task_id | string | 否 | 任务 ID(兼容字段) |
| Status | string | 是 | 任务状态:FINISH-完成,RUNNING-执行中,ERROR-失败 |
| type | string | 是 | 检测类型 |
| dataId | string | 否 | 业务侧数据 ID |
| label | string | 否 | 风险标签 |
| suggestion | string | 否 | 处理建议:Review-需复核,Block-需拦截,Pass-正常 |
| audioSegments | array | 否 | 音频识别片段 |
| imageSegments | array | 否 | 图片识别片段 |
| eventhub | object | 否 | 事件元数据(业务侧自定义) |
eventhub 对象字段说明
| 字段名 | 类型 | 是否必填 | 描述 |
|---|---|---|---|
| ccid | string | 是 | 事件 ID,用于唯一标识该风险事件 |
| riskType | string | 是 | 风险类型 |
riskType 风险类型说明
| 风险类型 | 描述 |
|---|---|
| live_video | 直播视频风险 |
| live_audio | 直播音频风险 |
| vod_video | 点播视频风险 |
| vod_audio | 点播音频风险 |
| image | 图片风险 |
| text | 文本风险 |
回调示例
{
"TaskId": "w-live_video-abU6pdNCNNt7M8xp",
"Status": "FINISH",
"type": "LIVE_VIDEO",
"dataId": "306893869_485076652_90e8080c1bb6c438c14397ed59298b34",
"label": "Illegal",
"suggestion": "Review",
"stream_id": "njyq702284691348602412",
"audioText": "识别的音频文本内容",
"audioSegments": [
{
"createdAt": "2026-03-14T11:39:48Z",
"offsetTime": "1773488371",
"result": {
"hitFlag": 1,
"hitType": "text_nlp_tianji",
"label": "Illegal",
"suggestion": "Review",
"text": "违规内容详情"
}
}
],
"imageSegments": [
{
"offsetTime": "1773491235",
"result": {
"hitFlag": 1,
"hitType": "text_keyword_public",
"label": "Ad",
"suggestion": "Block"
}
}
],
"eventhub": {
"riskType": "text_keyword_custom",
"ccid": "njyq702284691348602412"
}
}3. 签名规则
官方签名方式(推荐)
腾讯云天御在回调请求的 HTTP 头部添加 X-Signature 字段,签名算法为:
X-Signature = SHA256(seed + body)说明:
seed是在腾讯云控制台配置的回调密钥(对应 EventHub 中的secret)body是完整的请求体 JSON 字符串- 签名结果为十六进制字符串(小写)
兼容签名方式(保留)
为兼容旧版接入方式,同时支持以下签名验证:
sign = MD5(secret + t)说明:
t是秒级时间戳,表示签名过期时间t和sign支持从 query 参数或 body 中读取
验证优先级
- 优先检查
X-Signature头部(官方方式) - 如未找到,降级使用 MD5 方式验证
4. 响应格式
EventHub 接收到回调后,返回以下响应:
{
"code": 0,
"errmsg": "ok"
}| 错误码 | 说明 |
|---|---|
| 0 | 成功 |
| 400 | 参数错误(appid 缺失、应用不存在等) |
| 401 | 签名验证失败或过期 |
| 500 | 服务器内部错误 |
5. 注意事项
- 必须返回 HTTP 状态码
200,否则腾讯云会认为回调失败并重试 - 腾讯云原始回调字段应完整保留在根对象中
eventhub.ccid用于唯一标识该风险事件,建议使用业务侧内容 ID(如直播 ID、流 ID 等)eventhub.riskType用于区分不同的风险类型,便于后续处理和路由- 状态
Status为RUNNING和FINISH都允许入库,不丢失中间状态