Skip to content

权限映射表

功能概述

用于维护“成员属性 → 维度值”的映射表,供行权限按成员属性匹配维度值时使用。映射表支持导入 CSV 自动生成列定义并存储行数据,创建/更新后请关注 statuserror

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 f0f1……。

返回示例(立即返回,导入任务异步执行)

{
  "errcode": 200,
  "errmsg": "success",
  "data": {
    "id": 12,
    "name": "销售区域映射",
    "status": 2
  }
}
  • 创建时先落库 AttributePermissionMapping,仅包含 projectnamestatus=PROCESSING,不会立即返回 columns/attributes/dimension_ids/rows
  • 请通过 查看映射表详情 接口轮询该 id,当 status 不为 PROCESSING 时,列定义与行数据才会可用;若导入异常,status 会变为 ERRORerror 字段包含原因。

获取映射表列表

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 中写明原因。