创建群组

最近更新时间:2024-11-01 14:31:52

我的收藏

功能说明

App 管理员可以通过该接口创建群组。以下视频将帮助您快速了解如何通过 REST API 创建群组:


接口调用说明

适用的群组类型

群组类型 ID
是否支持此 REST API
Private
支持,同新版本中的 Work(好友工作群)
Public
支持
ChatRoom
支持,同新版本中的 Meeting(临时会议群)
AVChatRoom
支持,用户(包括群主)使用 AVChatRoom(直播群)时必须操作 SDK 主动申请进群
Community(社群)
支持
即时通信 IM 内置上述群组类型,详情介绍请参见 群组系统
注意
如果指定群组类型为直播群(AVChatRoom):
创建此类型群时不能拉人入群,如果创建时指定了拉入的群成员会返回10007错误;用户加入此类型群的唯一方式是主动申请加群;如果指定了群主,群主每次使用 AVChatRoom(直播群)时都必须使用 SDK 接口执行进群操作。
如果指定群组类型为非直播群:
请求时如果没有指定群主也没有设置群成员列表,那么创建群数量没有限制。
请求时如果指定了群主或者设置了群成员列表,那么指定的群主或者群成员,会自动加入到该群中。
App 中同时存在的所有群组类型群数量加和超过10万,需要支付一定费用。详情请参考 价格说明
因为用户账号可以同时加入的群组数量是有限制,用户已加入群数量达到上限时会造成加群/建群失败,详情请参考 价格说明

请求 URL 示例

https://xxxxxx/v4/group_open_http_svc/create_group?sdkappid=88888888&identifier=admin&usersig=xxx&random=99999999&contenttype=json

请求参数说明

下表仅列出调用本接口时涉及修改的参数及其说明,更多参数详情请参考 REST API 简介
参数
说明
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/group_open_http_svc/create_group
请求接口
sdkappid
创建应用时即时通信 IM 控制台分配的 SDKAppID
identifier
必须为 App 管理员账号,更多详情请参见 App 管理员
usersig
App 管理员账号生成的签名,具体操作请参见 生成 UserSig
random
请输入随机的32位无符号整数,取值范围0 - 4294967295
contenttype
请求格式固定值为json

请求频率限制

默认接口请求频率限制:200次/秒。
注意:
超出默认发送消息条数限制需要额外付费,详细请参见 基础服务计费说明-服务端 API 调用频率叠加包

请求包示例

