Skip to content

服务端集成

服务端集成的目标是确定本次会话使用哪个设备和哪个角色,向探鸽平台申请短期连接凭证,并把凭证安全地下发给设备。

接口鉴权

服务端 API 签名与探鸽云端 OpenAPI 服务端签名一致,详见 服务端API接口签名算法Demo

申请连接凭证

只有申请 AI 对讲连接凭证时需要调用 https://api-tirtc.tange365.com 域名:

role_id 为必传字段,业务服务端需先从控制台或 OpenAPI 获取本次会话使用的角色 ID。

http
POST https://api-tirtc.tange365.com/v1/token/aichat
Content-Type: application/json
Authorization: TGV1-HMAC-SHA256 ...
X-Tg-App-Id: {AppId}

{
  "device_id": "DEMO_DEVICE_01",
  "role_id": "role_xxx"
}

响应示例:

json
{
  "code": 0,
  "msg": "ok",
  "data": {
    "peer_id": "whips://aichat?device_id=DEMO_DEVICE_01&role_id=role_xxx",
    "token": "v1.{payload}.{signature}"
  }
}

完整说明见 服务端接口

下发凭证给设备

业务服务端从平台申请到 peer_idtoken 响应后,应通过安全通道下发给设备。设备只需要消费这两个值,不需要知道服务端签名密钥,也不需要自行拼接 peer_id

下发载荷示例:

json
{
  "type": "aichat_join",
  "device_id": "DEMO_DEVICE_01",
  "role_id": "role_xxx",
  "peer_id": "whips://aichat?device_id=DEMO_DEVICE_01&role_id=role_xxx",
  "token": "v1.{payload}.{signature}"
}

安全建议:

  • 不要在日志中打印完整 token
  • peer_idtoken 应尽快使用,避免长时间缓存。
  • 同一设备已有进行中的会话时,服务端应按业务规则拒绝、排队或先结束旧会话。

AI Chat 文档