云通讯平台为开发者提供了一套完整的群组管理接口,便于开发者集成群组相关功能。群组管理相关接口包括创建群组,查询、修改群组属性,删除群组,按条件搜索公共群组,用户申请加入群组,管理员邀请用户加入群组,管理员删除成员,成员主动退出群组,设置群组成员角色接口。
1 创建群组
1.1 请求地址
POST /{SoftVersion}/Application/{appId}/IM/Group/CreateGroup
1.2 请求包头
请参阅《鉴权说明》
1.3 请求包体
属性 | 类型 | 约束 | 说明 |
---|---|---|---|
userName | String | 可选 | 自定义账号或通讯账号 | name | String | 必选 | 群组名字,最长为50个字符 |
type | String | 必选 | 群组类型 0:临时组(上限100人) 1:付费普通组(上限300人) 2:付费普通组(上限500人) 3:付费普通组 (上限1000人) 4:付费VIP组(上限2000人) 注意:讨论组取值范围0、1、2,如果大于2则默认2 |
permission | String | 可选 |
申请加入模式 0:默认直接加入 1:需要身份验证 2:私有群组 缺省0 |
declared |
String | 可选 | 群组公告,最长为200个字符 |
target |
String |
可选 |
0 :讨论组 1:群组,缺省1 |
groupDomain |
String |
可选 |
用户扩展字段 |
1.4 请求示例
POST /2013-12-26/Application/20150314000000110000000000000010/IM/Group/CreateGroup?sig=C1F20E7A97 HTTP/1.1 Accept:application/json; Content-Type:application/json;charset=utf-8; Authorization:ZmY4MDgwODEzYzM3ZGE1MzAxM2M4MDRmODA3MjAwN2M6MjAxMzAyM= { "userName": "123", "name": "云通讯技术交流", "type": "0", "declared":"云通讯技术交流", "permission":"0" }
1.5 响应包体
属性 | 类型 | 约束 | 说明 |
---|---|---|---|
statusCode | String | 必选 | 请求状态码,取值000000(成功)。 |
groupId | String | 必选 | 群组ID |
1.6 响应示例
HTTP/1.1 200 OK Content-Length: 641 {"statusCode": "000000", "groupId": "g80000049837291"}
2.修改群组属性
2.1 请求地址
POST /{SoftVersion}/Application/{appId}/IM/Group/ModifyGroup
2.2 请求包头
请参阅《鉴权说明》
2.3 请求包体
属性 | 类型 | 约束 | 说明 |
---|---|---|---|
userName | String | 可选 | 自定义账号或通讯账号 |
groupId | String | 必选 | 群组ID |
permission | String | 可选 |
申请加入模式 0:默认直接加入 1:需要身份验证 2:私有群组 缺省0 |
name | String | 必选 |
群组名字,最长50个字符 |
declared | String | 可选 | 群组公告,最长为200个字符 |
groupDomain |
String |
可选 |
用户扩展字段 |
2.4 请求示例
POST /2013-12-26/Application/20150314000000110000000000000010/IM/Group/ModifyGroup?sig=C1F20E7A97 HTTP/1.1 Accept:application/json; Content-Type:application/json;charset=utf-8; Authorization:ZmY4MDgwODEzYzM3ZGE1MzAxM2M4MDRmODA3MjAwN2M6MjAxMzAyM= { "userName":"123", "groupId":"g12345678", "name":"云通讯", "declared":"技术交流", "permission":"1" }
2.5 响应包体
属性 | 类型 | 约束 | 说明 |
---|---|---|---|
statusCode | String | 必选 | 请求状态码,取值000000(成功)。 |
2.6 响应示例
HTTP/1.1 200 OK Content-Length: 641 {"statusCode":"000000"}
3 删除群组
3.1 请求地址
POST /{SoftVersion}/Application/{appId}/IM/Group/DeleteGroup
3.2 请求包头
请参阅《鉴权说明》
3.3 请求包体
属性 | 类型 | 约束 | 说明 |
---|---|---|---|
userName | String | 可选 | 自定义账号或通讯账号 |
groupId | String | 必选 | 群组ID |
3.4 请求示例
POST /2013-12-26/Application/20150314000000110000000000000010/IM/Group/DeleteGroup?sig=C1F20E7A97 HTTP/1.1 Accept:application/json; Content-Type:application/json;charset=utf-8; Authorization:ZmY4MDgwODEzYzM3ZGE1MzAxM2M4MDRmODA3MjAwN2M6MjAxMzAyM= { "userName":"123", "groupId":"g80000049837291" }
3.5 响应包体
属性 | 类型 | 约束 | 说明 |
---|---|---|---|
statusCode | String | 必选 | 请求状态码,取值000000(成功)。 |
3.6 响应示例
HTTP/1.1 200 OK Content-Length: 641 {"statusCode":"000000"}
4 按条件搜索公共群组
4.1 请求地址
POST /{SoftVersion}/Application/{appId}/IM/Group/SearchPublicGroups
4.2 请求包头
请参阅《鉴权说明》
4.3 请求包体
属性 | 类型 | 约束 | 说明 |
---|---|---|---|
userName | String | 可选 | 自定义账号或通讯账号 |
groupId | String | 可选 | 根据群组ID查找(同时具备两个条件,查询以此为先) |
name | String | 可选 | 根据群组名查找(模糊查询,群组名称为纯数字或纯字母时需要输入完整的群名称,结果中不包含私有群组) |
4.4 请求示例
POST /2013-12-26/Application/20150314000000110000000000000010/IM/Group/SearchPublicGroup?sig=C1F20E7A97 HTTP/1.1 Accept:application/json; Content-Type:application/json;charset=utf-8; Authorization:ZmY4MDgwODEzYzM3ZGE1MzAxM2M4MDRmODA3MjAwN2M6MjAxMzAyM= { "userName":"123", "groupId":"g80019283765", "name":"云通讯技术交流" }
4.5 响应包体
属性 | 类型 | 约束 | 说明 |
---|---|---|---|
statusCode | String | 必选 | 请求状态码,取值000000(成功)。 |
groupId | String | 必选 | 群组ID |
name | String | 必选 | 群组名字,最长50个字符 |
type | String | 必选 | 群组类型 0:临时组(上限100人) 1:付费普通组(上限300人) 2:付费普通组(上限500人) 3:付费普通组 (上限1000人) 4:付费VIP组(上限2000人) |
count | String | 必选 | 群组的成员人数 |
permission | String | 必选 | 申请加入模式 0:默认直接加入 1:需要身份验证 |
4.6 响应示例
HTTP/1.1 200 OK Content-Length: 641 { "statusCode": "000000", "groups": { "group": { "groupId": "g80000049837921", "name": "云通讯", "count": "100", "type": "1", " permission":"0" } } }
5 查询群组属性
5.1 请求地址
POST /{SoftVersion}/Application/{appId}/IM/Group/QueryGroupDetail
5.2 请求包头
请参阅《鉴权说明》
5.3 请求包体
属性 | 类型 | 约束 | 说明 |
---|---|---|---|
userName | String | 可选 | 自定义账号或通讯账号 |
groupId | String | 必选 | 群组ID |
5.4 请求示例
POST /2013-12-26/Application/20150314000000110000000000000010/IM/Group/QueryGroupDetail?sig=C1F20E7A97 HTTP/1.1 Accept:application/json; Content-Type:application/json;charset=utf-8; Authorization:ZmY4MDgwODEzYzM3ZGE1MzAxM2M4MDRmODA3MjAwN2M6MjAxMzAyM= { "userName":"123", "groupId":"g80000049837291" }
5.5 响应包体
属性 | 类型 | 约束 | 说明 |
---|---|---|---|
statusCode | String | 必选 | 请求状态码,取值000000(成功)。 |
name | String | 必选 | 群组名字,最长为50个字符 |
owner | String | 必选 | 群组所有者(默认为管理员) |
declared | String | 必选 | 群组公告,最长为200个字符 |
count | String | 必选 | 群组成员人数 |
dateCreated | String | 必选 | 群组创建时间,格式为时间戳 |
permission |
String | 必选 | 申请加入模式 0:默认直接加入 1:需要身份验证 |
target |
String |
必选 |
群组类型 0 :讨论组 1:群组 |
groupDomain |
String |
可选 |
用户扩展字段 |
5.6 响应示例
HTTP/1.1 200 OK Content-Length: 641 { "statusCode": "000000", "name": "云通讯技术交流", "owner": "8002837363838", "type": "0", "declared": "云通讯技术交流", "permission": "0", "count": "100", "dateCreated": "2013-7-25 15:23:30" }
6 用户申请加入群组
6.1 请求地址
POST /{SoftVersion}/Application/{appId}/IM/Group/JoinGroup
6.2 请求包头
请参阅《鉴权说明》
6.3 请求包体
属性 | 类型 | 约束 | 说明 |
---|---|---|---|
userName | String | 可选 | 自定义账号或通讯账号 |
groupId | String | 必选 | 群组ID |
declared | String | 可选 | 申请理由,最长为50个字符 |
6.4 请求示例
POST /2013-12-26/Application/20150314000000110000000000000010/IM/Group/JoinGroup?sig=C1F20E7A97 HTTP/1.1 Accept:application/json; Content-Type:application/json;charset=utf-8; Authorization:ZmY4MDgwODEzYzM3ZGE1MzAxM2M4MDRmODA3MjAwN2M6MjAxMzAyM= { "userName":"123", "groupId": "g80000049837291", "declared": "hello" }
6.5 响应包体
属性 | 类型 | 约束 | 说明 |
---|---|---|---|
statusCode | String | 必选 | 请求状态码,取值000000(成功)。 |
6.6 响应示例
HTTP/1.1 200 OK Content-Length: 641 { "statusCode": "000000" }
7 群组管理员邀请用户加入群组
7.1 请求地址
POST /{SoftVersion}/Application/{appId}/IM/Group/InviteJoinGroup
7.2 请求包头
请参阅《鉴权说明》
7.3 请求包体
属性 | 类型 | 约束 | 说明 |
---|---|---|---|
userName | String | 可选 | 自定义账号或通讯账号 |
groupId | String | 必选 | 群组ID |
members | String | 必选 | 被邀请成员列表主节点 |
member | String | 必选 | 被邀请成员,一次最多可以邀请50人,且邀请的成员必须是已经在客户端登陆过的用户。 |
confirm | String | 可选 |
是否需要被邀请人确认 0 :需要 1:不需要(自动加入群组)缺省1 |
declared | String | 可选 | 邀请理由,最长为50个字符 |
7.4 请求示例
POST /2013-03-22/Application/20150314000000110000000000000010/IM/Group/InviteJoinGroup?sig=C1F20E7A97 HTTP/1.1 Accept:application/json; Content-Type:application/json;charset=utf-8; Authorization:ZmY4MDgwODEzYzM3ZGE1MzAxM2M4MDRmODA3MjAwN2M6MjAxMzAyM= { "groupId": "g80000049837291", "members": { "member": [ "8000000123456789", "8000000123456789" ] }, "declared": "hello", "confirm": "0" }
7.5 响应包体
属性 | 类型 | 约束 | 说明 |
---|---|---|---|
statusCode | String | 必选 | 请求状态码,取值000000(成功)。 |
7.6 响应示例
HTTP/1.1 200 OK Content-Length: 641 { "statusCode": "000000"}
8 群组管理员删除成员
8.1 请求地址
POST /{SoftVersion}/Application/{appId}/IM/Group/DeleteGroupMember
8.2 请求包头
请参阅《鉴权说明》
8.3 请求包体
属性 | 类型 | 约束 | 说明 |
---|---|---|---|
userName | String | 可选 | 自定义账号或通讯账号 |
groupId | String | 必选 | 群组ID |
members | String | 必选 | 待删除成员列表主节点 |
member | String | 必选 | 待删除成员 |
8.4 请求示例
POST /2013-12-26/Application/20150314000000110000000000000010/IM/Group/DeleteGroupMember?sig=C1F20E7A97 HTTP/1.1 Accept:application/json; Content-Type:application/json;charset=utf-8; Authorization:ZmY4MDgwODEzYzM3ZGE1MzAxM2M4MDRmODA3MjAwN2M6MjAxMzAyM= { "groupId": "g80000049837291", "members": { "member": [ "8000000123456789", "8000000123456789" ] } }
8.5 响应包体
属性 | 类型 | 约束 | 说明 |
---|---|---|---|
statusCode | String | 必选 | 请求状态码,取值000000(成功)。 |
8.6 响应示例
HTTP/1.1 200 OK Content-Length: 641 { "statusCode": "000000"}
9 成员主动退出群组
9.1 请求地址
POST /{SoftVersion}/Application/{appId}/IM/Group/LogoutGroup
9.2 请求包头
请参阅《鉴权说明》
9.3 请求包体
属性 | 类型 | 约束 | 说明 |
---|---|---|---|
userName | String | 可选 | 自定义账号或通讯账号 |
groupId | String | 必选 | 群组ID |
9.4 请求示例
POST /2013-12-26/Application/20150314000000110000000000000010/IM/Group/LogoutGroup?sig=C1F20E7A97 HTTP/1.1 Accept:application/json; Content-Type:application/json;charset=utf-8; Authorization:ZmY4MDgwODEzYzM3ZGE1MzAxM2M4MDRmODA3MjAwN2M6MjAxMzAyM= { "userName":"123", "groupId": "g80000049837291" }
9.5 响应包体
属性 | 类型 | 约束 | 说明 |
---|---|---|---|
statusCode | String | 必选 | 请求状态码,取值000000(成功)。 |
9.6 响应示例
HTTP/1.1 200 OK Content-Length: 641 { "statusCode": "000000"}
10 设置群组成员角色
10.1 请求地址
POST /{SoftVersion}/Application/{appId}/IM/Group/SetMemberRole
10.2 请求包头
请参阅《鉴权说明》
10.3 请求包体
属性 | 类型 | 约束 | 说明 |
---|---|---|---|
userName | String | 可选 | 自定义账号或通讯账号 |
groupId | String | 必选 | 群组ID |
member | String | 必选 | 成员帐号 |
role | String | 必选 | 角色 0创建者 1 管理员 2 普通成员 |
10.4 请求示例
POST /2013-12-26/Application/20150314000000110000000000000010/IM/Group/SetMemberRole?sig=C1F20E7A97 HTTP/1.1 Accept:application/json; Content-Type:application/json;charset=utf-8; Authorization:ZmY4MDgwODEzYzM3ZGE1MzAxM2M4MDRmODA3MjAwN2M6MjAxMzAyM= { "userName": "123", "groupId": "g80000049837291", "member": "14128829087", "role": "1" }
10.5 响应包体
属性 | 类型 | 约束 | 说明 |
---|---|---|---|
statusCode | String | 必选 | 请求状态码,取值000000(成功)。 |
10.6 响应示例
HTTP/1.1 200 OK Content-Length: 641 {" statusCode":"000000"}
文档更新时间:2018年1月18日