tencent cloud

Feedback

Sending Messages in a Official Account

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

    Feature Overview

    App Administrators can use this api to send ordinary messages to all subscribers following the official account.
    The maximum sending frequency for a single official account is 1 message/sec, with up to 2 broadcast messages per hour.
    If the content of two messages is identical within 5 minutes, the latter will be discarded as a duplicate message.

    API Calling Description

    Sample request URL

    https://xxxxxx/v4/official_account_open_http_svc/send_official_account_msg?sdkappid=88888888&identifier=admin&usersig=xxx&random=99999999&contenttype=json

    Request parameters

    The table below only lists the parameters modified when calling this API and their descriptions. For more details on the parameters, please refer to RESTful API Overview.
    Parameter
    Description
    xxxxxx
    The dedicated domain for 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/official_account_open_http_svc/send_official_account_msg
    Request API
    sdkappid
    SDKAppID assigned by the Chat console when an app is created
    identifier
    You must be an App admin account. For more details, see App Admins
    usersig
    The 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 fixed value: json

    Maximum calling frequency

    200 queries/sec.

    Sample request packets

    Basic Form Sending Regular Official Account Messages.
    {
    "Official_Account": "@TOA#_2C5SZEAEF",
    "Random": 9875,
    "MsgBody": [ // Message body, consists of an element array, see field description for details, messages with the same content within five minutes are considered duplicates
    {
    "MsgType": "TIMTextElem", // Text
    "MsgContent": {
    "Text": "red packet"
    }
    },
    {
    "MsgType": "TIMFaceElem", // Expression
    "MsgContent": {
    "Index": 6,
    "Data": "abc\\u0000\\u0001"
    }
    }
    ],
    "CloudCustomData": "your cloud custom data",
    "OfflinePushInfo": {
    "PushFlag": 0, // Normal push,
    "Desc": "Offline Push Content",
    "Ext": "This is the transmitted content",
    "AndroidInfo": {
    "Sound": "android.mp3"
    },
    "ApnsInfo": {
    "Sound": "apns.mp3",
    "BadgeMode": 1, // This field is omitted or 0 means counting is required, 1 means this message does not require counting, i.e., the number on the upper right corner icon does not increase
    "Title":"apns title", // apns title
    "SubTitle":"apns subtitle", // apns subtitle
    "Image":"www.image.com" // image url
    }
    }
    }
    Specifies that the message does not update the recent contact session If SendMsgControl is specified in the message, setting NoLastMsg means it does not update the recent contact session.
    {
    "Official_Account": "@TOA#_2C5SZEAEF",
    "Random": 9875,
    "SendMsgControl":["NoLastMsg"],// Specifies that the message does not trigger an update to the recent contact session.
    "MsgBody": [ // Message body, consists of an element array, see field description for details, messages with the same content within five minutes are considered duplicates
    {
    "MsgType": "TIMTextElem", // Text
    "MsgContent": {
    "Text": "red packet"
    }
    },
    {
    "MsgType": "TIMFaceElem", // Expression
    "MsgContent": {
    "Index": 6,
    "Data": "abc\\u0000\\u0001"
    }
    }
    ]
    }
    Specifies that the message does not trigger a callback With callback function enabled, users can control whether a single message triggers a callback through ForbidCallbackControl, by default, a callback is initiated.
    {
    "Official_Account": "@TOA#_2C5SZEAEF",
    "Random": 9875,
    "ForbidCallbackControl":[
    "ForbidBeforeSendMsgCallback",
    "ForbidAfterSendMsgCallback"], // Prohibit callback control option
    "MsgBody": [ // Message body, consists of an element array, see field description for details, messages with the same content within five minutes are considered duplicates
    {
    "MsgType": "TIMTextElem", // Text
    "MsgContent": {
    "Text": "red packet"
    }
    },
    {
    "MsgType": "TIMFaceElem", // Expression
    "MsgContent": {
    "Index": 6,
    "Data": "abc\\u0000\\u0001"
    }
    }
    ]
    }
    Specifies that the message will not be stored offline or for roaming If OnlineOnlyFlag is specified in the message body, as long as its value is greater than 0, it indicates that the message will only be sent online and will not be stored for offline or roaming.
    {
    "Official_Account": "@TOA#_2C5SZEAEF",
    "Random": 9875,
    "OnlineOnlyFlag": 1, // Indicates that the message is only sent online (only online subscribers can receive it), and is not stored for offline or roaming
    "MsgBody": [ // Message body, consists of an element array, see field description for details, messages with the same content within five minutes are considered duplicates
    {
    "MsgType": "TIMTextElem", // Text
    "MsgContent": {
    "Text": "red packet"
    }
    },
    {
    "MsgType": "TIMFaceElem", // Expression
    "MsgContent": {
    "Index": 6,
    "Data": "abc\\u0000\\u0001"
    }
    }
    ]
    }

    Request packet fields

    Field
    Type
    Attribute
    Description
    Official_Account
    String
    Mandatory
    Official Account Users sending messages.
    Random
    Integer
    Mandatory
    Unsigned 32-bit integer (range: 0 to 4294967295). If the content and Random value of two messages are the same within 5 minutes, the latter message will be considered a duplicate and discarded.
    MsgBody
    Array
    Mandatory
    Message body, for details refer to Message Format.
    OfflinePushInfo
    Object
    Optional
    Offline push notification configuration, for details see Message Format.
    ForbidCallbackControl
    Array
    Optional
    Message callback prohibition switch, applies only to individual messages, ForbidBeforeSendMsgCallback indicates prohibiting callback before sending a message, ForbidAfterSendMsgCallback indicates prohibiting callback after sending a message
    OnlineOnlyFlag
    Integer
    Optional
    1 indicates the message is sent only to online subscribers, default 0 indicates sending to all subscribers
    SendMsgControl
    Array
    Optional
    Message sending permissions, NoLastMsg applies only to individual messages, indicates not updating the latest conversation (If the message's OnlineOnlyFlag is set to 1, then this field should not be used.)
    CloudCustomData
    String
    Optional
    Custom message data (stored in the cloud, will be sent to the peer, and can be retrieved even after the app is uninstalled and reinstalled).

    Sample response packets

    {
    "ActionStatus": "OK",
    "ErrorInfo": "",
    "ErrorCode": 0,
    "MsgTime": 1497249503,
    "MsgKey": "89541_1_1572870301"
    }

    Response packet field description

    Field
    Type
    Description
    ActionStatus
    String
    Processed Request Result:
    OK: Indicates successful processing
    FAIL: Indicates failure
    ErrorCode
    Integer
    Error Identifier:
    0: Indicates success
    Non-zero: Indicates failure
    ErrorInfo
    String
    Error message
    MsgTime
    Integer
    Timestamp of when the message is sent, corresponding to the server time
    MsgKey
    String
    Unique Message Identifier, used for recall. Length must not exceed 50 characters

    Error codes

    Unless a network error occurs (such as a 502 error), the HTTP return code for this interface is always 200. The real error code and error message are indicated by ErrorCode, ErrorInfo in the response body. Common error codes (60000 to 79999) can be found in the Error Codes document. The private error codes for this API are as follows:
    Error code
    Description
    10002
    Internal server error. Please try again.
    10004
    Invalid parameters. Please check the request based on the error description.
    10007
    Insufficient operational permissions.
    10010
    The official account user does not exist, or it may have existed but has now been disbanded.
    10015
    Official Account User ID is invalid, please check if the Official Account User ID is correctly filled.
    10016
    The App backend refuses this operation through Third-party Callback.
    10017
    Unable to send messages due to being muted, please check if the sender has been set to mute.
    10023
    The frequency of sending messages exceeds the limit, please extend the interval between two message sending times.
    80002
    The message content is too long, currently supporting up to 12K Bytes of messages, please adjust the length of the message.

    API Debugging Tool

    Use the RESTful API Online Debugging Tool to debug this API.

    Reference

    Possible Trigger Callbacks

    
    
    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