成员与邀请管理
查询团队成员
- 请求方法:GET
- 请求路径:
/geo/team/member/list
说明:include_brand_permissions 控制是否返回成员的品牌权限摘要;该接口不支持按 brand_id 筛选。
请求参数:
| 入参 | 类型 | 含义 | 是否必填 |
|---|---|---|---|
team_id | string | 团队 ID | 是 |
page | int | 页码,默认 1 | 否 |
page_size | int | 默认 20,最大 500 | 否 |
keyword | string | 成员搜索关键字 | 否 |
role | int | 角色筛选:1=管理员;2=成员;3 为已废弃历史角色 | 否 |
include_brand_permissions | bool | 是否返回品牌权限摘要 | 否 |
请求示例:
{
"team_id": 2001,
"page": 1,
"page_size": 20,
"include_brand_permissions": true
}响应参数:
| 返回值 | 类型 | 含义 |
|---|---|---|
code | int | 0 表示成功 |
msg | string | 返回消息 |
data.members | object 数组 | 成员列表 |
data.members[].user_id / user_name | string | 成员 UID / 名称 |
data.members[].role | int | 1=管理员;2=成员 |
data.members[].joined_at | string | 加入时间;内网为 YYYY-MM-DD,海外为 UTC RFC 3339 |
data.members[].brand_permissions | object 数组 | 按请求返回的品牌权限摘要 |
data.members[].brand_permissions[].brand_id / brand_name | string | 品牌 ID / 名称 |
data.members[].brand_permissions[].brand_role / effective_brand_role | int | 配置 / 生效品牌角色:1=管理员,2=编辑,3=查看者,0=无权限 |
data.total | string (int64) | 成员总数 |
响应示例:
{
"code": 0,
"msg": "success",
"data": {
"members": [
{
"user_id": "4001",
"user_name": "测试成员A",
"role": 2,
"joined_at": "2026-10-14",
"brand_permissions": [
{
"brand_id": "1001",
"brand_name": "测试品牌A",
"brand_role": 3,
"effective_brand_role": 3
}
]
}
],
"total": "1"
}
}查询成员有效品牌权限
- 请求方法:POST
- 请求路径:
/geo/team/member/permissions/get
请求参数:
| 入参 | 类型 | 含义 | 是否必填 |
|---|---|---|---|
team_id | string | 团队 ID | 是 |
target_uid | string | 目标成员 UID | 是 |
请求示例:
{
"team_id": "2001",
"target_uid": "4001"
}响应参数:
| 返回值 | 类型 | 含义 |
|---|---|---|
code | int | 0 表示成功 |
msg | string | 返回消息 |
data.team_role | int | 团队角色:1=管理员;2=成员 |
data.permissions | object 数组 | 各品牌权限 |
data.permissions[].brand_id / brand_name | string | 品牌 ID / 名称 |
data.permissions[].configured_brand_role / effective_brand_role | int | 配置 / 生效角色:1=管理员,2=编辑,3=查看者,0=无权限 |
data.permissions[].source | string | team_admin、direct、legacy_fallback 或 none |
响应示例:
{
"code": 0,
"msg": "success",
"data": {
"team_role": 2,
"permissions": [
{
"brand_id": "1001",
"brand_name": "测试品牌A",
"configured_brand_role": 3,
"effective_brand_role": 3,
"source": "direct"
}
]
}
}修改成员团队角色
- 请求方法:POST
- 请求路径:
/geo/team/member/role/update
请求参数:
| 入参 | 类型 | 含义 | 是否必填 |
|---|---|---|---|
team_id | string | 团队 ID | 是 |
target_uid | string | 目标成员 UID | 是 |
role | int | 1 管理员;2 成员。省略或传 0 按成员处理,可能将管理员降为成员;请显式传入目标角色 | 否 |
请求示例:
{
"team_id": "2001",
"target_uid": "4001",
"role": 2
}响应参数:
| 返回值 | 类型 | 含义 |
|---|---|---|
code | int | 0 表示成功 |
msg | string | 返回消息 |
data | object | 成功时为空对象 |
响应示例:
{
"code": 0,
"msg": "success",
"data": {}
}移除团队成员
- 请求方法:POST
- 请求路径:
/geo/team/member/remove
说明:不能移除团队的最后一个成员或最后一个管理员。
请求参数:
| 入参 | 类型 | 含义 | 是否必填 |
|---|---|---|---|
team_id | string | 团队 ID | 是 |
target_uid | string | 目标成员 UID | 是 |
请求示例:
{
"team_id": "2001",
"target_uid": "4001"
}响应参数:
| 返回值 | 类型 | 含义 |
|---|---|---|
code | int | 0 表示成功 |
msg | string | 返回消息 |
data | object | 成功时为空对象 |
响应示例:
{
"code": 0,
"msg": "success",
"data": {}
}查询团队邀请记录
- 请求方法:GET
- 请求路径:
/geo/team/invite/list
请求参数:
| 入参 | 类型 | 含义 | 是否必填 |
|---|---|---|---|
team_id | string | 团队 ID | 是 |
请求示例:
{
"team_id": 2001
}响应参数:
| 返回值 | 类型 | 含义 |
|---|---|---|
code | int | 0 表示成功 |
msg | string | 返回消息 |
data | object 数组 | 邀请列表;data 直接为数组 |
data[].invite_code | string | 邀请码;撤销时作为 invite_id 传入 |
data[].role | int | 团队角色:1=管理员;2=成员 |
data[].expired_at | string | 过期时间;内网为 YYYY-MM-DD,海外为 UTC RFC 3339 |
data[].used_count / max_used | int | 已使用次数 / 最大次数 |
data[].status | int | 1=有效;0=无效 |
data[].brand_grants | object 数组 | 品牌授权;每项含 brand_id:string、brand_role:int |
响应示例:
{
"code": 0,
"msg": "success",
"data": [
{
"invite_code": "7001",
"role": 2,
"expired_at": "2026-10-21",
"used_count": 0,
"max_used": 10,
"status": 1,
"brand_grants": [
{
"brand_id": "1001",
"brand_role": 3
}
]
}
]
}撤销团队邀请
- 请求方法:POST
- 请求路径:
/geo/team/invite/delete
请求参数:
| 入参 | 类型 | 含义 | 是否必填 |
|---|---|---|---|
invite_id | string | 邀请列表中的 invite_code;字段名虽为 invite_id,当前实现按邀请码处理 | 是 |
请求示例:
{
"invite_id": "7001"
}响应参数:
| 返回值 | 类型 | 含义 |
|---|---|---|
code | int | 0 表示成功 |
msg | string | 返回消息 |
data | object | 成功时为空对象 |
响应示例:
{
"code": 0,
"msg": "success",
"data": {}
}