After Official Account Is Unsubscribed

Feature Overview

The app backend can use this webhook to view in real time the activity of users unsubscribing from the official account, including: real-time recording of user unsubscriptions (e.g., logging or synchronization with other systems).

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 unsubscribe from the official account through the client.
App administrators delete subscribers through REST API.

Webhook Triggering Timing

After a user successfully unsubscribes from an 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 as: OfficialAccount.CallbackAfterDeleteSubscriber.
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.CallbackAfterDeleteSubscriber", // Webhook command
"Official_Account" : "@TOA#_test_OA_for_penn",
"Operator_Account": "leckie", // Operator
"SubscribeAccountList": [
{
"Subscriber_Account": "jared"
},
{
"Subscriber_Account": "leckie"
}
],
"EventTime": 1670574414123// Event trigger timestamp in milliseconds
}

Request fields

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

Sample response

A response is returned after the app backend synchronizes the data.
{
"ActionStatus": "OK",
"ErrorInfo": "",
"ErrorCode": 0 // Ignore response results
}

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 means response results can be ignored.
ErrorInfo
String
Mandatory
Error message.

References

REST API:Delete Subscriber