更新成员角色
概述
此端点允许您更新聊天室中特定成员的角色。当角色变更为管理员时,系统会自动在聊天室内产生对应的系统讯息。此 API 仅供伺服器端使用,需要适当的身份验证。
API 端点
更新成员角色
更新聊天室中特定成员的角色。
PUT /rooms/:id/member/:clientHeaders
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
IM-CLIENT-KEY | string | ✅ | 用户端金钥 |
IM-Authorization | string | ✅ | 用户端权杖 |
Path Parameters
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
:id | string | ✅ | 聊天室唯一识别码 |
:client | string | ✅ | 成员的用户端 ID |
Request Body
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
property | string | ✅ | 固定填入 "role" |
value | string | ✅ | 角色值,可为 "admin" 或 "member" |
角色说明
| 角色值 | 说明 |
|---|---|
"admin" | 管理员,拥有管理聊天室成员的权限 |
"member" | 一般成员 |
范例请求
范例一:将成员设为管理员
cURL 范例:
curl -X "PUT" "https://your-app.imkit.io/rooms/demo-room/member/user-001" \
-H 'IM-CLIENT-KEY: {IM-CLIENT-KEY}' \
-H 'IM-Authorization: {IM-Authorization}' \
-H 'Content-Type: application/json; charset=utf-8' \
-d '{"property": "role", "value": "admin"}'JavaScript 范例:
const response = await axios.put(
`https://your-app.imkit.io/rooms/${roomID}/member/${clientID}`,
{
property: "role",
value: "admin",
},
{
headers: {
"IM-CLIENT-KEY": `${IM_CLIENT_KEY}`,
"IM-Authorization": `${TOKEN}`,
"Content-Type": "application/json; charset=utf-8",
},
}
);范例二:将管理员降为一般成员
JavaScript 范例:
const response = await axios.put(
`https://your-app.imkit.io/rooms/${roomID}/member/${clientID}`,
{
property: "role",
value: "member",
},
{
headers: {
"IM-CLIENT-KEY": `${IM_CLIENT_KEY}`,
"IM-Authorization": `${TOKEN}`,
"Content-Type": "application/json; charset=utf-8",
},
}
);Response
成功回应(200 OK)
| 参数 | 类型 | 说明 |
|---|---|---|
RC | number | 回应代码(0 表示成功) |
RM | string | 回应讯息 |
result | object | 更新后的聊天室完整资讯 |
范例回应
{
"RC": 0,
"RM": "OK",
"result": {
"_id": "demo-room",
"name": "Demo",
"roomType": "group",
"members": [
{
"_id": "user-001",
"nickname": "User 001",
"avatarUrl": "http://example.com/avatar.jpg",
"isRobot": false,
"id": "user-001",
"lastLoginTimeMS": 1583057133276
}
],
"id": "demo-room",
"createdTimeMS": 1525001412492
}
}错误回应
当请求失败时,您会收到包含错误详细资讯的错误回应。常见的错误情况包括:
- 无效的用户端金钥或授权权杖
- 指定的聊天室或成员不存在
value不是有效的角色值- 伺服器内部错误
使用场景
权限管理
- 升级为管理员:将成员的角色从
"member"变更为"admin",赋予其管理聊天室成员的权限 - 降级为一般成员:将管理员的角色从
"admin"变更为"member",移除其管理权限
注意事项
- 系统讯息:当
value设为"admin"时,系统会自动在聊天室内产生assignAdmin系统讯息通知其他成员 property栏位必须固定填入"role";若需更新其他成员属性,请使用更新成员属性 API- 此操作仅变更成员在该聊天室内的角色,不影响其他聊天室的角色设定