# 批量查询员工薪资档案

批量查询员工薪资档案
**注意事项**：该接口会按照应用拥有的「薪资档案资源」的权限范围返回数据，请确定在「开发者后台 - 权限管理 - 数据权限」中已申请「薪资档案资源」权限范围

## 请求

基本 | &nbsp;
---|---
HTTP URL | https://open.feishu.cn/open-apis/compensation/v1/archives/query
HTTP Method | POST
接口频率限制 | [10 次/秒](https://open.feishu.cn/document/ukTMukTMukTM/uUzN04SN3QjL1cDN)
支持的应用类型 | Custom App
权限要求<br>**调用该 API 所需的权限。开启其中任意一项权限即可调用** | 获取基础薪酬的薪资档案信息(corehr:compensation_archive_detail:read)
字段权限要求 | **注意事项**：该接口返回体中存在下列敏感字段，仅当开启对应的权限后才会返回；如果无需获取这些字段，则不建议申请<br>获取用户 user ID(contact:user.employee_id:readonly)<br>获取薪资档案的调薪说明(corehr:compensation_archive_detail.change_description:read)<br>获取薪资档案的关联薪资指标(corehr:compensation_archive_detail.indicators:read)<br>获取薪资档案的关联薪资项(corehr:compensation_archive_detail.items:read)<br>获取薪资档案的关联方案(corehr:compensation_archive_detail.plan:read)<br>获取薪资档案的关联薪级薪等(corehr:compensation_archive_detail.salary_level:read)

### 请求头

名称 | 类型 | 必填 | 描述
---|---|---|---
Authorization | string | 是 | `tenant_access_token`<br>或<br>`user_access_token`<br>**值格式**："Bearer `access_token`"<br>**示例值**："Bearer u-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"

### 查询参数

名称 | 类型 | 必填 | 描述
---|---|---|---
page_size | int | 是 | 分页大小<br>**示例值**：100<br>**默认值**：`100`<br>**数据校验规则**：<br>- 取值范围：`1` ～ `500`
page_token | string | 否 | 分页标记，第一次请求不填，表示从头开始遍历；分页查询结果还有更多项时会同时返回新的 page_token，下次遍历可采用该 page_token 获取查询结果<br>**示例值**：231432433
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_corehr_id：以people_corehr_id来识别用户<br>**默认值**：`open_id`<br>**当值为 `user_id`，字段权限要求**：<br>获取用户 user ID(contact:user.employee_id:readonly)

### 请求体

名称 | 类型 | 必填 | 描述
---|---|---|---
user_id_list | string\[\] | 是 | 用户ID列表，获取方式可参考查询参数中的「user_id_type」字段<br>**示例值**：["7117649868058789407"]<br>**数据校验规则**：<br>- 长度范围：`1` ～ `100`
tid_list | string\[\] | 否 | 档案Tid列表<br>**示例值**：["141541351"]<br>**数据校验规则**：<br>- 长度范围：`1` ～ `100`
effective_start_date | string | 否 | 生效开始时间<br>**示例值**："2022-05-10"
effective_end_date | string | 否 | 生效结束时间<br>**示例值**："2023-05-15"

### 请求体示例
```json
{
    "user_id_list": [
        "7117649868058789407"
    ],
    "tid_list": [
        "141541351"
    ],
    "effective_start_date": "2022-05-10",
    "effective_end_date": "2023-05-15"
}
```

## 响应

### 响应体

名称 | 类型 | 描述
---|---|---
code | int | 错误码，非 0 表示失败
msg | string | 错误描述
data | \- | \-
items | archive_detail\[\] | 档案信息列表
user_id | string | 员工ID，返回的ID类型与查询参数中的「user_id_type」的取值一致
id | string | 员工薪资档案ID
tid | string | 员工薪资档案版本ID，薪资档案唯一标识
plan_id | string | 关联薪资方案ID，详细信息可以通过[批量查询薪资方案](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/compensation-v1/plan/list)接口查询获得<br>**字段权限要求**：<br>获取薪资档案的关联方案(corehr:compensation_archive_detail.plan:read)
plan_tid | string | 关联薪资方案版本ID，薪资方案唯一标识，详细信息可以通过[批量查询薪资方案](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/compensation-v1/plan/list)接口查询获得<br>**字段权限要求**：<br>获取薪资档案的关联方案(corehr:compensation_archive_detail.plan:read)
currency_id | string | 档案币种ID，详细信息可以通过[查询货币信息v2](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/corehr-v2/basic_info-currency/search)接口查询获得
change_reason_id | string | 调薪原因ID，详细信息可以通过[批量查询定调薪原因](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/compensation-v1/change_reason/list)接口查询获得
change_description | string | 调薪说明<br>**字段权限要求**：<br>获取薪资档案的调薪说明(corehr:compensation_archive_detail.change_description:read)
effective_date | string | 生效时间
expiration_date | string | 失效时间
salary_level_id | string | 薪级薪等ID<br>**字段权限要求**：<br>获取薪资档案的关联薪级薪等(corehr:compensation_archive_detail.salary_level:read)
created_time | string | 创建时间
updated_time | string | 更新时间
archive_items | archive_item\[\] | 档案关联的薪资项<br>**字段权限要求**：<br>获取薪资档案的关联薪资项(corehr:compensation_archive_detail.items:read)
item_id | string | 薪资项ID，详细信息可以通过[批量查询薪资项](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/compensation-v1/item/list)接口查询获得
item_result | string | 档案关联薪酬项数值
item_result_regular | string | 档案关联薪酬项转正后数值
archive_indicators | archive_indicator\[\] | 档案关联的薪资指标<br>**字段权限要求**：<br>获取薪资档案的关联薪资指标(corehr:compensation_archive_detail.indicators:read)
indicator_id | string | 薪资统计指标ID，详细信息可以通过[批量查询薪资统计指标](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/compensation-v1/indicator/list)接口查询获得
indicator_result | string | 档案关联薪资统计指标数值
indicator_result_regular | string | 档案关联薪资统计指标转正后数值
page_token | string | 分页标记，当 has_more 为 true 时，会同时返回新的 page_token，否则不返回 page_token
has_more | boolean | 是否还有更多项

### 响应体示例
```json
{
    "code": 0,
    "msg": "success",
    "data": {
        "items": [
            {
                "user_id": "344325234123",
                "id": "32141234412",
                "tid": "141541351",
                "plan_id": "123412433",
                "plan_tid": "213412343",
                "currency_id": "324167823",
                "change_reason_id": "321414123",
                "change_description": "长期表现优异，产出高，本次给出涨幅",
                "effective_date": "2022-10-23",
                "expiration_date": "2022-10-24",
                "salary_level_id": "12342313",
                "created_time": "2024-01-01 00:00:00",
                "updated_time": "2024-01-01 00:00:00",
                "archive_items": [
                    {
                        "item_id": "213423144",
                        "item_result": "15000",
                        "item_result_regular": "18000"
                    }
                ],
                "archive_indicators": [
                    {
                        "indicator_id": "23141423",
                        "indicator_result": "15000",
                        "indicator_result_regular": "18000"
                    }
                ]
            }
        ],
        "page_token": "1234452132",
        "has_more": true
    }
}
```

### 错误码

HTTP状态码 | 错误码 | 描述 | 排查建议
---|---|---|---
500 | 2290001 | server error | 服务端异常
400 | 2290002 | tenantID param invalid | 租户参数异常
500 | 2290003 | server error | 下游服务调用异常
400 | 2290004 | the format of start_date not match, correct  example:  "2024-01-01" | 生效开始时间不合法，正确样式："2024-01-01"
400 | 2290005 | the format of end_date not match, correct  example:  "2024-01-01" | 生效结束时间不合法，正确样式："2024-01-01"
400 | 2290006 | user_id_type invalid | user_id_type不合法

