群组管理

大约 25 分钟

群组管理

环信即时通讯 IM 提供了 RESTful API 管理 App 中的群组,包括创建、修改、获取、解散群组等操作。

前提条件

要调用环信即时通讯 RESTful API,请确保满足以下要求:

公共参数

请求参数

参数类型是否必需描述
hostString环信即时通讯 IM 分配的用于访问 RESTful API 的域名。详见 获取环信即时通讯 IM 的信息
org_nameString环信即时通讯 IM 为每个公司(组织)分配的唯一标识。详见 获取环信即时通讯 IM 的信息
app_nameString你在环信即时通讯云控制台创建应用时填入的应用名称。详见 获取环信即时通讯 IM 的信息
group_idString群组 ID。
usernameString用户 ID。

响应参数

参数类型描述
actionString请求方法。
organizationString环信即时通讯 IM 为每个公司(组织)分配的唯一标识,与请求参数 org_name 相同。
applicationString应用在系统内的唯一标识。该标识由系统生成,开发者无需关心。
applicationNameString你在环信即时通讯云控制台创建应用时填入的应用名称,与请求参数 app_name 相同。
uriString请求 URL。
pathString请求路径,属于请求 URL 的一部分,开发者无需关注。
entitiesJSON响应实体。
dataJSON实际获取的数据详情。
uuidString用户在系统内的唯一标识。该标识由系统生成,开发者无需关心。
createdLong群组创建时间,Unix 时间戳,单位为毫秒。
timestampLongUnix 时间戳,单位为毫秒。
durationInt从发送请求到响应的时长,单位为毫秒。
propertiesString响应属性。

认证方式

环信即时通讯 RESTful API 要求 Bearer HTTP 认证。每次发送 HTTP 请求时,都必须在请求头部填入如下 Authorization 字段:

Authorization: Bearer YourAppToken

为提高项目的安全性,环信使用 Token(动态密钥)对即将登录即时通讯系统的用户进行鉴权。即时通讯 RESTful API 推荐使用 app token 的鉴权方式,详见 使用 App Token 鉴权

创建群组

创建一个群组,并设置群组名称、群组描述、公开群/私有群属性、群成员最大人数(包括群主)、加入公开群是否需要批准、群主、群成员和群组扩展信息。

HTTP 请求

POST https://{host}/{org_name}/{app_name}/chatgroups
路径参数

参数及描述详见 公共参数

请求 header
参数类型是否必需描述
Content-TypeString内容类型。请填 application/json
AcceptString内容类型。请填 application/json
AuthorizationStringApp 管理员的鉴权 token,格式为 Bearer YourAppToken,其中 Bearer 为固定字符,后面为英文空格和获取到的 app token。
请求 body
参数类型是否必需描述
groupnameString群组名称,最大长度为 128 字符。
avatarString群组头像的 URL,最大长度为 1024 字符。
descriptionString群组描述,最大长度为 512 字符。
publicBool是否是公开群。公开群可以被搜索到,用户可以申请加入公开群;私有群无法被搜索到,因此需要群主或群管理员添加,用户才可以加入。
- true:公开群;
- false:私有群。
maxusersInt群组最大成员数(包括群主)。该参数的默认值为 200,若设置的值超过 3000,将不再支持离线推送。对于超过 3000 人的群组,若希望提供离线推送功能,你必须在创建群组之前联系商务开通,否则群组创建后无法再开通该功能。
不同套餐的群组支持的最大人数的上限不同,详见 产品价格
allowinvitesBool是否允许普通群成员邀请用户加入群组:
- true:普通群成员可拉人入群;
- (默认)false:只有群主和群管理员才能拉人入群。

提示


创建群组时,该参数仅对私有群有效,对公开群无效。也就是说,创建公有群(public 设置为 true)时,即使将 allowinvites 设置为 true,该设置也会自动修改为 false。如果要允许公开群的普通成员拉人入群,你在创建群后可调用修改群组信息接口将 allowinvites 的设置修改为 true

