After a Friend Is Added

Feature Description

The app backend uses this callback to view information about friends added by users in real time.

Notes

To enable this callback, you must configure the callback URL and toggle on the corresponding protocol. For details on the configuration method, see Third-Party Callback Configuration.
Callback direction: the Chat backend initiates an HTTP POST request to the app backend.
After receiving the callback request, the app backend must check whether the SDKAppID contained in the request URL is consistent with its own SDKAppID.
For other security-related issues, see Third-Party Callback Overview: Security Considerations.

Callback Triggering Scenarios

The app backend uses the RESTful API to initiate a two-way friend addition request, and the peer’s friend request verification mode is "AllowAny".
The app backend uses the client to initiate a two-way friend addition request, and the peer’s friend verification mode is "AllowAny".
The app backend uses the RESTful API to initiate a one-way friend addition request.
The app backend uses the client to initiate a one-way friend addition request.
After receiving the friend addition request, the app user permits to add the peer as a friend.
The app backend uses the RESTful API to forcibly add a friend.

Callback Triggering Time

This callback is triggered when a friend is successfully added.
Caution:
This callback will not be triggered if the API for importing friends is invoked to add a friend.

API Description

Request URL example

In the following example, the callback URL configured in 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
The callback URL.
SdkAppid
The SDKAppID assigned by the Chat console when an app is created.
CallbackCommand
The value is fixed to Sns.CallbackFriendAdd.
contenttype
The value is fixed to JSON.
ClientIP
The client IP address, whose format is similar to: 127.0.0.1.
OptPlatform
The client platform. For details on the possible values, see the OptPlatform parameter in Third-Party Callback Overview: Callback Protocols.

Request packet example

{
"CallbackCommand": "Sns.CallbackFriendAdd",
"PairList": [
{
"From_Account": "id",
"To_Account": "id1",
"Initiator_Account": "id"
},
{
"From_Account": "id",
"To_Account": "id2",
"Initiator_Account": "id"
},
{
"From_Account": "id",
"To_Account": "id3",
"Initiator_Account": "id"
}
],
"ClientCmd":"friend_add",
"Admin_Account":"",
"ForceFlag":1
}

Request packet fields

Field
Type
Description
CallbackCommand
String
The callback command.
PairList
Array
The friend pair that is successfully added.
From_Account
String
From_Account adds To_Account to the friend list.
To_Account
String
To_Account is added to the friend list of From_Account.
Initiator_Account
String
The UserID of the user who initiates the friend addition request.
ClientCmd
String
The command keyword that triggers the callback:
For a friend addition request, valid values are friend_add and FriendAdd.
For a friend addition response, valid values are friend_response and FriendResponse.
Admin_Account
String
If the current request is a friend addition request triggered by the backend, this field is set to the admin account. Otherwise, this field is empty.
ForceFlag
Integer
The flag for forcibly adding a friend by the admin. 1: the friend is added forcibly. 0: the friend is added as normal.

Response packet example

{
"ActionStatus": "OK",
"ErrorCode": 0,
"ErrorInfo": ""
}

Response packet fields

Field
Type
Attribute
Description
ActionStatus
String
Required
The request processing result. OK: succeeded. FAIL: failed.
ErrorCode
Integer
Required
The error code. 0 indicates that the app backend processing succeeded, and 1 indicates that the app backend processing failed.
ErrorInfo
String
Required
Error information.

References

RESTful APIs: Adding a friend