Recalling One-to-One Messages
Feature Overview
This API enables administrators to recall one-to-one messages.
This API can recall all one-to-one messages, including those sent by clients or by the v4/openim/sendmsg and v4/openim/batchsendmsg RESTful APIs.
To recall one-to-one messages sent by clients, you can enable the C2C.CallbackBeforeSendMsg or C2C.CallbackAfterSendMsg callback API. Record the
MsgKey
of each one-to-one message via the callback API, and enter it in the MsgKey
field of this API to recall the message. You can also use the v4/openim/admin_getroammsg API to query the MsgKey
of the one-to-one message to be recalled, and enter it in the MsgKey
field of this API to recall the message.The
MsgKey
field in the responses to the v4/openim/sendmsg and v4/openim/batchsendmsg API calls is required to recall the one-to-one messages sent via these two APIs.Once a one-to-one message is recalled by this API, it is recalled from offline storage, roaming storage, and the local cache of the sender’s and recipient’s clients.
This API can recall one-to-one messages sent at any time. There’s no time limit.
Note
Please note that one-to-one messages recalled by this API cannot be restored.
API Calling Description
Sample request URL
https://xxxxxx/v4/openim/admin_msgwithdraw?sdkappid=88888888&identifier=admin&usersig=xxx&random=99999999&contenttype=json
Request parameters
The following table describes the modified parameters when this API is called. For other parameters, see RESTful API Overview.
Parameter | Description |
xxxxxx | Domain name corresponding to the country/region where your SDKAppID is located. 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/admin_msgwithdraw | Request API. |
sdkappid | SDKAppID assigned by the Chat console when an app is created |
identifier | |
usersig | |
random | A random 32-bit unsigned integer ranging from 0 to 4294967295. |
contenttype | Request format, which should always be json . |
Maximum call frequency
200 calls per second
Sample request
{"From_Account": "vinson","To_Account": "dramon","MsgKey": "31906_833502_1572869830"}
Request fields
Field | Type | Required | Description |
From_Account | String | Yes | The UserID of the message sender. |
To_Account | String | Yes | UserID of the recipient |
MsgKey | String | Yes | The unique identifier of the message to be recalled, which can be found in the responses to the v4/openim/sendmsg and v4/openim/batchsendmsg API calls. |
Sample response
Response to a successful request
{"ActionStatus": "OK","ErrorInfo": "","ErrorCode": 0}
Response to a failed request
{"ActionStatus": "FAIL","ErrorInfo": "Fail to Parse json data of body, Please check it","ErrorCode": 90001}
Response fields
Field | Type | Description |
ActionStatus | String | Request result. OK : Successful. FAIL : Failed |
ErrorCode | Integer | Error code. 0 : Successful. Other values: Failed |
ErrorInfo | String | Error information |
Error Codes
The returned HTTP status code for this API is always 200 unless a network error (such as error 502) occurs. The specific error code and details can be found in the response fields
ErrorCode
and ErrorInfo
respectively.
For public error codes (60000 to 79999), see Error Codes.
The following table describes the error codes specific to this API:Error Code | Description |
20022 | The message to recall does not exist. Please check. |
20023 | The message has been recalled. |
90001 | Failed to parse the JSON request. Make sure the format is valid. |
90003 | The To_Account field is missing in the JSON request packet or the account it specifies does not exist. |
90008 | The From_Account field is missing in the JSON request packet or the account it specifies does not exist. |
90009 | The request requires app admin permissions. |
90054 | Invalid MsgKey . |
91000 | Internal service error. Try again. |
API Debugging Tool
Reference
Sending One-to-One Messages to One User (v4/openim/sendmsg)
Sending One-to-One Messages to Multiple Users (v4/openim/batchsendmsg)
Querying One-to-One Messages (v4/openim/admin_getroammsg)