tencent cloud

文档反馈

创建群组

最后更新时间:2023-03-20 14:28:50

    功能说明

    App 管理员可以通过该接口创建群组。

    接口调用说明

    适用的群组类型

    群组类型 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
  • 孟买:adminapiind.im.qcloud.com
  • 硅谷:adminapiusa.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次/秒。

    请求包示例

    • 基础形式
      创建群,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"  // 申请加群处理方式(选填)
      }
      
    • 仅包含群成员信息
      创建群,并指定初始化群成员列表,群成员列表在请求包说明表中有描述。初始化成员时仅支持设置 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 必填 群名称,最长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 选填 最大群成员数量,缺省时的默认值:付费套餐包上限,例如体验版是20,如果升级套餐包,需按照修改群基础资料修改这个字段
    ApplyJoinOption String 选填 申请加群处理方式。包含 FreeAccess(自由加入),NeedPermission(需要验证),DisableApply(禁止加群),不填默认为 NeedPermission(需要验证)
    仅当创建支持申请加群的 群组 时,该字段有效。社群目前不支持此字段
    AppDefinedData Array 选填 群组维度的自定义字段,默认情况是没有的,可以通过 即时通信 IM 控制台 进行配置,详情请参阅 自定义字段
    MemberList Array 选填 初始群成员列表,最多100个;成员信息字段详情请参阅 群成员资料
    AppMemberDefinedData Array 选填 群成员维度的自定义字段,默认情况是没有的,可以通过 即时通信 IM 控制台 进行配置,详情请参阅 自定义字段
    SupportTopic 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 在线调试工具 调试本接口。

    参考

    解散群组(v4/group_open_http_svc/destroy_group

    可能触发的回调

    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持