权限映射表
功能概述¶
用于维护“成员属性 → 维度值”的映射表,供行权限按成员属性匹配维度值时使用。映射表支持导入 CSV 自动生成列定义并存储行数据,创建/更新后请关注 status 与 error。
status 取值¶
| 字段值 | 说明 |
|---|---|
| 0 | VALID,可用 |
| 1 | INVALID,失效(维度不存在或校验失败) |
| 2 | PROCESSING,处理中(导入/清理任务进行中) |
| 3 | ERROR,结构异常(导入或列校验失败,error 有原因) |
列类型 type 取值¶
| 字段值 | 说明 |
|---|---|
| attribute | 属性列,值为成员属性字符串 |
| dimension | 维度列,值为维度 ID(整数) |
创建映射表(异步导入)¶
Request Method: POST
Request URL: /openapi/v1/workspaces/{workspaceId}/attribute_permissions/
Request Header:
{
"Authorization": "连接密钥"
}
请求参数
{
"name": "销售区域映射",
"attributeLength": 2,
"data": "属性A,属性B,维度ID\n华东,渠道A,101\n华南,渠道B,102"
}
- attributeLength:前 N 列按属性列解析,后续列为维度列,必须 ≥1 且小于 CSV 总列数。
- CSV 首行定义列头,数据行按列顺序写入;列值会存入行数据 key
f0、f1……。
返回示例(立即返回,导入任务异步执行)
{
"errcode": 200,
"errmsg": "success",
"data": {
"id": 12,
"name": "销售区域映射",
"status": 2
}
}
- 创建时先落库
AttributePermissionMapping,仅包含project、name、status=PROCESSING,不会立即返回columns/attributes/dimension_ids/rows。 - 请通过 查看映射表详情 接口轮询该
id,当status不为PROCESSING时,列定义与行数据才会可用;若导入异常,status会变为ERROR,error字段包含原因。
获取映射表列表¶
Request Method: GET
Request URL: /openapi/v1/workspaces/{workspaceId}/attribute_permissions/
Request Header:
{
"Authorization": "连接密钥"
}
查询参数
| 参数 | 类型 | 说明 |
|---|---|---|
| q | string | 按名称模糊搜索,可选 |
| count | bool | 仅统计数量(true 返回 count,不返回列表),可选 |
| offset | int | 偏移量,默认 0,可选 |
| limit | int | 数量上限,默认 20,可选 |
返回示例
{
"errcode": 200,
"errmsg": "success",
"data": [
{
"id": 12,
"name": "销售区域映射",
"status": 0,
"error": null,
"columns": [
{"field": "f0", "type": "attribute", "value": "属性A"},
{"field": "f1", "type": "attribute", "value": "属性B"},
{"field": "f2", "type": "dimension", "value": "101"}
],
"dimension_ids": [101],
"attributes": ["属性A", "属性B"],
"created_at": "2024-01-01T00:00:00Z",
"updated_at": "2024-01-01T00:00:00Z"
}
]
}
查看映射表详情¶
Request Method: GET
Request URL: /openapi/v1/workspaces/{workspaceId}/attribute_permissions/{tableId}/
Request Header:
{
"Authorization": "连接密钥"
}
返回示例:同列表单项结构。
更新映射表¶
Request Method: PATCH
Request URL: /openapi/v1/workspaces/{workspaceId}/attribute_permissions/{tableId}/
Request Header:
{
"Authorization": "连接密钥"
}
请求参数(部分字段可选)
{
"name": "销售区域映射-更新",
"columns": [
{"field": "f0", "type": "attribute", "value": "属性A"},
{"field": "f1", "type": "dimension", "value": "101"}
]
}
columns变更会校验字段名与类型;删除列会异步清理已有行数据对应字段。- 维度列
value必须为整数 ID 字符串;属性列value可为任意字符串。
返回示例:同详情结构,status 可能变为 PROCESSING/INVALID/ERROR 视校验结果而定。
获取映射表行数据¶
Request Method: GET
Request URL: /openapi/v1/workspaces/{workspaceId}/attribute_permissions/{tableId}/rows/
Request Header:
{
"Authorization": "连接密钥"
}
查询参数
| 参数 | 类型 | 说明 |
|---|---|---|
| q | string | 在所有列做 contains 过滤,可选 |
| count | bool | 仅统计数量,可选 |
| offset | int | 偏移量,默认 0,可选 |
| limit | int | 数量上限,默认 100,可选 |
返回示例
{
"errcode": 200,
"errmsg": "success",
"data": [
{"f0": "华东", "f1": "渠道A", "f2": "101"},
{"f0": "华南", "f1": "渠道B", "f2": "102"}
]
}
删除映射表¶
Request Method: DELETE
Request URL: /openapi/v1/workspaces/{workspaceId}/attribute_permissions/{tableId}/
Request Header:
{
"Authorization": "连接密钥"
}
返回示例
{
"errcode": 200,
"errmsg": "success"
}
注意事项¶
- 创建导入、删除列后的历史行清理均为异步任务,处理期间
status可能为PROCESSING。 - 当列校验失败或维度不存在时,
status会变为ERROR/INVALID,并在error中写明原因。