membersonlyBool用户申请入群是否需要群主或者群管理员审批。
- true:需要;
- (默认)false:不需要,用户直接进群。
该参数仅对公开群生效,因为对于私有群,用户无法申请加入群组,只能通过群成员邀请加入群。
invite_need_confirmBool邀请用户入群时是否需要被邀用户同意。
- (默认)true:是;
- false:否。
ownerString群主的用户 ID。
membersArray群成员的用户 ID 数组,不包含群主的用户 ID。该数组可包含的元素数量不超过 maxusers 的值。
customString群组扩展信息,例如可以给群组添加业务相关的标记,不要超过 8 KB。

HTTP 响应

响应 body

如果返回的 HTTP 状态码为 200,表示请求成功,响应包体中包含以下字段:

字段类型描述
data.groupidString群组 ID。

其他字段及描述详见 公共参数

如果返回的 HTTP 状态码非 200,表示请求失败。你可以参考 错误码 了解可能的原因。

示例

请求示例
# 将 <YourAppToken> 替换为你在服务端生成的 App Token

curl -X POST -H 'Content-Type: application/json' -H 'Accept: application/json' -H 'Authorization: Bearer <YourAppToken>' -d '{
   "groupname": "testgroup",
   "avatar": "https://www.XXXX.com/XXX/image",
   "description": "test",
   "public": true,
   "maxusers": 300,
   "owner": "testuser",
   "members": [
     "user2"
   ]
 }' 'https://XXXX/XXXX/XXXX/chatgroups'
响应示例
{
  "action": "post",
  "application": "8bXXXX02",
  "uri": "https://XXXX/XXXX/XXXX/chatgroups",
  "entities": [],
  "data": {
    "groupid": "6XXXX7"
  },
  "timestamp": 1542361730243,
  "duration": 0,
  "organization": "XXXX",
  "applicationName": "testapp"
}

错误码

如果返回的 HTTP 状态码非 200,表示请求失败,可能提示以下错误码:

HTTP 状态码错误类型错误提示可能原因处理建议
400invalid_parameterXX must be providedXX 字段没有设置。请传入必传字段。
400invalid_parameteravatar length is too big头像字段长度达到上限修改头像字段在长度限制下。
400invalid_parametergroup must contain public field!创建群组必须设置 public 字段设置 public 字段。
400illegal_argumentgroup ID XX already exists!groupId 重复。使用新的群组 ID。
401unauthorizedUnable to authenticate (OAuth)token 不合法,可能过期或 token 错误。使用新的 token 访问。
403exceed_limitappKey:XX#XX has create too many groups!appKey 的群组数量达到上限。删除不用的群组或联系商务调整上限。关于该上限,详见相关文档
403exceed_limituser XX has joined too many groups!用户加入的群组数量达到上限。退出不用的群组或联系商务调整上限。关于该上限,详见相关文档
403exceed_limitmembers size is greater than max user size !创建群时加入的人数超过最大限制。调整创建群的加群人数。关于该上限,详见相关文档
403group_name_violationXX is violation, please change it.群组名称不合法。使用合法的群组名称。
404resource_not_foundusername XXXX doesn't exist!创建群组时添加的用户不存在。

关于其他错误,你可以参考 响应状态码 了解可能的原因。

封禁群组

封禁指定的群组。例如,群成员经常在群中发送违规消息,可以调用该 API 对该群进行封禁。群组被封禁后,群中任何成员均无法在群组以及该群组下的子区中发送和接收消息,也无法进行群组和子区管理操作。

群组封禁后,可调用解禁群组 API 对该群组解禁。

HTTP 请求

POST https://{host}/{org_name}/{app_name}/chatgroups/{group_id}/disable
路径参数

参数及描述详见 公共参数

请求 header
参数类型是否必需描述
Content-TypeString内容类型。请填 application/json
AcceptString内容类型。请填 application/json
AuthorizationStringApp 管理员的鉴权 token,格式为 Bearer YourAppToken,其中 Bearer 为固定字符,后面为英文空格和获取到的 app token。

