Modifying Historical One-to-one Messages
API Calling Description
This API is used by the admin to modify historical one-to-one messages.
You can modify the
MsgBody
and CloudCustomData
fields individually or at the same time for a message by overwriting the field values in a historical message with those specified in requests.You can obtain the
MsgKey
of the one-to-one message to modify by the following means:Enable callback before sending a one-to-one message or callback after sending a one-to-one message to record the
MsgKey
of each one-to-one message.Use the API for querying one-to-one messages to query the
MsgKey
of the one-to-one message to modify.For one-to-one messages sent through the RESTful APIs for sending one-to-one messages to one user and sending one-to-one messages to multiple users, the message
MsgKey
is contained in response packets.Note
Messages modified by this API cannot be restored.
Sample request URL
https://xxxxxx/v4/openim/modify_c2c_msg?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/modify_c2c_msg | 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
Modifying only the MsgBody
information of the message object
{"From_Account": "dramon1","To_Account": "dramon2","MsgKey": "1_2_3","MsgBody": [{"MsgType": "TIMTextElem","MsgContent": {"Text": "hello"}}]}
Modifying only the CloudCustomData
information of the message object
{"From_Account": "dramon1","To_Account": "dramon2","MsgKey": "1_2_3","CloudCustomData": "your cloud custom data"}
Modifying both the MsgBody
and CloudCustomData
information of the message object
{"From_Account": "dramon1","To_Account": "dramon2","MsgKey": "1_2_3","MsgBody": [{"MsgType": "TIMTextElem","MsgContent": {"Text": "hello"}}],"CloudCustomData": "your cloud custom data"}
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 | Unique identifier of the message to be modified. For how to obtain the MsgKey of the message, see the API description. |
MsgBody | Array | No | Message body. For details on formats, see Message Formats. (Note: a message can contain multiple message elements, in which case MsgBody is an array.) |
CloudCustomData | String | No | Custom message data. It is saved in the cloud and will be sent to the receiver. Such data can be pulled after the app is uninstalled and reinstalled. |
Sample response
{"ActionStatus": "OK","ErrorCode": 0,"ErrorInfo": "succeed"}
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 |
20001 | Invalid request. |
20002 | UserSig or A2 has expired. |
20003 | The UserID of the sender or recipient is invalid or does not exist. Make sure that the UserID has been imported into Chat. |
20004 | Network exception. Try again. |
20005 | Internal server error. Try again. |
90001 | Failed to parse the JSON request. Make sure the format is valid. |
90002 | The MsgBody in the JSON request does not meet message format requirements or MsgBody is not an array. For more information, see the Message Element TIMMsgElement section in Message Formats. |
90003 | The JSON request does not contain the To_Account field or the To_Account field is not a string. |
90007 | The MsgBody field in the JSON request is not an array. Change it to an array. |
90009 | The request requires app admin permissions. |
90010 | The JSON request does not meet message format requirements. For more information, see the Message Element TIMMsgElement section in Message Formats. |
90012 | The account specified in To_Account does not exist or is not registered. Make sure the account has been imported to Chat and is correct. |
91000 | Internal service error. Try again. |
90992 | Internal service error. Try again. If this error code is returned for all requests and webhook is enabled, make sure the app server returns the results to the Chat backend normally. |
API Debugging Tool
References
Sending One-to-One Messages to Multiple Users (v4/openim/batchsendmsg)
Querying One-to-One messages (v4/openim/admin_getroammsg)
Recalling One-to-One Messages (v4/openim/admin_msgwithdraw)