please select

Callback After Group Attribute Changed

Feature Overview

The app Backend can use this callback to view real-time information on Group Custom Definition Attribute changes, including: modification, clearing, resetting, and deletion of group custom attributes. The app Backend can use this callback for operations such as data synchronization.

Notes

To enable the callback, you must configure a callback URL and toggle on the corresponding protocol switch. For detailed configuration methods, see Third-party Callback Configuration document.
During this callback, the Chat backend initiates an HTTP POST request to the app backend.
After the callback request is received, the app backend must check whether the SDKAppID contained in the request URL is consistent with its own SDKAppID.
For other security-related matters, please refer to Introduction to Third-party Callback - Security Considerations.

Scenarios That May Trigger This Callback

An app user modify, clear, reset, delete Group Custom Definition Attributes through the client.
An app administrator modify, clear, reset, delete Group Custom Definition Attributes via RESTful APIs.

Callback Trigger Time

After the change of Group Custom Definition Attributes.

API Description

Sample Request URL

In the subsequent example, the callback 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
Callback URL
SdkAppid
SDKAppID allocated by the Chat console at the time of Application creation
CallbackCommand
Set to Group.CallbackAfterGroupAttrChanged
contenttype
Fixed value: JSON
ClientIP
Client IP, such as 127.0.0.1
OptPlatform
Client Platform, see the meaning of the OptPlatform parameter in Third-Party Callback Introduction - Callback Protocol

Sample Request Packets

{
"CallbackCommand": "Group.CallbackAfterGroupAttrChanged",
"GroupId": "@TGS#2J4SZEAEL",
"Type": "Public",
"Operator_Account": "leckie",
"OptionType":"set", // "set": Reset the attribute defined by the user; "modify": Modify the attribute defined by the user; "clear": Clear the attribute defined by the user; "delete": Delete the attribute defined by the user
"GroupAttr": [
{
"key": "key1",
"value": "value1"
},
{
"key": "key2",
"value": "values"
}
],
"EventTime":"1670574414123"// Event trigger timestamp in milliseconds
}


Request Packet Fields

Field
Type
Description
CallbackCommand
String
Callback command
GroupId
String
Operating Group ID
Type
String
Group Type Group Type Introduction, e.g., Public
Operator_Account
String
UserID of the operator initiating the request to change the group's user-defined attributes
GroupAttr
Array
Custom Attribute List, where key is the name of the user-defined attribute, and value is the value of the user-defined attribute
EventTime
Integer
Event trigger timestamp in milliseconds

Response Packet Example

Following data synchronization, the app backend dispatches a callback response packet.
{
"ActionStatus": "OK",
"ErrorInfo": "",
"ErrorCode": 0 // Ignore callback result
}

Response Packet Field Description

Field
Type
Attribute
Description
ActionStatus
String
Required
Processed Request Result:
OK: Indicates successful processing
FAIL: Indicates failure
ErrorCode
Integer
Required
Error Code, entering 0 here means to ignore the response result
ErrorInfo
String
Required
Error message

Reference