HTTP 响应

响应 body

如果返回的 HTTP 状态码为 200,表示请求成功,响应包体中包含以下字段:

字段类型描述
data.disabledBool群组是否为禁用状态:
- true:群组被禁用;
- false:群组为启用状态。

其他字段及描述详见 公共参数

如果返回的 HTTP 状态码非 200,表示请求失败。你可以参考 错误码 了解可能的原因。

示例

请求示例
# 将 <YourAppToken> 替换为你在服务端生成的 App Token

curl -X POST -H 'Content-Type: application/json' -H 'Accept: application/json' -H 'Authorization: Bearer <YourAppToken>' 'https://XXXX/XXXX/XXXX/chatgroups/XXXX/disable'
响应示例
{
  "action": "post",
  "application": "XXXX",
  "applicationName": "XXXX",
  "data": {
    "disabled": true
  },
  "duration": 740,
  "entities": [],
  "organization": "XXXX",
  "properties": {},
  "timestamp": 1672974260359,
  "uri": "https://XXXX/XXXX/XXXX/chatgroups/XXXX/disable"
}

错误码

如果返回的 HTTP 状态码非 200,表示请求失败,可能提示以下错误码:

HTTP 状态码错误类型错误提示可能原因处理建议
401unauthorizedUnable to authenticate (OAuth)token 不合法,可能过期或 token 错误。使用新的 token 访问。
404resource_not_foundgrpID XX does not exist!群组不存在。使用合法的群 ID。

关于其他错误,你可以参考 响应状态码 了解可能的原因。

解禁群组

解除对指定群组的封禁。群组解禁后,群成员可以在该群组以及该群组下的子区中发送和接收消息并进行群组和子区管理相关操作。

HTTP 请求

POST https://{host}/{org_name}/{app_name}/chatgroups/{group_id}/enable
路径参数

参数及描述详见 公共参数

请求 header
参数类型是否必需描述
Content-TypeString内容类型。请填 application/json
AcceptString内容类型。请填 application/json
AuthorizationStringApp 管理员的鉴权 token,格式为 Bearer YourAppToken,其中 Bearer 为固定字符,后面为英文空格和获取到的 app token。

HTTP 响应

响应 body

如果返回的 HTTP 状态码为 200,表示请求成功,响应包体中包含以下字段:

字段类型描述
data.disabledBool群组是否为禁用状态:
- true:群组被禁用;
- false:群组为启用状态。

其他字段及描述详见 公共参数

如果返回的 HTTP 状态码非 200,表示请求失败。你可以参考 错误码 了解可能的原因。

示例

请求示例
# 将 <YourAppToken> 替换为你在服务端生成的 App Token

curl -X POST -H 'Content-Type: application/json' -H 'Accept: application/json' -H 'Authorization: Bearer <YourAppToken>' 'https://XXXX/XXXX/XXXX/chatgroups/XXXX/enable'
响应示例
{
  "action": "post",
  "application": "XXXX",
  "applicationName": "XXXX",
  "data": {
    "disabled": false
  },
  "duration": 22,
  "entities": [],
  "organization": "XXXX",
  "properties": {},
  "timestamp": 1672974668171,
  "uri": "https://XXXX/XXXX/XXXX/chatgroups/XXXX/enable"
}

错误码

如果返回的 HTTP 状态码非 200,表示请求失败,可能提示以下错误码:

HTTP 状态码错误类型错误提示可能原因处理建议
401unauthorizedUnable to authenticate (OAuth)token 不合法,可能过期或 token 错误。使用新的 token 访问。
404resource_not_foundgrpID XX does not exist!群组不存在。使用合法的群 ID。

关于其他错误,你可以参考 响应状态码 了解可能的原因。

修改群组信息

