Sending a streaming response message
Feature Overview
Send streaming response messages to the robot via this API.
For a complete text, you may need to call this API multiple times to output the parts sequentially to the client.
On the first call to this API, the backend generates a MsgKey to represent the message this time. Subsequent calls require transmitting the MsgKey as parameter to the IM server.
If the App uses TUIKit version 7.7.5282 or higher, it can automatically display streaming output message effect.
If the App does not use TUIKit, it needs to manually display the streaming output effect according to the streaming text output protocol.
API Calling Description
Sample Request URL
https://xxxxxx/v4/openim_robot_http_svc/send_stream_msg?sdkappid=88888888&identifier=admin&usersig=xxx&random=99999999&contenttype=json
Request Parameters
The following table lists only the parameters involved in modification when calling this API and their descriptions. For more details about the parameters, refer to REST API introduction.
Parameter | Description |
xxxxxx | The dedicated domain name for the country/region where the SDKAppID resides: China: console.tim.qq.com Singapore: adminapisgp.im.qcloud.com Seoul: adminapikr.im.qcloud.com Frankfurt: adminapiger.im.qcloud.com Silicon Valley: adminapiusa.im.qcloud.com Jakarta: adminapiidn.im.qcloud.com |
v4/openim_robot_http_svc/send_stream_msg | Request API. |
sdkappid | SDKAppID assigned by the IM console when creating an application. |
identifier | |
usersig | |
random | Enter a random 32-bit unsigned integer in the range of [0, 4294967295]. |
contenttype | The request format is fixed as json . |
Maximum Call Frequency
200 times/second.
Sample Request
First time sending streaming text.
{"From_Account": "@RBT#my_bot","To_Account": "user01","Chunk": "hello, "}
Subsequent API calls continue output text.
{"From_Account": "@RBT#my_bot","To_Account": "user01","Chunk": "world","MsgKey": "606781340_3986845397_1706000918","Finish": 1}
Request Fields
Field | Type | Attribute | Description |
From_Account | String | Required | sender UserID (used to specify the message sender account). |
To_Account | String | Required | message receiver UserID. |
Chunk | String | Required | A segment of text in the streaming text message. |
MsgKey | String | Optional. | Leave it blank when calling the API for the first time. From the second call onward, this field must be included. |
Finish | Integer | Optional. | On the last call, flag the streaming output as ended. |
Sample Response
normal response
{"ActionStatus":"OK","ErrorInfo":"","ErrorCode":0,"MsgKey":"606781340_3986845397_1706000918"}
Response Fields
Field | Type | Description |
ActionStatus | String | Request processing result: OK: means processing is successful. FAIL: means processing failed. |
ErrorCode | Integer | Error Code: 0: success. Non-zero: Indicates Failure. |
ErrorInfo | String | Error message. |
MsgKey | String | The unique message identifier returned by the IM backend is used for follow-up text output. |
Error Codes
Unless a network error occurs (such as 502), the HTTP return code of this API is 200. The actual error code and error information are in the ErrorCode and ErrorInfo fields of the response payload.
Private error codes of this API are as follows:
Error Code | Description |
10002 | Internal system error, please retry. |
10004 | Incorrect parameter. Please check the request parameters. |
API Debugging Tool
References
Query account (v4/im_open_login_svc/account_check)
Set profile (v4/profile/portrait_set)