tencent cloud

Feedback

Modifying Historical One-to-one Messages

Last updated: 2024-07-16 10:41:26

    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
    App admin account. For more information, see the App Admin section in Login Authentication.
    usersig
    Signature generated by the app admin account. For details, see Generating 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

    Use the RESTful API online debugging tool to debug this API.

    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)
    Contact Us

    Contact our sales team or business advisors to help your business.

    Technical Support

    Open a ticket if you're looking for further assistance. Our Ticket is 7x24 avaliable.

    7x24 Phone Support