修改指定的群组信息,可修改 groupnameavatardescriptionmaxusersmembersonlyallowinvitesinvite_need_confirmpubliccustom 属性。如果传入其他字段,或传入的字段不存在,则不能修改的字段会抛出异常。

HTTP 请求

PUT https://{host}/{org_name}/{app_name}/chatgroups/{group_id}
路径参数

参数及描述详见 公共参数

请求 header
参数类型是否必需描述
Content-TypeString内容类型。请填 application/json
AcceptString内容类型。请填 application/json
AuthorizationStringApp 管理员的鉴权 token,格式为 Bearer YourAppToken,其中 Bearer 为固定字符,后面为英文空格和获取到的 app token。
请求 body
参数类型是否必需描述
groupnameString群组名称,最大长度为 128 字符。
avatarString群组头像的 URL,最大长度为 1024 字符。
descriptionString群组描述,最大长度为 512 字符。
maxusersInt群组最大成员数(包括群主)。对于普通群,该参数的默认值为 200,大型群为 1000。不同套餐支持的人数上限不同,详见 产品价格
membersonlyBool加入群组是否需要群主或者群管理员审批:
- true:是;
- false:否。
allowinvitesBool是否允许群成员邀请别人加入此群:
- true:允许群成员邀请人加入此群;
- false:只有群主或群管理员才可以邀请用户入群。
invite_need_confirmBool受邀人加入群组前是否需接受入群邀请:
- true:需受邀人确认入群邀请;
- false:受邀人直接加入群组,无需确认入群邀请。
customString群组扩展信息,例如可以给群组添加业务相关的标记,不要超过 1,024 字符。
publicBool是否是公开群。
- true:公开群;
- false:私有群。

HTTP 响应

响应 body

如果返回的 HTTP 状态码为 200,表示请求成功,响应包体中包含以下字段:

字段类型描述
data.descriptionBool群组描述是否修改成功:
- true:修改成功;
- false:修改失败。
data.maxusersBool群组最大成员数是否修改成功:
- true:修改成功;
- false:修改失败。
data.groupnameBool群组名称是否修改成功:
- true:修改成功;
- false:修改失败。
data.avatarBool群组头像否修改成功:
- true:修改成功;
- false:修改失败。
data.membersonlyBool“加入群组是否需要群主或者群管理员审批”是否修改成功:
- true:修改成功;
- false:修改失败。
data.publicBool“是否是公开群”是否修改成功:
- true:修改成功;
- false:修改失败。
data.allowinvitesBool“是否允许群成员邀请其他用户入群”是否修改成功:
-true:修改成功;
- false:修改失败。
data.invite_need_confirmBool“受邀人加入群组前是否需接受入群邀请”是否修改成功:
- true:修改成功;
- false:修改失败。
data.customBool群组扩展信息是否修改成功:
-true:修改成功;
- false:修改失败。

如果返回的 HTTP 状态码非 200,表示请求失败。你可以参考 错误码 了解可能的原因。

示例

请求示例
# 将 <YourAppToken> 替换为你在服务端生成的 App Token

curl -X PUT -H 'Accept: application/json' -H 'Authorization: Bearer <YourAppToken>' 'https://XXXX/XXXX/XXXX/chatgroups/6XXXX7' -d '{
    "groupname": "test groupname",
    "avatar": "https://www.XXXX.com/XXX/image",
    "description": "updategroupinfo12311",
    "maxusers": 1500,
    "membersonly": true,
    "allowinvites": false,
    "invite_need_confirm": true,
    "custom":"abc",
    "public": true
}'
响应示例
{
  "action": "put",
  "application": "XXXXXX",
  "applicationName": "XXXX",
  "data": {
    "allowinvites": true,
    "invite_need_confirm": true,
    "membersonly": true,
    "public": true,
    "custom": true,
    "description": true,
    "maxusers": true,
    "groupname": true,
    "avatar": true
  },
  "duration": 0,
  "entities": [],
  "organization": "XXXX",
  "properties": {},
  "timestamp": 1666062065529,
  "uri": "https://XXXX/XXXX/XXXX/chatgroups/6XXXX7"
}

