Updating Friends

Last updated: 2020-03-12 10:07:16

PDF

Feature Description

  • This API allows you to batch update the relationship chain data of a user’s multiple friends.
  • We recommend that you update multiple friends of a user in batches to avoid write conflict caused by concurrent writes.

API Invocation Description

Request URL example

https://console.tim.qq.com/v4/sns/friend_update?sdkappid=88888888&identifier=admin&usersig=xxx&random=99999999&contenttype=json

Request parameters

The following table lists and describes only the parameters to be modified when this API is invoked. For details on other parameters, see RESTful API Overview.

Parameter Description
v4/sns/friend_update The request API.
sdkappid The SDKAppID assigned by the IM console when an app is created.
identifier This must be the app admin account. For details, see App Admins.
usersig The signature generated by the app admin account. For details, see Generating UserSig.
random Enter a random 32-bit unsigned integer ranging from 0 to 4294967295.

Maximum invocation frequency

The maximum invocation frequency is 200 times per second.

Request packet examples

  • Basic form
    {
      "From_Account":"id",
      "UpdateItem":
      [
          {
              "To_Account":"id1",
              "SnsItem":
              [
                  {
                      "Tag":"Tag_SNS_IM_Remark",
                      "Value":"remark1"
                  }
              ]
          }
      ]
    }
  • Complete form
    {
      "From_Account":"id",
      "UpdateItem":
      [
          {
              "To_Account":"id1",
              "SnsItem":
              [
                  {
                      "Tag":"Tag_SNS_IM_Remark",
                      "Value":"remark1"
                  },
                  {
                      "Tag":"Tag_SNS_IM_Group",
                      "Value":
                      [
                          "group1",
                          "group2"
                      ]
                  },
                  {
                      "Tag":"Tag_SNS_Custom_Test",
                      "Value":"test"
                  }
              ]
          }
      ]
    }
  • Batch form
    {
      "From_Account":"id",
      "UpdateItem":
      [
          {
              "To_Account":"id1",
              "SnsItem":
              [
                  {
                      "Tag":"Tag_SNS_IM_Remark",
                      "Value":"remark1"
                  }
              ]
          },
          {
              "To_Account":"id2",
              "SnsItem":
              [
                  {
                      "Tag":"Tag_SNS_IM_Remark",
                      "Value":"remark2"
                  },
                  {
                      "Tag":"Tag_SNS_IM_Group",
                      "Value":
                      [
                          "group1",
                          "group2"
                      ]
                  }
              ]
          },
          {
              "To_Account":"id3",
              "SnsItem":
              [
                  {
                      "Tag":"Tag_SNS_IM_Remark",
                      "Value":"remark3"
                  },
                  {
                      "Tag":"Tag_SNS_IM_Group",
                      "Value":
                      [
                          "group3"
                      ]
                  },
                  {
                      "Tag":"Tag_SNS_Custom_Test",
                      "Value":"test"
                  }
              ]
          }
      ]
    }

Request packet fields

Field Type Attribute Description
From_Account String Required The identifier of the account whose relationship chain data needs to be updated.
UpdateItem Array Required The array of friend objects that need to be updated.
To_Account String Required The identifier of a friend.
SnsItem Array Required The array of relationship data objects that need to be updated.
Tag String Required The name of the relationship chain field that needs to be updated. Currently, only friend remarks, friend groups, and relationship chain custom fields can be updated. For details on relationship chain fields, see the Friend List.
Value Array/String/Integer Required The value of the relationship chain field that needs to be updated. For value type information for relationship chain fields, see the Friend List.

Response packet examples

  • Basic form and complete form
    {
      "ResultItem":
      [
          {
              "To_Account":"id1",
              "ResultCode":0,
              "ResultInfo":""
          }
      ],
      "ActionStatus":"OK",
      "ErrorCode":0,
      "ErrorInfo":"",
      "ErrorDisplay":""
    }
  • Batch form
    {
      "ResultItem":
      [
          {
              "To_Account":"id1",
              "ResultCode":0,
              "ResultInfo":""
          },
          {
              "To_Account":"id2",
              "ResultCode":30011,
              "ResultInfo":"Err_SNS_FriendUpdate_Group_Num_Exceed_Threshold"
          },
          {
              "To_Account":"id3",
              "ResultCode":30002,
              "ResultInfo":"Err_SNS_FriendImport_SdkAppId_Illegal"
          }
      ],
      "Fail_Account":["id2"],
      "Invalid_Account":["id3"],
      "ActionStatus":"OK",
      "ErrorCode":0,
      "ErrorInfo":"",
      "ErrorDisplay":""
    }

Response packet fields

Field Type Description
ResultItem Array The array of result objects for batch friend update.
To_Account String The identifier of the friend updated by the request.
ResultCode Integer The processing result of To_Account. 0: succeeded. Others: failed.
ResultInfo String Error description for To_Account. If the processing was successful, the field is empty.
Fail_Account Array Returns the list of users for whom the processing failed. This field is returned only when the processing failed for a user.
Invalid_Account Array Returns the list of invalid users with inconsistent SDKAppIDs. This field is returned only when an invalid user exists.
ActionStatus String The request processing result. OK: succeeded. FAIL: failed.
ErrorCode Integer The error code. 0: succeeded. Others: failed.
ErrorInfo String Detailed error information.
ErrorDisplay String Detailed error information to be displayed on the client.

Error Codes

Unless a network error (such as error 502) occurs, the HTTP return code of this API is always 200. ErrorCode and ErrorInfo in the response packet represent the actual error code and error information, respectively.
For common error codes (60000 to 79999), see Error Codes.
The following table describes the error codes specific to this API.

Error Code Description
30001 A request parameter in incorrect. In this case, check request parameters based on the error description.
30002 The SDKAppIDs are inconsistent.
30003 The requested user account does not exist.
30004 The request requires app administrator permissions.
30005 The relationship chain field contains sensitive words.
30006 An internal server error occurred. In this case, try again.
30007 The network connection timed out. In this case, try again later.
30008 A write conflict occurred due to concurrent writes. In this case, we recommend that you use the batch mode.
30011 The number of groups has reached the upper limit of the system.

API Commissioning Tool

Use the RESTful online commissioning tool for APIs to commission this API.

References