更新好友

最近更新时间:2019-06-18 20:35:42

功能说明

  • 支持批量更新同一用户的多个好友的关系链数据。
  • 更新一个用户多个好友时,建议采用批量方式,避免并发写导致的写冲突。

接口调用说明

请求 URL 示例

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

请求参数说明

下表仅列出调用本接口时涉及修改的参数及其说明,更多参数详情请参考 REST API 简介

参数 说明
v4/sns/friend_update 请求接口
sdkappid 创建应用时云通信 IM 控制台分配的 SDKAppID
identifier 必须为 App 管理员帐号,更多详情请参见 App 管理员
usersig App 管理员帐号生成的签名,具体操作请参见 生成 UserSig
random 请输入随机的32位无符号整数

最高调用频率

100次/秒。如需提升调用频率,请根据 工单模板 提交工单申请处理。

请求包示例

  • 基础形式
    {
      "From_Account":"id",
      "UpdateItem":
      [
          {
              "To_Account":"id1",
              "SnsItem":
              [
                  {
                      "Tag":"Tag_SNS_IM_Remark",
                      "Value":"remark1"
                  }
              ]
          }
      ]
    }
  • 完整形式
    {
      "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"
                  }
              ]
          }
      ]
    }
  • 批量形式
    {
      "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"
                  }
              ]
          }
      ]
    }

请求包字段说明

字段 类型 属性 说明
From_Account String 必填 需要更新该 Identifier 的关系链数据
UpdateItem Array 必填 需要更新的好友对象数组
To_Account String 必填 好友的 Identifier
SnsItem Array 必填 需要更新的关系链数据对象数组
Tag String 必填 需要更新的关系链字段的字段名,目前只支持好友备注、好友分组、关系链自定义字段的更新操作,关系链字段的详细信息可参见 好友表
Value Array/String/Integer 必填 需要更新的关系链字段的值,关系链字段的值类型信息可参见 好友表

应答包体示例

  • 基础形式、完备形式
    {
      "ResultItem":
      [
          {
              "To_Account":"id1",
              "ResultCode":0,
              "ResultInfo":""
          }
      ],
      "ActionStatus":"OK",
      "ErrorCode":0,
      "ErrorInfo":"",
      "ErrorDisplay":""
    }
  • 批量形式
    {
      "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":""
    }

应答包字段说明

字段 类型 说明
ResultItem Array 批量更新好友的结果对象数组
To_Account String 请求更新的好友的 Identifier
ResultCode Integer To_Account 的处理结果,0表示成功,非0表示失败
ResultInfo String To_Account 的错误描述信息,成功时该字段为空
Fail_Account Array 返回处理失败的用户列表,仅当存在失败用户时才返回该字段
Invalid_Account Array 返回 SDKAppID 不匹配的非法用户列表,仅当存在非法用户时才返回该字段
ActionStatus String 请求处理的结果,“OK” 表示处理成功,“FAIL” 表示失败
ErrorCode Integer 错误码,0表示成功,非0表示失败
ErrorInfo String 详细错误信息
ErrorDisplay String 详细的客户端展示信息

错误码说明

除非发生网络错误(例如502错误),否则该接口的 HTTP 返回码均为200。真正的错误码、错误信息是通过应答包体中的 ErrorCode、ErrorInfo 来表示的。
公共错误码(60000到79999)参见 错误码 文档。
本 API 私有错误码如下:

错误码 描述
30001 请求参数错误,请根据错误描述检查请求参数
30002 SDKAppID 不匹配
30003 请求的用户帐号不存在
30004 请求需要 App 管理员权限
30005 关系链字段中包含敏感词
30006 服务器内部错误,请重试
30007 网络超时,请稍后重试
30008 并发写导致写冲突,建议使用批量方式
30011 分组已达系统上限

接口调试工具

通过 REST API 在线调试工具 调试本接口。

参考