错误码

如果返回的 HTTP 状态码非 200,表示请求失败,可能提示以下错误码:

HTTP 状态码错误类型错误提示可能原因处理建议
401unauthorizedUnable to authenticate (OAuth)token 不合法,可能过期或 token 错误。使用新的 token 访问。
403group_name_violationXX is violation, please change it.群组名称不合法。使用合法的群组名称。
403group_announce_violationgroup announcement is violation, please change it.群公告不合法。使用合法的群公告。
404resource_not_foundgrpID XX does not exist!群组不存在。使用合法的群 ID。
400invalid_parameter"some of [groupid] are not valid fields"修改的群组信息时,传入的参数不支持,例如修改 groupid

关于其他错误,你可以参考 响应状态码 了解可能的原因。

获取 App 中的群组

分页获取应用下的群组的信息。

HTTP 请求

GET https://{host}/{org_name}/{app_name}/chatgroups?limit={N}&cursor={cursor}
路径参数

参数及描述详见 公共参数

查询参数
参数类型是否必需描述
limitInt每次期望返回的群组数量。取值范围为 [1,1000],默认值为 10。若传入的值超过 1000,每页仍返回 1000 个群组。
cursorString数据查询的起始位置。首次调用该接口,不传 cursor,服务器按群组创建时间倒序返回 limit 指定的群组数量。后续接口调用时,需要从上次调用的响应中获取 cursor 参数的值传入请求中的该参数。

提示

若请求中均未设置 limitcursor 参数,环信服务器按群组创建时间倒序返回前 10 个群组。

请求 header
参数类型是否必需描述
AcceptString内容类型。请填 application/json
AuthorizationStringApp 管理员的鉴权 token,格式为 Bearer YourAppToken,其中 Bearer 为固定字符,后面为英文空格和获取到的 app token。

HTTP 响应

响应 body

如果返回的 HTTP 状态码为 200,表示请求成功,响应包体中包含以下字段:

字段类型描述
dataJSON Array响应数据。
- ownerString群主的用户 ID。例如:{“owner”: “user1}。
- groupidString群组 ID。
- affiliationsint群组现有成员数。
- typeString“group” 群组类型。
- lastModifiedString最近一次修改的时间戳,单位为毫秒。
- groupnameString群组名称。
countInt实际获取的群组数量。
cursorString查询游标,指定下次查询的起始位置。

其他字段及描述详见 公共参数

如果返回的 HTTP 状态码非 200,表示请求失败。你可以参考 响应状态码 了解可能的原因。

请求示例

第一页

# 将 <YourAppToken> 替换为你在服务端生成的 App Token

curl -X GET -H 'Accept: application/json' -H 'Authorization: Bearer <YourAppToken>' 'https://XXXX/XXXX/XXXX/chatgroups?limit=2'

第二页

# 将 <YourAppToken> 替换为你在服务端生成的 App Token

curl -X GET -H 'Accept: application/json' -H 'Authorization: Bearer <YourAppToken>' 'https://XXXX/XXXX/XXXX/chatgroups?limit=2&cursor=ZGNXXXX6Mg'
响应示例
{
  "action": "get",
  "params": {
    "limit": ["2"]
  },
  "uri": "https://XXXX/XXXX/XXXX/chatgroups",
  "entities": [],
  "data": [
    {
      "owner": "XXXX#testapp_user1",
      "groupid": "10XXXX60",
      "affiliations": 2,
      "type": "group",
      "lastModified": "1441021038124",
      "groupname": "testgroup1"
    },
    {
      "owner": "XXXX#testapp_user2",
      "groupid": "10XXXX76",
      "affiliations": 1,
      "type": "group",
      "lastModified": "1441074471486",
      "groupname": "testgroup2"
    }
  ],
  "timestamp": 1441094193812,
  "duration": 14,
  "cursor": "Y2hhdGdyb3VwczplYXNlbW9iLWRlbW8vY2hhdGRlbW91aV8z",
  "count": 2
}

