功能说明
通过本 API 可以给机器人发送流式响应消息。
对于一段完整文本,可能需要多次调用本 API 将文本的分块依次输出给客户端。
首次调用本 API 时,后台将产生一个 MsgKey 用于表示本次产生的消息,后续调用需要将该 MsgKey 作为参数回传给IM服务器。
如果 App 使用 TUIKit 7.7.5282 版本及以上,则 App 可以自动展示流式输出消息效果。
如果 App 没有使用 TUIKit,则需要根据“流式文本输出”协议自行展示流式输出效果。
说明
请求 URL 示例
https://xxxxxx/v4/openim_robot_http_svc/send_stream_msg?sdkappid=88888888&identifier=admin&usersig=xxx&random=99999999&contenttype=json
请求参数说明
参数 | 说明 |
xxxxxx | SDKAppID 所在国家/地区对应的专属域名: 中国: console.tim.qq.com 新加坡: adminapisgp.im.qcloud.com 首尔: adminapikr.im.qcloud.com 法兰克福: adminapiger.im.qcloud.com 硅谷: adminapiusa.im.qcloud.com 雅加达: adminapiidn.im.qcloud.com |
v4/openim_robot_http_svc/send_stream_msg | 请求接口 |
sdkappid | 创建应用时即时通信 IM 控制台分配的 SDKAppID |
identifier | |
usersig | |
random | 请输入随机的32位无符号整数,取值范围0 - 4294967295 |
contenttype | 请求格式固定值为 json |
最高调用频率
200次/秒。
请求包示例
首次发送流式文本
{"From_Account": "@RBT#my_bot","To_Account": "user01","Chunk": "hello, "}
后续调用本API继续输出文本
{"From_Account": "@RBT#my_bot","To_Account": "user01","Chunk": "world","MsgKey": "606781340_3986845397_1706000918","Finish": 1}
请求包字段说明
字段 | 类型 | 属性 | 说明 |
From_Account | String | 必填 | 消息发送方 UserID(用于指定发送消息方账号) |
To_Account | String | 必填 | 消息接收方 UserID |
Chunk | String | 必填 | 流式文本消息其中的某一段文字 |
MsgKey | String | 选填 | 首次调用 API 时不填,从第二次调用开始需要将该字段回传 |
Finish | Integer | 选填 | 最后一次调用时,标识该流式输出已经结束 |
应答包体示例
正常应答
{"ActionStatus":"OK","ErrorInfo":"","ErrorCode":0,"MsgKey":"606781340_3986845397_1706000918"}
应答包字段说明
字段 | 类型 | 说明 |
ActionStatus | String | 请求处理的结果: OK:表示处理成功 FAIL:表示失败 |
ErrorCode | Integer | 错误码: 0:表示成功 非0:表示失败 |
ErrorInfo | String | 错误信息。 |
MsgKey | String | IM 后台返回的消息唯一标识,用于后续文本输出。 |
错误码说明
除非发生网络错误(例如502错误),否则该接口的 HTTP 返回码均为200。真正的错误码,错误信息是通过应答包体中的 ErrorCode、ErrorInfo 来表示的。
公共错误码(60000到79999)参见 错误码 文档。
本 API 私有错误码如下:
错误码 | 描述 |
10002 | 系统内部错误,请重试。 |
10004 | 参数有误,请检查请求参数。 |