CITV 开放文档
EventHub

SaaS 直播回调

SaaS 直播回调转发接入说明

SaaS 直播回调转发到 EventHub 接入说明

本文档面向第三方客户,适用于以下场景:

  • 你已经在 SaaS 直播平台配置了回调地址
  • 你希望先由自己的业务服务接收 SaaS 直播回调
  • 你的服务在保留 SaaS 原始回调的基础上,补充一个 eventhub 对象,再转发到 EventHub

本文档覆盖的回调类型包括但不限于:

  • 推流开始
  • 断流
  • 截图
  • 画面审核
  • 音频审核
  • 风险识别
  • 其他 SaaS 直播回调

核心原则:第三方客户收到 SaaS 直播回调后,应尽量完整保留原始回调内容,并直接在原始对象基础上增加一个 eventhub 扩展对象,再转发给 EventHub。

1. 接入总览

推荐链路如下:

SaaS 直播
  -> 你的回调接收服务
  -> 在原始回调对象上补齐 eventhub
  -> 转发到 EventHub

EventHub 对外接收地址为:

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

其中:

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

2. 你需要做什么

第三方客户侧需要完成 4 件事:

  1. 接收 SaaS 直播原始回调
  2. 尽量原样保留 SaaS 直播回调内容,不要重新包装为其他根结构
  3. 在原始回调对象上增加 eventhub 字段,补充业务信息
  4. 使用 EventHub 分配的 AppSecret 透传或重算根对象里的 sign,然后转发到 EventHub

3. EventHub 请求格式

请求体就是:

  • 根对象:SaaS 直播原始回调对象
  • 扩展对象:eventhub

也就是说,转发给 EventHub 的 JSON 结构应该是:

{
  "...SaaS 直播原始回调字段...": "...",
  "eventhub": {
    "...第三方客户补充的业务字段...": "..."
  }
}

eventhub 示例:

{
  "eventhub": {
    "title": "3.11 最美酒友会直播间",
    "type": 3,
    "ccid": "83633_394",
    "domains": ["<商户子域名>.<平台子域名>.citv.cn"],
    "pageUrl": "https://<终端用户页面地址>",
    "auditUrl": "http://<审核页面地址>",
    "auditors": ["ai"],
    "startTime": 1773194400000,
    "endTime": 1773196602000,
    "views": 26,
    "providers": [
      {
        "type": "live",
        "serviceId": "sPq1qe1riZ",
        "contentId": "83633_394_h5_mix"
      }
    ],
    "vodToLive": "83633_5145403710254666917"
  }
}

3.1 eventhub 字段说明

字段类型必填说明
titlestring内容标题,如直播间名称、视频标题等
typenumber业务侧内容类型标识,推荐枚举值:
1 = 直播
2 = 点播
3 = 伪直播(VodToLive)
ccidstring业务侧内容唯一标识,用于关联业务系统中的内容记录
domainsstring[]该内容关联的完整域名列表,用于多域名场景下的路由识别
pageUrlstring终端用户可访问的直播间或视频详情页地址
auditUrlstring审核员访问的审核页面地址,用于内容审核场景
auditorsstring[]审核员 ID 列表,标识负责该内容审核的人员,如 ["ai"]
startTimenumber直播/内容开始时间,13 位毫秒级时间戳
endTimenumber直播/内容结束时间,13 位毫秒级时间戳
viewsnumber可选当前内容的实时访问量/观看人数
providersobject[]云服务商信息列表,标识该内容在第三方云服务的配置
providers[].typestring服务类型,常见值为 live(直播)或 media(媒体)
providers[].serviceIdstring云服务控制台中的服务/应用 ID
providers[].contentIdstring云服务中的内容 ID,用于关联云服务商的资源
vodToLivestring可选type=3(伪直播)时,关联的原始点播内容 ID

4. SaaS 直播原始字段说明

转发时,根对象建议直接使用你从 SaaS 直播收到的原始 JSON 对象,不要丢字段,不要只挑少数字段。

推荐做法:

  • SaaS 直播回调里原本有哪些字段,就尽量完整保留哪些字段
  • 原始字段仍放在根对象,不要挪到 eventhub
  • 对于推流、断流、审核、风险识别等不同回调类型,都使用同一套协议

On this page