그룹 속성 변경 후 콜백
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 | |
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
REST API: Clear Group Custom Definition Attributes
REST API: Reset Group Custom Definition Attributes