Recalling One-to-One Messages

Last updated: 2021-01-26 20:00:02

    Feature Description

    • 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 Call Description

    Sample request URL

    https://console.tim.qq.com/v4/openim/admin_msgwithdraw?sdkappid=88888888&identifier=admin&usersig=xxx&random=99999999&contenttype=json

    Request parameters

    The following table only describes the modified parameters when this API is called. For more information on other parameters, please see RESTful API Overview.

    Parameter Description
    v4/openim/admin_msgwithdraw Request API.
    sdkappid The SDKAppID assigned by the IM console when an application is created.
    identifier The app administrator account. For more information, please see the App Admin section in Login Authentication.
    usersig The signature generated by the app administrator account. For more information on how to generate the signature, please see Generating UserSig.
    random A random 32-bit unsigned integer ranging from 0 to 4294967295.

    Maximum call frequency

    200 calls per second

    Sample request packet

    {
        "From_Account": "vinson",
        "To_Account": "dramon",
        "MsgKey": "31906_833502_1572869830"
    }

    Request packet fields

    Field Type Required Description
    From_Account String Yes The UserID of the message sender.
    To_Account String Yes The 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 packets

    • Response to a successful recall
      {
        "ActionStatus": "OK", 
        "ErrorInfo": "", 
        "ErrorCode": 0
      }
    • Response to a failed recall
      {
        "ActionStatus": "FAIL", 
        "ErrorInfo": "Fail to Parse json data of body, Please check it", 
        "ErrorCode": 90001
      }

    Response packet fields

    Field Type Description
    ActionStatus String Request result. OK: successful. FAIL: failed.
    ErrorCode Integer Error code. 0: successful. Other values: failed.
    ErrorInfo String Detailed 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), please 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 packet. Make sure the format of the request 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 administrator permissions.
    90054 Invalid MsgKey.
    91000 Internal service error. Please try again.

    API Debugging Tool

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

    References

    Was this page helpful?

    Was this page helpful?

    • Not at all
    • Not very helpful
    • Somewhat helpful
    • Very helpful
    • Extremely helpful
    Send Feedback
    Help