常规集成(无 UI 库)

服务端 API

创建群组

最近更新时间:2020-10-20 14:49:21

功能说明

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 默认是没有的,需要开通,详见请求包字段说明表。

    {
      "Name": "TestGroup", // 群名称(必填)
      "Type": "Public", // 群组类型:Private/Public/ChatRoom/AVChatRoom(必填)
      "AppDefinedData": [ // 群组维度的自定义字段(选填)
          {
              "Key": "GroupTestData1", // App 自定义的字段 Key
              "Value": "xxxxx" // 自定义字段的值
          },
          {
              "Key": " GroupTestData2",
              "Value": "abc\u0000\u0001" // 自定义字段支持二进制数据
          }
      ]
    }
  • 仅包含群成员维度自定义信息
    创建群,并指定群成员维度的自定义字段。AppMemberDefinedData 默认是没有的,需要开通后才能使用,详见 请求包字段说明表

    {
      "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 选填 群组维度的自定义字段,默认情况是没有的,需要开通,详情请参阅 自定义字段
MemberList Array 选填 初始群成员列表,最多500个;成员信息字段详情请参阅 群成员资料
AppMemberDefinedData Array 选填 群成员维度的自定义字段,默认情况是没有的,需要开通,详情请参阅 自定义字段

应答包体示例

  • 基础形式、仅包含群基础信息、仅包含群成员信息和仅包含自定义信息
    {
      "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

可能触发的回调

目录