# 获取指标列表

获取指标库中的指标信息，如指标名称、指标类型、指标标签和指标字段等信息。可通过指标启用状态、指标类型、指标可用范围等筛选条件获取指定范围的指标信息。

## 请求

基本 | &nbsp;
---|---
HTTP URL | https://open.feishu.cn/open-apis/performance/v2/metric_libs/query
HTTP Method | POST
接口频率限制 | [20 次/分钟](https://open.feishu.cn/document/ukTMukTMukTM/uUzN04SN3QjL1cDN)
支持的应用类型 | Custom App、Store App
权限要求<br>**调用该 API 所需的权限。开启其中任意一项权限即可调用**<br>开启任一权限即可 | 管理关键指标数据(performance:metric:write)<br>获取指标配置信息(performance:metric_lib:read)<br>获取关键指标数据(performance:metric:read)
字段权限要求 | **注意事项**：该接口返回体中存在下列敏感字段，仅当开启对应的权限后才会返回；如果无需获取这些字段，则不建议申请<br>获取用户 user ID(contact:user.employee_id:readonly)

### 请求头

名称 | 类型 | 必填 | 描述
---|---|---|---
Authorization | string | 是 | `tenant_access_token`<br>**值格式**："Bearer `access_token`"<br>**示例值**："Bearer t-7f1bcd13fc57d46bac21793a18e560"<br>[了解更多：如何选择与获取 access token](https://open.feishu.cn/document/uAjLw4CM/ugTN1YjL4UTN24CO1UjN/trouble-shooting/how-to-choose-which-type-of-token-to-use)
Content-Type | string | 是 | **固定值**："application/json; charset=utf-8"

### 查询参数

名称 | 类型 | 必填 | 描述
---|---|---|---
user_id_type | string | 否 | 用户 ID 类型<br>**示例值**：open_id<br>**可选值有**：<br>- open_id：标识一个用户在某个应用中的身份。同一个用户在不同应用中的 Open ID 不同。[了解更多：如何获取 Open ID](https://open.feishu.cn/document/uAjLw4CM/ugTN1YjL4UTN24CO1UjN/trouble-shooting/how-to-obtain-openid)<br>- union_id：标识一个用户在某个应用开发商下的身份。同一用户在同一开发商下的应用中的 Union ID 是相同的，在不同开发商下的应用中的 Union ID 是不同的。通过 Union ID，应用开发商可以把同个用户在多个应用中的身份关联起来。[了解更多：如何获取 Union ID？](https://open.feishu.cn/document/uAjLw4CM/ugTN1YjL4UTN24CO1UjN/trouble-shooting/how-to-obtain-union-id)<br>- user_id：标识一个用户在某个租户内的身份。同一个用户在租户 A 和租户 B 内的 User ID 是不同的。在同一个租户内，一个用户的 User ID 在所有应用（包括商店应用）中都保持一致。User ID 主要用于在不同的应用间打通用户数据。[了解更多：如何获取 User ID？](https://open.feishu.cn/document/uAjLw4CM/ugTN1YjL4UTN24CO1UjN/trouble-shooting/how-to-obtain-user-id)<br>- people_admin_id：以people_admin_id来识别用户<br>**默认值**：`open_id`<br>**当值为 `user_id`，字段权限要求**：<br>获取用户 user ID(contact:user.employee_id:readonly)
page_token | string | 否 | 分页标记，第一次请求不填，表示从头开始遍历；分页查询结果还有更多项时会同时返回新的 page_token，下次遍历可采用该 page_token 获取查询结果<br>**示例值**：eVQrYzJBNDNONlk4VFZBZVlSdzlKdFJ4bVVHVExENDNKVHoxaVdiVnViQT0=
page_size | int | 否 | 分页大小<br>**示例值**：20<br>**默认值**：`20`<br>**数据校验规则**：<br>- 取值范围：`1` ～ `50`

### 请求体

名称 | 类型 | 必填 | 描述
---|---|---|---
is_active | boolean | 否 | 指标启用状态，填写时根据指定启用状态进行筛选<br>**示例值**：true
tag_ids | string\[\] | 否 | 指标标签 ID 列表，可通过[获取指标标签信息](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/performance-v2/metric_tag/list)接口获取，填写时筛选拥有指定标签的指标<br>**示例值**：["7302271694582841364"]<br>**数据校验规则**：<br>- 长度范围：`0` ～ `99`
type_ids | string\[\] | 否 | 指标类型 ID 列表，可通过[获取指标模板列表](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/performance-v2/metric_template/query)<br>接口返回结果中的 `data.items.metrics.type_id` 获取，填写时根据指定的指标类型进行筛选，type_ids的长度范围（0～99）<br>**示例值**：["7272578300650717203"]
range_of_availability | string | 否 | 指标可用范围，填写时根据指定可用范围进行筛选<br>**示例值**："admins_and_reviewees"<br>**可选值有**：<br>- admins_and_reviewees：允许管理员下发和被评估人选用<br>- only_admins：仅允许管理员下发
scoring_setting_type | string | 否 | 指标评分类型，填写时根据指定评分类型进行筛选<br>**示例值**："score_manually"<br>**可选值有**：<br>- score_manually：手动评分<br>- score_by_formula：公式评分

### 请求体示例
```json
{
    "is_active": true,
    "tag_ids": [
        "7302271694582841364"
    ],
    "type_ids": [
        "7272578300650717203"
    ],
    "range_of_availability": "admins_and_reviewees",
    "scoring_setting_type": "score_manually"
}
```

## 响应

### 响应体

名称 | 类型 | 描述
---|---|---
code | int | 错误码，非 0 表示失败
msg | string | 错误描述
data | \- | \-
items | metric_in_library\[\] | 指标信息
metric_id | string | 指标 ID
name | string | 指标名称
type_id | string | 指标类型 ID
tags | metric_tag\[\] | 指标标签信息
tag_id | string | 指标标签 ID，详情可查看：[获取指标标签信息](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/performance-v2/metric_tag/list)
tag_name | i18n | 标签名称
zh_cn | string | 标签中文名称
en_us | string | 标签英文名称
fields | metric_field_in_library\[\] | 指标字段信息
field_id | string | 指标字段 ID，详情可查看：[获取指标字段详情](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/performance-v2/metric_field/query)
input_setting | string | 指标字段填写设置类型<br>**可选值有**：<br>- admin：管理员统一配置<br>- data_source_inputter：数据源录入人填写<br>- reviewee：指标制定人填写
field_value | string | 指标字段值
field_value_person | user | 字段值，当字段为人员信息时有值
open_id | string | 用户的 open_id
user_id | string | 用户的 user_id，取值与user_id_type一致
scoring_setting_type | string | 指标评分设置类型<br>**可选值有**：<br>- score_manually：手动评分<br>- score_by_formula：公式评分
scoring_formula | formula | 指标评分公式
formula_id | string | 公式 ID
formula_name | string | 公式名称
formula_details | string | 公式详情
data_source_inputters | user\[\] | 指标数据源录入人 ID
open_id | string | 指标数据源录入人的 open_id
user_id | string | 指标数据源录入人的 user_id，取值与入参 `user_id_type` 类型一致
range_of_availability | string | 指标可用范围<br>**可选值有**：<br>- admins_and_reviewees：允许管理员下发和被评估人选用<br>- only_admins：仅允许管理员下发
is_active | boolean | 指标状态是否为启用
has_more | boolean | 是否还有更多项
page_token | string | 分页标记，当 has_more 为 true 时，会同时返回新的 page_token，否则不返回 page_token

### 响应体示例
```json
{
    "code": 0,
    "msg": "success",
    "data": {
        "items": [
            {
                "metric_id": "7272581996315099155",
                "name": "销售额",
                "type_id": "7272578300650717203",
                "tags": [
                    {
                        "tag_id": "7302271694582841364",
                        "tag_name": {
                            "zh_cn": "体验",
                            "en_us": "Interactive experience"
                        }
                    }
                ],
                "fields": [
                    {
                        "field_id": "7296701873237786643",
                        "input_setting": "admin",
                        "field_value": "90",
                        "field_value_person": {
                            "open_id": "od-asd2dasdasd",
                            "user_id": "ou-ux987dsf6x"
                        }
                    }
                ],
                "scoring_setting_type": "score_by_formula",
                "scoring_formula": {
                    "formula_id": "7302271694582841364",
                    "formula_name": "示例公式",
                    "formula_details": "1 + 1"
                },
                "data_source_inputters": [
                    {
                        "open_id": "od-asd2dasdasd",
                        "user_id": "ou-ux987dsf6x"
                    }
                ],
                "range_of_availability": "admins_and_reviewees",
                "is_active": true
            }
        ],
        "has_more": true,
        "page_token": "eVQrYzJBNDNONlk4VFZBZVlSdzlKdFJ4bVVHVExENDNKVHoxaVdiVnViQT0="
    }
}
```

### 错误码

HTTP状态码 | 错误码 | 描述 | 排查建议
---|---|---|---
500 | 1580101 | internal error | 服务内部错误，请根据实际报错信息定位或咨询[技术支持](https://applink.feishu.cn/TLJpeNdW)
400 | 1580102 | param is invalid | 检查参数是否正确，例如类型，大小
400 | 1580107 | page token invalid | page token 不存在，请检查 `page_token` 是否正确
400 | 1580108 | page token expired | page token 已过期，请重新获取 `page_token`
400 | 1580901 | tenant no licnese | 租户无绩效席位，请联系租户管理员开通绩效席位

更多错误码信息，参见[通用错误码](https://open.feishu.cn/document/ukTMukTMukTM/ugjM14COyUjL4ITN)。