错误码

如果返回的 HTTP 状态码非 200,表示请求失败,可能提示以下错误码:

HTTP 状态码错误类型错误提示可能原因处理建议
401unauthorizedUnable to authenticate (OAuth)token 不合法,可能过期或 token 错误。使用新的 token 访问。
404resource_not_foundgrpID XX does not exist!群组不存在。使用合法的群 ID。

关于其他错误,你可以参考 响应状态码 了解可能的原因。

获取单个用户加入的所有群组

根据用户 ID 分页获取指定用户加入的所有群组。

HTTP 请求

GET https://{host}/{org_name}/{app_name}/chatgroups/user/{username}?pagesize={}&pagenum={}
路径参数

参数及描述详见 公共参数

查询参数
参数类型是否必需描述
pagesizeString每页获取的群组数量。取值范围为 [1,20],默认值为 5。若传入的值大于 20,每页仍返回 20 个群组。
pagenumString当前页码。默认从第 0 页开始获取。
请求 header
参数类型是否必需描述
AcceptString内容类型,请填 application/json
AuthorizationStringApp 管理员的鉴权 token,格式为 Bearer YourAppToken,其中 Bearer 为固定字符,后面为英文空格和获取到的 app token。

HTTP 响应

响应 body

如果返回的 HTTP 状态码为 200,表示请求成功,响应包体中包含以下字段:

参数类型描述
totalInt用户加入的群组总数。
entitiesJSON Array用户加入的群组列表。
- groupId String群组 ID。
- nameString群组名称。
- avatarString群组头像的 URL。
- ownerString群主的用户 ID。
- descriptionString群组描述。
- disabledBool群组是否被禁用:
- true:禁用。禁用后不能对群组进行任何修改。
- false:未禁用。
- publicBool是否是公开群:
- true:公开群。公开群可以被搜索到,用户可以申请加入公开群。
- false:私有群。私有群无法被搜索到,需要群主或群管理员邀请,用户才可以加入。
- allowinvitesBool是否允许普通群成员邀请用户加入群组:
- true:普通群成员可拉人入群;
- false:只有群主或者管理员才可以拉人入群。
- membersonlyBool用户申请入群是否需要群主或者群管理员审批。
- true:需要;
- false:不需要,用户直接进群。
- maxusersInt群组最大成员数(包括群主)。
- created Long群组创建时间戳。

其他参数及说明详见 公共参数

如果返回的 HTTP 状态码非 200,表示请求失败。你可以参考 错误码 了解可能的原因。

示例

请求示例
# 将 <YourAppToken> 替换为你在服务端生成的 App Token
curl -L -X GET 'http://XXXX/XXXX/XXXX/chatgroups/user/XXXX' \
-H 'Authorization: Bearer  <YourAppToken>'
响应示例
{
  "action": "get",
  "applicationName": "XXXX",
  "duration": 0,
  "entities": [
    {
      "name": "群组名称",
      "avatar": "https://www.XXXX.com/XXX/image",
      "owner": "群组管理员",
      "id": "2XXXX1",
      "groupId": "2XXXX1",
      "description": "群组描述",
      "disabled": false,
      "public": false,
      "allowinvites": false,
      "membersonly": true,
      "maxusers": 2000,
      "created": 1692687427254
    }
  ],
  "organization": "XXXX",
  "timestamp": 1692687427254,
  "total": 10,
  "uri": "http://XXXX/XXXX/XXXX/chatgroups/user/XXXX"
}

错误码

如果返回的 HTTP 状态码非 200,表示请求失败,可能提示以下错误码:

HTTP 状态码错误类型错误提示可能原因处理建议
401unauthorizedUnable to authenticate (OAuth)token 不合法,可能过期或 token 错误。使用新的 token 访问。

关于其他错误,你可以参考 响应状态码 了解可能的原因。

查看指定用户是否已加入群组

