服务端 API
概述
群组模块用于由服务端创建和管理群聊,包括群资料、群成员、入群申请、群主转让、解散群组和禁言控制。
能力范围
| 能力 | 说明 |
|---|---|
| 群组管理 | 创建群组、更新群资料、解散群组和转让群主。 |
| 群组查询 | 批量获取群资料,以及查询用户已经加入的群组。 |
| 入群流程 | 申请入群、处理入群申请,并按群组、用户或申请方向查询申请记录。 |
| 成员管理 | 邀请、移除或退出群组,查询成员资料和成员列表,并更新成员角色、昵称或扩展字段。 |
| 禁言控制 | 禁言群成员、取消成员禁言、禁言群组和取消群组禁言。 |
| 申请提醒与清理 商业版 | 获取或清除入群申请角标,并删除用户发出或群组收到的申请记录。 |
常用接口
资源表示
群组模块的资源对象描述群资料、群成员资料和入群申请。接口页只展开关键字段,完整对象语义以这里为准。
GroupInfo
GroupInfo 表示一个 OpenIM 群组。
| 字段 | 类型 | 说明 |
|---|---|---|
| groupID | string | 群 ID;创建群组时可由业务传入,也可由服务端生成。 |
| groupName | string | 群名称。 |
| notification | string | 群公告。 |
| introduction | string | 群介绍。 |
| faceURL | string | 群头像 URL。 |
| ownerUserID | string | 群主用户 ID。 |
| creatorUserID | string | 创建者用户 ID。 |
| createTime | int64 | 群创建时间,通常为 Unix 毫秒时间戳。 |
| memberCount | int | 群成员数量。 |
| status | int | 群状态,参见 GroupStatus。 |
| groupType | int | 群类型,参见 GroupType。 |
| needVerification | int | 入群验证策略,参见 GroupVerification。 |
| lookMemberInfo | int | 是否允许查看群成员资料。 |
| applyMemberFriend | int | 是否允许从群成员处添加好友。 |
| notificationUpdateTime | int64 | 群公告更新时间。 |
| notificationUserID | string | 更新群公告的用户 ID。 |
| ex | string | 群扩展字段。 |
| displayIsRead 商业版 | boolean | 是否展示群消息已读状态。服务端可能根据群规模自动关闭该能力。 |
| muteBypassUserIDs 商业版 | string[] | 全群禁言时仍可发送消息的用户 ID 列表。 |
GroupMemberInfo
GroupMemberInfo 表示用户在某个群组中的完整成员资料。
| 字段 | 类型 | 说明 |
|---|---|---|
| groupID | string | 群 ID。 |
| userID | string | 成员用户 ID。 |
| nickname | string | 用户昵称。 |
| faceURL | string | 用户头像 URL。 |
| appMangerLevel | int | 应用管理级别字段,字段名以服务端响应为准。 |
| roleLevel | int | 成员角色,参见 GroupMemberRole。 |
| joinTime | int64 | 入群时间。 |
| joinSource | int | 入群来源,参见 JoinSource。 |
| operatorUserID | string | 邀请、导入或处理入群的操作者用户 ID。 |
| muteEndTime | int64 | 成员禁言结束时间。 |
| inviterUserID | string | 邀请者用户 ID。 |
| ex | string | 群成员扩展字段。 |
GroupRequestInfo
GroupRequestInfo 表示一条入群申请记录,包含申请用户资料和群资料两个嵌套对象。
| 字段 | 类型 | 说明 |
|---|---|---|
| userInfo | object | 申请用户公开资料,结构为用户模块的 PublicUserInfo。 |
| groupInfo | object | 群资料,结构为本页 GroupInfo。 |
| handleResult | int | 处理结果,参见 GroupRequestResult。 |
| reqMsg | string | 入群申请说明。 |
| handleMsg | string | 处理说明。 |
| reqTime | int64 | 申请时间。 |
| handleUserID | string | 处理申请的用户 ID。 |
| handleTime | int64 | 申请处理时间。 |
| ex | string | 入群申请扩展字段。 |
| joinSource | int | 入群来源,参见 JoinSource。 |
| inviterUserID | string | 邀请者用户 ID。 |
枚举
GroupType
| 值 | 名称 | 说明 |
|---|---|---|
| 0 | NormalGroup | 普通群。 |
| 1 | SuperGroup | 超级群。 |
| 2 | WorkingGroup | 工作群。 |
GroupStatus
| 值 | 名称 | 说明 |
|---|---|---|
| 0 | GroupOk | 正常。 |
| 1 | GroupBanChat | 群组禁言。 |
| 2 | GroupStatusDismissed | 群组已解散。 |
| 3 | GroupStatusMuted | 群组被禁言。 |
| 4 | GroupBanPrivateChat | 禁止私聊。 |
GroupMemberRole
roleLevel 表示群成员角色。普通成员和管理员可以由群管理接口设置,群主不能通过普通成员资料接口设置。
| 值 | 名称 | 说明 |
|---|---|---|
| 20 | GroupOrdinaryUsers | 普通成员。 |
| 60 | GroupAdmin | 群管理员。 |
| 100 | GroupOwner | 群主。 |
GroupVerification
| 值 | 名称 | 说明 |
|---|---|---|
| 0 | ApplyNeedVerificationInviteDirectly | 申请入群需要审批,邀请可直接入群。 |
| 1 | AllNeedVerification | 除群主或管理员邀请外,其他入群方式均需要审批。 |
| 2 | Directly | 直接入群,不需要审批。 |
JoinSource
| 值 | 名称 | 说明 |
|---|---|---|
| 1 | JoinByAdmin | 管理员直接添加。 |
| 2 | JoinByInvitation | 通过邀请加入。 |
| 3 | JoinBySearch | 通过搜索申请加入。 |
| 4 | JoinByQRCode | 通过二维码加入。 |
GroupRequestResult
| 值 | 名称 | 说明 |
|---|---|---|
| -1 | GroupResponseRefuse | 拒绝。 |
| 0 | Pending | 待处理。 |
| 1 | GroupResponseAgree | 同意。 |
接入建议
群组操作通常影响多个用户,建议后端记录 operationID、操作人、目标群组和成员列表。
禁言、踢人和解散群组属于高影响操作,应结合业务权限和审计流程使用。
相关页面
这个页面有帮助吗?