Importing Friends

Last updated: 2020-03-11 17:34:07

    Feature Description

    • This API is used to import one-way friends in batches.
    • We recommend that you import friends for the same user in batches to avoid write conflict due to concurrent writes.

    API Calling Description

    Request URL example

    https://console.tim.qq.com/v4/sns/friend_import?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 called. For details on other parameters, see RESTful API Overview.

    Parameter Description
    v4/sns/friend_import 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 calling frequency

    The maximum calling frequency is 200 times per second.

    Request packet examples

    • Basic form

      {
        "From_Account":"id",
        "AddFriendItem":
        [
            {
                "To_Account":"id1",
                "AddSource":"AddSource_Type_XXXXXXXX"
            }
        ]
      }
    • Complete form

      {
        "From_Account":"id",
        "AddFriendItem":
        [
            {
                "To_Account":"id1",
                "Remark":"remark1",
                "RemarkTime":1420000001,
                "GroupName":["Friends"],
                "AddSource":"AddSource_Type_XXXXXXXX",
                "AddWording":"I'm Test1",
                "AddTime":1420000001,
                "CustomItem":
                [
                    {
                        "Tag":"Tag_SNS_Custom_XXXX",
                        "Value":"Test"
                    },
                    {
                        "Tag":"Tag_SNS_Custom_YYYY",
                        "Value":0
                    }
                ]
            }
        ]
      }
    • Batch form

      {
        "From_Account":"id",
        "AddFriendItem":
        [
            {
                "To_Account":"id1",
                "AddSource":"AddSource_Type_XXXXXXXX"
            },
            {
                "To_Account":"id2",
                "Remark":"remark2",
                "RemarkTime":1420000001,
                "GroupName":["Friends"],
                "AddSource":"AddSource_Type_XXXXXXXX",
                "AddWording":"I'm Test2",
                "AddTime":1420000001
            },
            {
                "To_Account":"id3",
                "Remark":"remark3",
                "RemarkTime":1420000001,
                "GroupName":["Colleagues","Friends"],
                "AddSource":"AddSource_Type_XXXXXXXX",
                "AddWording":"I'm Test3",
                "AddTime":1420000001,
                "CustomItem":
                [
                    {
                        "Tag":"Tag_SNS_Custom_XXXX",
                        "Value":"Test"
                    },
                    {
                        "Tag":"Tag_SNS_Custom_YYYY",
                        "Value":0
                    }
                ]
            }
        ]
      }

    Request packet fields

    Field Type Attribute Description
    From_Account String Required The identifier for which a friend needs to be added.
    AddFriendItem Array Required The structural object of the friend.
    To_Account String Required The identifier of the friend.
    Remark String Optional The remarks on To_Account made by From_Account. For details, see Standard Friend Fields.
    RemarkTime Integer Optional The time of remarking To_Account by From_Account.
    GroupName Array Optional The group information of To_Account added by From_Account. For details, see Standard Friend Fields.
    AddSource String Required The friend addition source. For details, see Standard Friend Fields.
    AddWording String Optional Postscript information for establishing a friend relationship between From_Account and To_Account. For details, see Standard Friend Fields.
    AddTime Integer Optional The time of establishing a friend relationship between From_Account and To_Account.
    CustomItem Array Optional The custom friend data of To_Account set by From_Account. Each member has a Tag field and a Value field. For details, see Custom Friend Fields.
    Tag String Optional The name of the custom friend field. To use it, first apply for a custom friend field in the IM console by navigating to App Configuration > Feature Configuration.
    Value String/Integer Optional The value of the custom friend field.

    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":30010,
                "ResultInfo":"Err_SNS_FriendImport_My_Friend_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 result object array for adding friends in batches.
    To_Account String The identifier of the friend to be added.
    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 a list of users for whom the processing failed. This field is returned only when the processing failed for a user.
    Invalid_Account Array Returns a list of invalid users with inconsistent SDKAppIDs. This field is returned only when invalid users exist.
    ActionStatus String The request processing result. OK: succeeded. FAIL: failed.
    ErrorCode Integer The error code. 0: succeeded. Other values: 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 for 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 is incorrect. To correct it, 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 admin permissions.
    30005 The relationship chain field contains sensitive words.
    30006 An internal server error occurred. To correct it, try again.
    30007 The network connection timed out. To correct it, try again later.
    30008 A write conflict occurred due to concurrent writes. To correct it, we recommend that you use the batch mode.
    30010 The number of friends has reached the upper limit of the system.
    30011 The number of groups has reached the upper limit of the system.

    API Commissioning Tool

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

    References

    Was this page helpful?

    Was this page helpful?

    • Not at all
    • Not very helpful
    • Somewhat helpful
    • Very helpful
    • Extremely helpful
    Send Feedback
    Help