设置群成员资料/角色
1. 接口定位
- 接口名称: 设置群成员资料/角色
- 所属域: group
- 业务目标: 批量更新群成员资料字段与角色等级
2. 请求定义
- Method:
POST - Path:
/group/set_group_member_info - Content-Type: 推荐
application/json - operationID: 必填,请通过 Header
operationID传入 - 鉴权: 必填,需要通过 Header
token传入有效令牌 - 幂等性: 非严格幂等(多次调用可重复覆盖成员信息)
3. 请求参数
Header 参数
| 字段 | 必填 | 类型 | 说明 |
|---|---|---|---|
| operationID | 是 | string | 链路追踪 ID |
| token | 是 | string | 登录令牌 |
Body 参数
| 字段 | 必填 | 类型 | 说明 |
|---|---|---|---|
| members | 是 | array | 待更新成员列表,不能为空 |
members 元素(SetGroupMemberInfo)
| 字段 | 必填 | 类型 | 说明 |
|---|---|---|---|
| groupID | 是 | string | 群组 ID |
| userID | 是 | string | 目标用户 ID |
| nickname | 否 | string | 群昵称(可选更新) |
| faceURL | 否 | string | 头像(可选更新) |
| roleLevel | 否 | int32 | 角色级别(仅支持管理员/普通成员,不能直接设为群主) |
| ex | 否 | string | 扩展字段 |
字段约束
members不能为空。- 同一次请求中,同一
groupID下userID不可重复。 roleLevel仅允许管理员与普通成员之间切换,不允许设置为群主。
4. 响应结构
通用响应包裹
| 字段 | 类型 | 说明 |
|---|---|---|
| errCode | int | 错误码,0 表示成功 |
| errMsg | string | 错误简述 |
| errDlt | string | 错误详情 |
| data | any | 业务数据 |
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. 时序流程
- 校验
members参数与角色合法性。 - 校验调用者在目标群的权限边界。
- 批量写入成员更新并发送变更通知。
9. 变更记录
- 2026-04-09: 首版补充文档发布。