tencent cloud

Feedback

Before Official Account Is Subscribed

Last updated: 2024-06-18 16:10:29

    Feature Overview

    This webhook event allows the app backend to check user subscription requests to the Official Account in real time, including the capability for the backend to intercept such requests.

    Notes

    To enable the webhook, you must configure the Webhook URL and toggle on the corresponding protocol. For more information on the configuration method, see Webhook Configuration.
    During this webhook, the Chat backend initiates an HTTP POST request to the app backend.
    After receiving the webhook request, the app backend must check whether the SDKAppID contained in the request URL is the SDKAppID of the app.
    For additional safety-related concerns, please refer to the Webhook Overview: Security Considerations document.

    Webhook Triggering Scenarios

    App users subscribe to the Official Account through the client.
    The app admin adds subscribers via the REST API.

    Webhook Triggering Timing

    Before a user subscribes to the Official Account.

    API Calling Description

    Sample request URL

    In the subsequent example, the webhook URL configured within the app is https://www.example.com. Example:
    https://www.example.com?SdkAppid=$SDKAppID&CallbackCommand=$CallbackCommand&contenttype=json&ClientIP=$ClientIP&OptPlatform=$OptPlatform

    Request parameters

    Parameter
    Description
    https
    The request protocol is HTTPS, and the request method is POST.
    www.example.com
    Webhook URL.
    SdkAppid
    SDKAppID assigned by the Chat console when an app is created.
    CallbackCommand
    Fixed to: OfficialAccount.CallbackBeforeAddSubscriber.
    contenttype
    Fixed value: JSON.
    ClientIP
    Client IP, such as: 127.0.0.1.
    OptPlatform
    Client Platform, for values please refer to Webhook Overview: Webhook Protocol for the meaning of the OptPlatform parameter.

    Sample request

    {
    "CallbackCommand": "OfficialAccount.CallbackBeforeAddSubscriber",
    "Official_Account": "@TOA#_test_for_penn",
    "Operator_Account": "107867",
    "SubscribeAccountList": [
    {
    "Subscriber_Account": "jared"
    },
    {
    "Subscriber_Account": "leckie"
    }
    ],
    "EventTime": 1670574414123// Millisecond level, event trigger timestamp
    }

    Request fields

    Object
    Features
    Feature
    CallbackCommand
    String
    Webhook command.
    Official_Account
    String
    Official Account user ID of the subscription.
    Operator_Account
    String
    Operator UserID who initiated the request.
    SubscribeAccountList
    Array
    List of subscribers added.
    EventTime
    Integer
    Event trigger timestamp in milliseconds.

    Sample response

    Allow all users to follow the Official Account

    The App backend agrees to let all users in all requests follow the Official Account.
    {
    "ActionStatus": "OK",
    "ErrorInfo": "",
    "ErrorCode": 0
    }

    Block certain users from subscribing to the Official Account

    The App backend rejects some users in the request from subscribing to the Official Account and returns these Identifiers in RefusedMembers_Account.
    {
    "ActionStatus": "OK",
    "ErrorInfo": "",
    "ErrorCode": 0,
    "RefusedSubscribers_Account": [ // List of users who were denied subscription
    "jared"
    ]
    }

    Response fields

    Field
    Type
    Attribute
    Description
    ActionStatus
    String
    Mandatory
    Processed Request Result:
    OK: Indicates successful processing
    FAIL: Indicates failure
    ErrorCode
    Integer
    Mandatory
    Error Code, 0 allows continuing to add requests (including allowing some users to be added); 1 rejects the request.
    ErrorInfo
    String
    Mandatory
    Error message.
    RefusedSubscribers_Account
    Array
    Optional
    Collection of user IDs denied addition.

    References

    REST API:Adding Subscribers
    
    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