查看单个用户是否已加入了指定的群组。

HTTP 请求

GET https://{host}/{org_name}/{app_name}/chatgroups/{group_id}/user/{username}/is_joined
路径参数

参数及描述详见 公共参数

请求 header
参数类型是否必需描述
AcceptString内容类型。请填 application/json
AuthorizationStringApp 管理员的鉴权 token,格式为 Bearer YourAppToken,其中 Bearer 为固定字符,后面为英文空格和获取到的 app token。

HTTP 响应

响应 body

如果返回的 HTTP 状态码为 200,表示请求成功,响应包体中包含以下字段:

字段类型描述
dataBoolean该用户是否已加入群组:
- true:用户已加入该群组;
- false:用户未加入该群组。

其他字段及描述详见 公共参数

如果返回的 HTTP 状态码非 200,表示请求失败。你可以参考 错误码 了解可能的原因。

示例

请求示例
# 将 <YourAppToken> 替换为你在服务端生成的 App Token

curl -X GET -H 'Accept: application/json' -H 'Authorization: Bearer <YourAppToken>' 'https://XXXX/XXXX/XXXX/chatgroups/XXXX/user/XXXX/is_joined'
响应示例
{
    "action": "get",
    "application": "8bXXXX02",
    "data": false,
    "duration": 0,
    "organization": "XXXX",
    "timestamp": 1691547476492
}

错误码

如果返回的 HTTP 状态码非 200,表示请求失败,可能提示以下错误码:

HTTP 状态码错误类型错误提示可能原因处理建议
401unauthorizedUnable to authenticate (OAuth)token 不合法,可能过期或 token 错误。使用新的 token 访问。

关于其他错误,你可以参考 响应状态码 了解可能的原因。

获取群组详情

可以获取一个或多个群组的详情,最多可获取 100 个群组的详情,每个群组最多可返回 10,000 个群成员(包括群主)。

当获取多个群组的详情时,返回所有存在的群组的详情;对于不存在的群组,返回 “group id doesn’t exist”。

HTTP 请求

GET https://{host}/{org_name}/{app_name}/chatgroups/{group_id}
路径参数
参数类型是否必需描述
group_idString要获取详情的群组 ID。最多可传 100 个群组 ID,群组 ID 之间用英文逗号(",")分隔。

其他参数及描述详见 公共参数

请求 header
参数类型是否必需描述
AcceptString内容类型。请填 application/json
AuthorizationStringApp 管理员的鉴权 token,格式为 Bearer YourAppToken,其中 Bearer 为固定字符,后面为英文空格和获取到的 app token。

HTTP 响应

响应 body

如果返回的 HTTP 状态码为 200,表示请求成功,响应包体中包含以下字段:

字段类型描述
countInt获取详情的群组数量。
dataJSON Array响应数据。
- idString群组 ID,群组唯一标识符。
- nameString群组名称。
- avatarString群组头像的 URL。
- descriptionString群组描述。
- membersonlyBool加入群组是否需要群主或者群管理员审批。
- true:是;
- false:否。
- allowinvitesBool是否允许群成员邀请其他用户加入此群。
- true:允许群成员邀请其他用户加入此群;
- false:只有群主可以邀请其他用户入群。
注:该参数仅对私有群有效,因为公开群不允许群成员邀请其他用户入群。
- maxusersInt群组最大成员数,创建群组的时候设置,可修改。
- affiliationsArray群组成员列表及其对应角色:
- owner:群主;
- member:群组管理员和普通成员。
- ownerString群主的用户 ID。例如:{“owner”: “user1”}。
- createdLong创建该群组的 Unix 时间戳。
- affiliations_countint群组现有成员总数。
- disabledBool群组是否为禁用状态:
- true:群组被禁用;
- false:群组为启用状态。
- muteBool是否处于全员禁言状态。
- true:是;
- (默认)false:否。
- publicBool是否是公开群:
- true:公开群;
- false:私有群。
- customString群组扩展信息,例如,可以给群组添加业务相关的标记,不要超过 1,024 字符。