基础形式 创建群,Owner_Account 字段是选填的,如果需要指定群主,请确保 已经导入 群主 UserId 。不填则该群没有群主。
{
"Owner_Account": "leckie", // 群主的 UserId(选填)
"Type": "Public", // 群组类型:Private/Public/ChatRoom/AVChatRoom/Community
"Name": "TestGroup" // 群名称(必填)
}
仅包含群基础信息 创建群,并指定群简介、群公告等群基础信息。
{
"Owner_Account": "leckie", // 群主的 UserId(选填)
"Type": "Public", // 群组类型:Private/Public/ChatRoom/AVChatRoom/Community
"Name": "TestGroup", // 群名称(必填)
"Introduction": "This is group Introduction", // 群简介(选填)
"Notification": "This is group Notification", // 群公告(选填)
"FaceUrl": "http://this.is.face.url", // 群头像 URL(选填)
"MaxMemberCount": 500, // 最大群成员数量(选填)
"ApplyJoinOption": "FreeAccess", // 申请加群处理方式(选填)
"InviteJoinOption": "FreeAccess"//邀请加群处理方式(选填)
}
仅包含群成员信息 创建群,并指定初始化群成员列表,群成员列表在请求包说明表中有描述。初始化成员时仅支持设置 Member_Account 和 Role 字段。
{
"Name": "TestGroup", // 群名称(必填)
"Type": "Public", // 群组类型:Private/Public/ChatRoom/Community(不支持AVChatRoom)(必填)
"MemberList": [ // 初始群成员列表,最多100个(选填)
{
"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/Community(必填)
"GroupId": "MyFirstGroup", // 用户自定义群组 ID(选填)
"Name": "TestGroup" // 群名称(必填)
}
仅包含群维度自定义信息 创建群,并指定群维度的自定义字段。AppDefineData 默认是没有的,可以通过 即时通信 IM 控制台 进行配置,详见请求包字段说明表。
{
"Name": "TestGroup", // 群名称(必填)
"Type": "Public", // 群组类型:Private/Public/ChatRoom/AVChatRoom/Community(必填)
"AppDefinedData": [ // 群组维度的自定义字段(选填)
{
"Key": "GroupTestData1", // App 自定义的字段 Key
"Value": "xxxxx" // 自定义字段的值
},
{
"Key": " GroupTestData2",
"Value": "abc\\u0000\\u0001" // 自定义字段支持二进制数据
}
]
}
仅包含群成员维度自定义信息 创建群,并指定群成员维度的自定义字段。AppMemberDefinedData 默认是没有的,可以通过 即时通信 IM 控制台 进行配置后使用,详见 请求包字段说明表
{
"Owner_Account": "leckie", // 群主的 UserId(选填)
"Type": "Public", // 群组类型:Private/Public/ChatRoom/Community(不支持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"
}
]
}
]
}
仅包含支持话题参数形式 创建群组,并指定其类型为社群且支持话题。
{
"Type": "Community", //群组类型 (必填)
"Name": "TestCommunityGroup", //群组名称 (必填)
"SupportTopic": 1 //是否支持话题选项, 1代表支持,0代表不支持
}
ALL IN ONE
{
"Owner_Account": "leckie", // 群主的 UserId(选填)
"Type": "Public", // 群组类型:Private/Public/ChatRoom/Community(不支持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": [ // 初始群成员列表,最多100个(选填)
{
"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(需是 已导入 的账号)。填写后自动添加到群成员中;如果不填,群没有群主;成员使用 AVChatRoom(直播群)时,必须每次调用进群操作
Type
String
必填
群组形态,包括 Public(陌生人社交群),Private(即 Work,好友工作群),ChatRoom(即 Meeting,会议群),AVChatRoom(直播群),Community(社群)
GroupId
String
选填
为了使得群组 ID 更加简单,便于记忆传播,腾讯云支持 App 在通过 REST API 创建群组时 自定义群组 ID
Name
String
必填
群名称,最长100字节,使用 UTF-8 编码,1个汉字占3个字节
Introduction
String
选填
群简介,最长400字节,使用 UTF-8 编码,1个汉字占3个字节
Notification
String
选填
群公告,最长400字节,使用 UTF-8 编码,1个汉字占3个字节
FaceUrl
String
选填
群头像 URL,最长500字节
MaxMemberCount
Integer
选填
最大群成员数量,缺省时的默认值:付费套餐包上限,例如体验版是20,如果升级套餐包,需按照修改群基础资料修改这个字段
ApplyJoinOption
String
选填
申请加群处理方式。包含 FreeAccess(自由加入),NeedPermission(需要验证),DisableApply(禁止加群),如果不填,具体默认项可参见 加群方式差异
仅当创建支持申请加群的 群组 时,该字段有效。
InviteJoinOption
String
选填
邀请加群处理方式,包含 FreeAccess (直接邀请用户进群,不需要审批等操作), NeedPermission 需要群管理员或者群主审批, DisableInvite 不支持 SDK 邀请进群, 该选项 AVChatRoom 群类型不支持
AppDefinedData
Array
选填
群组维度的自定义字段,默认情况是没有的,可以通过 即时通信 IM 控制台 进行配置,详情请参阅 自定义字段
MemberList
Array
选填
初始群成员列表,最多100个;成员信息字段详情请参阅 群成员资料
AppMemberDefinedData
Array
选填
群成员维度的自定义字段,默认情况是没有的,可以通过 即时通信 IM 控制台 进行配置,详情请参阅 自定义字段
SupportTopic
Integer
选填
是否支持话题选项,此字段只针对社群有效
EnablePermission
Integer
选填
仅支持话题的社群可以设置该字段 是否启用权限组作为权限判断依据
0:不启用
1:启用
DefaultPermission
Integer
选填
仅启用权限组作为权限判断依据的群可以设置该字段
群成员在该群中的默认权限

应答包体示例

基础形式、仅包含群基础信息、仅包含群成员信息和仅包含自定义信息:
{
"ActionStatus": "OK",
"ErrorInfo": "",
"ErrorCode": 0,
"GroupId": "@TGS#2J4SZEAEL"
}
仅包含支持话题参数形式:
{
"ActionStatus": "OK",
"ErrorInfo": "",
"ErrorCode": 0,
"GroupId": "@TGS#_@TGS#cRDH3HIM62CP",
"HugeGroupFlag": 0,
"Type": "Community"
}
自定义群组 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
请求包中导入的成员数量超过100,请减少MemberList参数中导入的成员数量
10006
操作频率限制,请尝试降低调用的频率。常见于单日净增群量过多,获取 App 中所有群组操作过于频繁
10007
操作权限不足,请根据错误信息检查请求参数。例如,指定的群组类型不允许拉人入群,但在请求包中填写了MemberList
10008
请求非法,可能是请求中携带的签名信息验证不正确,请再次尝试或 提交工单 联系技术客服
10016
App 后台通过第三方回调拒绝本次操作,请检查您的回调服务“创建群组之前回调”的返回值
10021
群组 ID 已被其他人使用,请选择其他的群组 ID
10025
该群组 ID 已经由您自己使用过,请您先解散该群组或者选择其他的群组 ID
10036
创建的音视频聊天室数量超过限制,请先解散部分音视频聊天室或者参考 价格说明 购买升级
10037
请求中指定了群主(Owner_Account),但该群主创建和加入的群组数量超过了限制。请该群主退出部分群组或者参考 价格说明 购买升级
10038
请求包中导入的成员数量超过了限制,请减少MemberList参数中导入的成员数量或者参考 价格说明 购买升级
10058
表示体验版超过100个群的限制,需要购买套餐包提升建群数量限制。

接口调试工具

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

参考

可能触发的回调