服务端集成
服务端集成的目标是确定本次会话使用哪个设备和哪个角色,向探鸽平台申请短期连接凭证,并把凭证安全地下发给设备。
接口鉴权
服务端 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_id 与 token 响应后,应通过安全通道下发给设备。设备只需要消费这两个值,不需要知道服务端签名密钥,也不需要自行拼接 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_id和token应尽快使用,避免长时间缓存。- 同一设备已有进行中的会话时,服务端应按业务规则拒绝、排队或先结束旧会话。