功能说明
添加好友,支持批量添加好友。
接口调用说明
请求 URL 示例
https://xxxxxx/v4/sns/friend_add?sdkappid=88888888&identifier=admin&usersig=xxx&random=99999999&contenttype=json
请求参数说明
参数 | 说明 |
xxxxxx | SDKAppID 所在国家/地区对应的专属域名: 中国: console.tim.qq.com 新加坡: adminapisgp.im.qcloud.com 首尔: adminapikr.im.qcloud.com 法兰克福: adminapiger.im.qcloud.com 硅谷: adminapiusa.im.qcloud.com 雅加达: adminapiidn.im.qcloud.com |
v4/sns/friend_add | 请求接口 |
sdkappid | 创建应用时即时通信 IM 控制台分配的 SDKAppID |
identifier | |
usersig | |
random | 请输入随机的32位无符号整数,取值范围0 - 4294967295 |
contenttype | 请求格式固定值为 json |
最高调用频率
200次/秒。
请求包示例
基础形式
{"From_Account":"id","AddFriendItem":[{"To_Account":"id1","AddSource":"AddSource_Type_XXXXXXXX"}]}
完整形式
{"From_Account":"id","AddFriendItem":[{"To_Account":"id1","Remark":"remark1","GroupName":"同学", // 添加好友时只允许设置一个分组,因此使用 String 类型即可"AddSource":"AddSource_Type_XXXXXXXX","AddWording":"I'm Test1"}],"AddType":"Add_Type_Both","ForceAddFlags":1}
批量形式
{"From_Account":"id","AddFriendItem":[{"To_Account":"id1","AddSource":"AddSource_Type_XXXXXXXX"},{"To_Account":"id2","Remark":"remark2","GroupName":"同学", // 添加好友时只允许设置一个分组,因此使用 String 类型即可"AddSource":"AddSource_Type_XXXXXXXX","AddWording":"I'm Test2"},{"To_Account":"id3","Remark":"remark3","GroupName":"同事", // 添加好友时只允许设置一个分组,因此使用 String 类型即可"AddSource":"AddSource_Type_XXXXXXXX","AddWording":"I'm Test3"}],"AddType":"Add_Type_Both","ForceAddFlags":1}
请求包字段说明
字段 | 类型 | 属性 | 说明 |
From_Account | String | 必填 | 需要为该 UserID 添加好友 |
AddFriendItem | Array | 必填 | 好友结构体对象,单次请求的好友数不得超过1000 |
To_Account | String | 必填 | 好友的 UserID |
Remark | String | 选填 | From_Account 对 To_Account 的好友备注,详情可参见 标配好友字段 |
GroupName | String | 选填 | From_Account 对 To_Account 的分组信息,添加好友时只允许设置一个分组,因此使用 String 类型即可,详情可参见 标配好友字段 |
AddSource | String | 必填 | 加好友来源字段,详情可参见 标配好友字段 |
AddWording | String | 选填 | From_Account 和 To_Account 形成好友关系时的附言信息,详情可参见 标配好友字段 |
AddType | String | 选填 | 加好友方式(默认双向加好友方式): Add_Type_Single 表示单向加好友 Add_Type_Both 表示双向加好友 |
ForceAddFlags | Integer | 选填 | 管理员强制加好友标记: 1:表示强制加好友 0:表示常规加好友方式 |
应答包体示例
基础形式、完备形式
{"ResultItem":[{"To_Account":"id1","ResultCode":0,"ResultInfo":""}],"ActionStatus":"OK","ErrorCode":0,"ErrorInfo":"","ErrorDisplay":""}
批量形式
{"ResultItem":[{"To_Account":"id1","ResultCode":0,"ResultInfo":""},{"To_Account":"id2","ResultCode":30006,"ResultInfo":"Err_SNS_FriendAdd_Unpack_Profile_Data_Fail"},{"To_Account":"id3","ResultCode":30002,"ResultInfo":"Err_SNS_FriendAdd_SdkAppId_Illegal"}],"Fail_Account":["id2","id3"],"ActionStatus":"OK","ErrorCode":0,"ErrorInfo":"","ErrorDisplay":""}
应答包字段说明
字段 | 类型 | 说明 |
ResultItem | Array | 批量加好友的结果对象数组 |
To_Account | String | 请求添加的好友的 UserID |
ResultCode | Integer | To_Account 的处理结果,0表示成功,非0表示失败,非0取值的详细描述请参见 错误码说明 |
ResultInfo | String | To_Account 的错误描述信息,成功时该字段为空 |
Fail_Account | Array | 返回处理失败的用户列表,仅当存在失败用户时才返回该字段 |
ActionStatus | String | 请求处理的结果 OK:表示处理成功 FAIL:表示失败 |
ErrorCode | Integer | 错误码: 0:表示成功 非0:表示失败,非0取值的详细描述请参见 错误码说明 |
ErrorInfo | String | 详细错误信息 |
ErrorDisplay | String | 详细的客户端展示信息 |
错误码说明
除非发生网络错误(例如502错误),否则该接口的 HTTP 返回码均为200。实际的错误码、错误信息是通过应答包体中的 ResultCode、ResultInfo、ErrorCode 以及 ErrorInfo 来表示的。
公共错误码(60000到79999)请参见 错误码。
本 API 私有错误码如下:
错误码 | 描述 |
30001 | 请求参数错误,请根据错误描述检查请求参数 |
30002 | SDKAppID 不匹配 |
30003 | 请求的用户账号不存在 |
30004 | 请求需要 App 管理员权限 |
30006 | 服务器内部错误,请重试 |
30007 | 网络超时,请稍后重试 |
30008 | 并发写导致写冲突,建议使用批量方式 |
30009 | 后台禁止该用户发起加好友请求 |
30010 | 自己的好友数已达系统上限 |
30011 | 分组已达系统上限 |
30012 | 未决数已达系统上限 |
30014 | 对方的好友数已达系统上限 |
30015 | 与待添加为好友的用户之间存在好友关系 |
30515 | 请求添加好友时,对方在自己的黑名单中,不允许加好友 |
30516 | 请求添加好友时,对方的加好友验证方式是不允许任何人添加自己为好友 |
30525 | 请求添加好友时,自己在对方的黑名单中,不允许加好友 |
30539 | A 请求加 B 为好友,B 的加好友验证方式被设置为“AllowType_Type_NeedConfirm”,这时 A 与 B 之间只能形成未决关系,这个返回码用于标识加未决成功,以便与加好友成功的返回码区分开,调用方可以捕捉该错误给用户一个合理的提示 |
30540 | 添加好友请求被安全策略打击,请勿频繁发起添加好友请求 |
接口调试工具
参考
导入好友(v4/sns/friend_import)
更新好友(v4/sns/friend_update)
删除好友(v4/sns/friend_delete)
删除所有好友(v4/sns/friend_delete_all)
校验好友(v4/sns/friend_check)
拉取好友(v4/sns/friend_get)
拉取指定好友(v4/sns/friend_get_list)