CITV 开放文档
EventHub

腾讯云内容安全回调

腾讯云内容安全回调接入说明

腾讯云内容安全回调接入说明

本文档说明如何将腾讯云内容安全(CMS)风险识别结果转发到 EventHub,覆盖以下风险类型:

  • 视频内容安全风险
  • 音频内容安全风险
  • 图片内容安全风险
  • 文本内容安全风险

腾讯云官方文档:

1. 接入总览

EventHub 接收腾讯云内容安全回调的地址为:

项目值
生产 Base URLhttps://eh.citv.cc
完整地址https://eh.citv.cc/event/tx/cms/{appid}
请求方法POST
Content-Typeapplication/json

其中:

  • {appid} 由 EventHub 分配
  • EventHub 会根据 {appid} 找到对应的应用配置,并使用该应用的 secret 校验签名

2. 回调格式

请求头

字段名类型是否必填描述
Content-Typestring是固定值 application/json

回调字段

字段名类型是否必填描述
TaskIdstring是任务 ID
task_idstring否任务 ID(兼容字段)
Statusstring是任务状态:FINISH-完成,RUNNING-执行中,ERROR-失败
typestring是检测类型
dataIdstring否业务侧数据 ID
labelstring否风险标签
suggestionstring否处理建议:Review-需复核,Block-需拦截,Pass-正常
audioSegmentsarray否音频识别片段
imageSegmentsarray否图片识别片段
eventhubobject否事件元数据(业务侧自定义)
tnumber否秒级时间戳,签名过期时间(配置 secret 时必填)
signstring否签名值 MD5(secret + t)(配置 secret 时必填)

eventhub 对象字段说明

字段名类型是否必填描述
ccidstring是事件 ID,用于唯一标识该风险事件
riskTypestring是风险类型

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": "识别的音频文本内容",
  "t": 1773488371,
  "sign": "5f4dcc3b5aa765d61d8327deb882cf99",
  "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. 签名规则

签名算法为:

sign = MD5(secret + t)

说明:

  • secret 是在 EventHub 中为该应用配置的回调密钥
  • t 是秒级时间戳,表示签名过期时间
  • sign 为 MD5 计算结果的十六进制字符串

参数位置

t 和 sign 支持两种传递方式,EventHub 优先从 query 参数读取,缺失时回退到请求体:

参数传递方式示例
t、signQuery 参数(优先)POST /event/tx/cms/{appid}?t=1773488371&sign=xxxxxx
t、sign请求体 JSON 字段{ "t": 1773488371, "sign": "xxxxxx", ... }

4. 响应格式

EventHub 接收到回调后,返回以下响应:

{
  "code": 0,
  "errmsg": "ok"
}
错误码说明
0成功
400参数错误(appid 缺失、应用不存在等)
401签名验证失败或过期
500服务器内部错误

5. 注意事项

  • 必须返回 HTTP 状态码 200,否则腾讯云会认为回调失败并重试
  • 腾讯云原始回调字段应完整保留在根对象中
  • eventhub.ccid 用于唯一标识该风险事件,建议使用业务侧内容 ID(如直播 ID、流 ID 等)
  • eventhub.riskType 用于区分不同的风险类型,便于后续处理和路由
  • 状态 Status 为 RUNNING 和 FINISH 都允许入库,不丢失中间状态

On this page