Skip to content

设置群成员资料/角色

1. 接口定位

  • 接口名称: 设置群成员资料/角色
  • 所属域: group
  • 业务目标: 批量更新群成员资料字段与角色等级

2. 请求定义

  • Method: POST
  • Path: /group/set_group_member_info
  • Content-Type: 推荐 application/json
  • operationID: 必填,请通过 Header operationID 传入
  • 鉴权: 必填,需要通过 Header token 传入有效令牌
  • 幂等性: 非严格幂等(多次调用可重复覆盖成员信息)

3. 请求参数

Header 参数

字段必填类型说明
operationIDstring链路追踪 ID
tokenstring登录令牌

Body 参数

字段必填类型说明
membersarray待更新成员列表,不能为空

members 元素(SetGroupMemberInfo)

字段必填类型说明
groupIDstring群组 ID
userIDstring目标用户 ID
nicknamestring群昵称(可选更新)
faceURLstring头像(可选更新)
roleLevelint32角色级别(仅支持管理员/普通成员,不能直接设为群主)
exstring扩展字段

字段约束

  • members 不能为空。
  • 同一次请求中,同一 groupIDuserID 不可重复。
  • roleLevel 仅允许管理员与普通成员之间切换,不允许设置为群主。

4. 响应结构

通用响应包裹

字段类型说明
errCodeint错误码,0 表示成功
errMsgstring错误简述
errDltstring错误详情
dataany业务数据

data 字段结构

  • 成功时为空对象或 null

5. 业务规则

  • 普通成员仅可更新自身且权限受限。
  • 管理员不能调整群主,也不能调整其他管理员。
  • 群主可管理成员与管理员,但不能把自己角色降级(防止群主缺失)。
  • 应用管理员账号可跨群执行批量更新。

6. 错误码与失败场景

错误码场景典型报错
1001参数非法、成员列表为空、重复成员ArgsError
1002越权修改成员信息/角色NoPermissionError
1201群组不存在或成员不在群内GroupIDNotFoundError
500服务内部错误ServerInternalError

7. 示例

fetch 请求示例

javascript
fetch("http://localhost:10002/group/set_group_member_info", {
  method: "POST",
  headers: {
    operationID: "4b3f18cf-c5de-4fa2-9202-1f5457f2fd77",
    token: "<your-token>",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    members: [
      {
        groupID: "group_001",
        userID: "u_1002",
        nickname: "新群昵称",
        roleLevel: 1
      }
    ]
  }),
})
  .then((res) => res.json())
  .then((data) => console.log(data));

请求示例(JSON)

json
{
  "members": [
    {
      "groupID": "group_001",
      "userID": "u_1002",
      "nickname": "新群昵称",
      "roleLevel": 1
    }
  ]
}

成功响应示例

json
{
  "errCode": 0,
  "errMsg": "",
  "errDlt": "",
  "data": {}
}

失败响应示例

json
{
  "errCode": 1002,
  "errMsg": "NoPermissionError",
  "errDlt": "admin can not change group owner"
}

8. 时序流程

  1. 校验 members 参数与角色合法性。
  2. 校验调用者在目标群的权限边界。
  3. 批量写入成员更新并发送变更通知。

9. 变更记录

  • 2026-04-09: 首版补充文档发布。