功能说明
App 管理员可以通过该接口创建群组。
以下视频将帮助您快速了解如何通过 REST API 创建群组:
接口调用说明
适用的群组类型
群组类型 ID | 是否支持此 REST API |
---|---|
Private | 支持,同新版本中的 Work(好友工作群) |
Public | 支持 |
ChatRoom | 支持,同新版本中的 Meeting(临时会议群) |
AVChatRoom | 支持 |
即时通信 IM 内置上述群组类型,详情介绍请参见 群组系统。
注意:
- 如果指定群组类型为直播群(AVChatRoom):
- 那么可以创建的群组数量根据套餐包情况有不同,请参考 价格说明。
- 创建此类型群时不能拉人入群,如果创建时指定了拉入的群成员会返回10007错误;用户加入此类型群的唯一方式是主动申请加群。
- 如果指定群组类型为非直播群:
- 请求时如果没有指定群主也没有设置群成员列表,那么创建群数量没有限制。
- 请求时如果指定了群主或者设置了群成员列表,那么指定的群主或者群成员,会自动加入到该群中。
- App 中同时存在的所有群组类型群数量加和超过10万,需要支付一定费用。详情请参考 价格说明。
- 因为用户帐号可以同时加入的群组数量是有限制,用户已加入群数量达到上限时会造成加群/建群失败,详情请参考 价格说明。
请求 URL 示例
https://console.tim.qq.com/v4/group_open_http_svc/create_group?sdkappid=88888888&identifier=admin&usersig=xxx&random=99999999&contenttype=json
请求参数说明
下表仅列出调用本接口时涉及修改的参数及其说明,更多参数详情请参考 REST API 简介。
参数 | 说明 |
---|---|
v4/group_open_http_svc/create_group | 请求接口 |
sdkappid | 创建应用时即时通信 IM 控制台分配的 SDKAppID |
identifier | 必须为 App 管理员帐号,更多详情请参见 App 管理员 |
usersig | App 管理员帐号生成的签名,具体操作请参见 生成 UserSig |
random | 请输入随机的32位无符号整数,取值范围0 - 4294967295 |
最高调用频率
200次/秒。
请求包示例
基础形式
创建群,Owner_Account 字段是选填的,如果不填则群没有群主。{ "Owner_Account": "leckie", // 群主的 UserId(选填) "Type": "Public", // 群组类型:Private/Public/ChatRoom/AVChatRoom "Name": "TestGroup" // 群名称(必填) }
仅包含群基础信息
创建群,并指定群简介、群公告等群基础信息。{ "Owner_Account": "leckie", // 群主的 UserId(选填) "Type": "Public", // 群组类型:Private/Public/ChatRoom/AVChatRoom "Name": "TestGroup", // 群名称(必填) "Introduction": "This is group Introduction", // 群简介(选填) "Notification": "This is group Notification", // 群公告(选填) "FaceUrl": "http://this.is.face.url", // 群头像 URL(选填) "MaxMemberCount": 500, // 最大群成员数量(选填) "ApplyJoinOption": "FreeAccess" // 申请加群处理方式(选填) }
仅包含群成员信息
创建群,并指定初始化群成员列表,群成员列表在请求包说明表中有描述。{ "Name": "TestGroup", // 群名称(必填) "Type": "Public", // 群组类型:Private/Public/ChatRoom(不支持AVChatRoom)(必填) "MemberList": [ // 初始群成员列表,最多500个(选填) { "Member_Account": "bob", // 成员(必填) "Role": "Admin" // 赋予该成员的身份,目前备选项只有 Admin(选填) }, { "Member_Account": "peter" } ] }
自定义群组 ID
为了使得群组 ID 更加简单,腾讯云支持 App 在通过 REST API 创建群组时自定义群组 ID。{ "Owner_Account": "leckie", // 群主的 UserId(选填) "Type": "Public", // 群组类型:Private/Public/ChatRoom/AVChatRoom(必填) "GroupId": "MyFirstGroup", // 用户自定义群组 ID(选填) "Name": "TestGroup" // 群名称(必填) }
仅包含群维度自定义信息
创建群,并指定群维度的自定义字段。AppDefineData 默认是没有的,可以通过 即时通信 IM 控制台 进行配置,详见请求包字段说明表。{ "Name": "TestGroup", // 群名称(必填) "Type": "Public", // 群组类型:Private/Public/ChatRoom/AVChatRoom(必填) "AppDefinedData": [ // 群组维度的自定义字段(选填) { "Key": "GroupTestData1", // App 自定义的字段 Key "Value": "xxxxx" // 自定义字段的值 }, { "Key": " GroupTestData2", "Value": "abc\u0000\u0001" // 自定义字段支持二进制数据 } ] }
仅包含群成员维度自定义信息
创建群,并指定群成员维度的自定义字段。AppMemberDefinedData 默认是没有的,可以通过 即时通信 IM 控制台 进行配置后使用,详见 请求包字段说明表。{ "Owner_Account": "leckie", // 群主的 UserId(选填) "Type": "Public", // 群组类型:Private/Public/ChatRoom(不支持AVChatRoom)(必填) "Name": "TestGroup", // 群名称(必填) "MemberList": [ { "Member_Account":"bob", "AppMemberDefinedData":[ // 群成员维度自定义字段(选填) { "Key": "MemberDefined1", // 群成员维度自定义的 Key "Value": "MemberData1" // 群成员维度自定义字段值 }, { "Key": "MemberDefined2", "Value": "MemberData2" } ] }, { "Member_Account":"peter", "AppMemberDefinedData":[ { "Key": "MemberDefined1", "Value": "MemberData1" }, { "Key": "MemberDefined2", "Value": "MemberData2" } ] } ] }
ALL IN ONE
{ "Owner_Account": "leckie", // 群主的 UserId(选填) "Type": "Public", // 群组类型:Private/Public/ChatRoom(不支持 AVChatRoom)(必填) "GroupId":"MyFirstGroup", // 用户自定义群组 ID(选填) "Name": "TestGroup", // 群名称(必填) "Introduction": "This is group Introduction", // 群简介(选填) "Notification": "This is group Notification", // 群公告(选填) "FaceUrl": "http://this.is.face.url", // 群头像 URL(选填) "MaxMemberCount": 500, // 最大群成员数量(选填) "ApplyJoinOption": "FreeAccess", // 申请加群处理方式(选填) "AppDefinedData": [ // 群组维度的自定义字段(选填) { "Key": "GroupTestData1", // App 自定义的字段 Key "Value": "xxxxx" // 自定义字段的值 }, { "Key": "GroupTestData2", "Value": "abc\u0000\u0001" // 自定义字段支持二进制数据 } ], "MemberList": [ // 初始群成员列表,最多500个(选填) { "Member_Account": "bob", // 成员(必填) "Role": "Admin", // 赋予该成员的身份,目前备选项只有 Admin(选填) "AppMemberDefinedData":[ // 群成员维度自定义字段(选填) { "Key":"MemberDefined1", // 群成员维度自定义的 Key "Value":"MemberData1" // 群成员维度自定义字段值 }, { "Key":"MemberDefined2", "Value":"MemberData2" } ] }, { "Member_Account": "peter", "AppMemberDefinedData":[ { "Key":"MemberDefined1", "Value":"MemberData1" }, { "Key":"MemberDefined2", "Value":"MemberData2" } ] } ] }
请求包字段说明
字段 | 类型 | 属性 | 说明 |
---|---|---|---|
Owner_Account | String | 选填 | 群主 ID,自动添加到群成员中。如果不填,群没有群主 |
Type | String | 必填 | 群组形态,包括 Public(陌生人社交群),Private(即 Work,好友工作群),ChatRoom(即 Meeting,会议群),AVChatRoom(直播群) |
GroupId | String | 选填 | 为了使得群组 ID 更加简单,便于记忆传播,腾讯云支持 App 在通过 REST API 创建群组时 自定义群组 ID |
Name | String | 必填 | 群名称,最长30字节,使用 UTF-8 编码,1个汉字占3个字节 |
Introduction | String | 选填 | 群简介,最长240字节,使用 UTF-8 编码,1个汉字占3个字节 |
Notification | String | 选填 | 群公告,最长300字节,使用 UTF-8 编码,1个汉字占3个字节 |
FaceUrl | String | 选填 | 群头像 URL,最长100字节 |
MaxMemberCount | Integer | 选填 | 最大群成员数量,缺省时的默认值:私有群是200,公开群是2000,聊天室是6000,音视频聊天室和在线成员广播大群无限制 |
ApplyJoinOption | String | 选填 | 申请加群处理方式。包含 FreeAccess(自由加入),NeedPermission(需要验证),DisableApply(禁止加群),不填默认为 NeedPermission(需要验证) 仅当创建支持申请加群的 群组 时,该字段有效 |
AppDefinedData | Array | 选填 | 群组维度的自定义字段,默认情况是没有的,可以通过 即时通信 IM 控制台 进行配置,详情请参阅 自定义字段 |
MemberList | Array | 选填 | 初始群成员列表,最多500个;成员信息字段详情请参阅 群成员资料 |
AppMemberDefinedData | Array | 选填 | 群成员维度的自定义字段,默认情况是没有的,可以通过 即时通信 IM 控制台 进行配置,详情请参阅 自定义字段 |
应答包体示例
- 基础形式、仅包含群基础信息、仅包含群成员信息和仅包含自定义信息
{ "ActionStatus": "OK", "ErrorInfo": "", "ErrorCode": 0, "GroupId": "@TGS#2J4SZEAEL" }
- 自定义群组 ID 和 ALL IN ONE
{ "ActionStatus": "OK", "ErrorInfo": "", "ErrorCode": 0, "GroupId": "MyFirstGroup" }
应答包字段说明
字段 | 类型 | 说明 |
---|---|---|
ActionStatus | String | 请求处理的结果,OK 表示处理成功,FAIL 表示失败 |
ErrorCode | Integer | 错误码,0表示成功,非0表示失败 |
ErrorInfo | String | 错误信息 |
GroupId | String | 创建成功之后的群 ID,由即时通信 IM 后台分配 |
错误码说明
除非发生网络错误(例如502错误),否则该接口的 HTTP 返回码均为200。真正的错误码,错误信息是通过应答包体中的 ErrorCode、ErrorInfo 来表示的。
公共错误码(60000到79999)参见 错误码 文档。
本 API 私有错误码如下:
错误码 | 含义说明 |
---|---|
10002 | 服务器内部错误,请重试 |
10003 | 请求命令字非法 |
10004 | 参数非法,请根据错误描述检查请求是否正确 |
10005 | 请求包中导入的成员数量超过300,请减少MemberList 参数中导入的成员数量 |
10006 | 创建群数量超过限额,例如累计创建在线成员广播大群(BChatRoom)超过5个,或者每日净增群组数超过配置的限额。详情请参考 群组限制差异 |
10007 | 操作权限不足,请根据错误信息检查请求参数。例如,指定的群组类型不允许拉人入群,但在请求包中填写了MemberList |
10008 | 请求非法,可能是请求中携带的签名信息验证不正确,请再次尝试或 提交工单 联系技术客服 |
10016 | App 后台通过第三方回调拒绝本次操作,请检查您的回调服务“创建群组之前回调”的返回值 |
10021 | 群组 ID 已被其他人使用,请选择其他的群组 ID |
10025 | 该群组 ID 已经由您自己使用过,请您先解散该群组或者选择其他的群组 ID |
10036 | 创建的音视频聊天室数量超过限制,请先解散部分音视频聊天室或者参考 价格说明 购买升级 |
10037 | 请求中指定了群主(Owner_Account),但该群主创建和加入的群组数量超过了限制。请该群主退出部分群组或者参考 价格说明 购买升级 |
10038 | 请求包中导入的成员数量超过了限制,请减少MemberList 参数中导入的成员数量或者参考 价格说明 购买升级 |
80001 | 文本安全打击,请检查群名称、群公告和群简介等是否有敏感词汇 |
接口调试工具
通过 REST API 在线调试工具 调试本接口。
参考
解散群组(v4/group_open_http_svc/destroy_group)
可能触发的回调
- 创建群组之前回调
- 创建群组之后回调