其他字段及描述详见 公共参数

如果返回的 HTTP 状态码非 200,表示请求失败。你可以参考 错误码 了解可能的原因。

示例

请求示例
# 将 <YourAppToken> 替换为你在服务端生成的 App Token

curl -X GET -H 'Accept: application/json' -H 'Authorization: Bearer <YourAppToken>' 'https://XXXX/XXXX/XXXX/chatgroups/66XXXX85'
响应示例
{
    "action": "get",
    "application": "09ebbf8b-XXXX-XXXX-bd4b-d47c3b38e434",
    "applicationName": "XXXX",
    "count": 1,
    "data": [
        {
            "id": "XXXX",
            "name": "XXXX",
            "avatar": "https://www.XXXX.com",
            "description": "XXXX",
            "membersonly": true,
            "allowinvites": false,
            "maxusers": 2000,
            "owner": "XXXX",
            "created": 1682588716646,
            "custom": "",
            "mute": false,
            "affiliations_count": 2,
            "disabled": false,
            "affiliations": [
                {
                    "member": "XXXX"
                },
                {
                    "owner": "XXXX"
                }
            ],
            "public": false
        }
    ],
    "duration": 35,
    "entities": [],
    "organization": "XXXX",
    "properties": {},
    "timestamp": 1682588814419,
    "uri": "http://XXXX/XXXX/XXXX/chatgroups/XXXX"
}

错误码

如果返回的 HTTP 状态码非 200,表示请求失败,可能提示以下错误码:

HTTP 状态码错误类型错误提示可能原因处理建议
401unauthorizedUnable to authenticate (OAuth)token 不合法,可能过期或 token 错误。使用新的 token 访问。
404resource_not_foundgrpID XX does not exist!群组不存在。使用合法的群 ID。

关于其他错误,你可以参考 响应状态码 了解可能的原因。

解散群组

解散指定的群组。解散群组时会同时删除群组下所有的子区(Thread)。

HTTP 请求

DELETE https://{host}/{org_name}/{app_name}/chatgroups/{group_id}
路径参数

参数及描述详见 公共参数

请求 header
参数类型是否必需描述
AcceptString内容类型。请填 application/json
AuthorizationStringApp 管理员的鉴权 token,格式为 Bearer YourAppToken,其中 Bearer 为固定字符,后面为英文空格和获取到的 app token。

HTTP 响应

响应 body

如果返回的 HTTP 状态码为 200,表示请求成功,响应包体中包含以下字段:

字段类型描述
data.successBool群组删除结果:
- true:删除成功;
- false:删除失败。
data.groupidString删除的群组的 ID。

其他字段及描述详见 公共参数

如果返回的 HTTP 状态码非 200,表示请求失败。你可以参考 错误码 了解可能的原因。

示例

请求示例
# 将 <YourAppToken> 替换为你在服务端生成的 App Token

curl -X DELETE -H 'Accept: application/json' -H 'Authorization: Bearer <YourAppToken>' 'https://a1.Ago ra.com/XXXX/testapp/chatgroups/6XXXX7'
响应示例
{
  "action": "delete",
  "application": "8bXXXX02",
  "uri": "https://XXXX/XXXX/XXXX/chatgroups/6XXXX7",
  "entities": [],
  "data": {
    "success": true,
    "groupid": "6XXXX7"
  },
  "timestamp": 1542363546590,
  "duration": 0,
  "organization": "XXXX",
  "applicationName": "testapp"
}

错误码

如果返回的 HTTP 状态码非 200,表示请求失败,可能提示以下错误码:

HTTP 状态码错误类型错误提示可能原因处理建议
401unauthorizedUnable to authenticate (OAuth)token 不合法,可能过期或 token 错误。使用新的 token 访问。
404resource_not_foundgrpID XX does not exist!群组不存在使用合法的群 ID。

关于其他错误,你可以参考 响应状态码 了解可能的原因。