# 更新任职信息

默认为新增一条任职记录，包括职务、职级、序列、部门等信息。
**注意事项**：- 本接口不再推荐使用（历史问题较多），请使用以下接口（对齐业务、功能完善）
  - [【发起员工异动】](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/corehr-v2/job_change/create)
  - [【操作员工离职】](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/corehr-v1/offboarding/submit)
- 为解决默认无校验容易产生脏数据问题，已于 **2024.10.18** 日修改 strict_verify 的默认值为 true
**注意事项**：- 此接口默认缺乏业务校验，使用 strict_verify=true，相当于【人事系统-异动无审批】
  - 应用业务校验、发送异动事件、新增任职记录
  - 在【修改工时制度】、【插入任职记录】等场景下请检查异动管理
- 「任职原因」不允许填写为「onboarding」或「offboarding」
- 当上一个任职版本的「任职原因」为「onboarding」时，「任职原因」必填
- 该接口默认是新增一条任职记录，并非原地编辑
**注意事项**：- 非必填字段，如无特殊说明，不传时即不做变更

## 请求

基本 | &nbsp;
---|---
HTTP URL | https://open.feishu.cn/open-apis/corehr/v1/job_datas/:job_data_id
HTTP Method | PATCH
接口频率限制 | [1000 次/分钟、50 次/秒](https://open.feishu.cn/document/ukTMukTMukTM/uUzN04SN3QjL1cDN)
支持的应用类型 | Custom App
权限要求<br>**调用该 API 所需的权限。开启其中任意一项权限即可调用**<br>开启任一权限即可 | 更新核心人事信息(corehr:corehr)<br>读写任职信息(corehr:job_data:write)
字段权限要求 | **注意事项**：该接口返回体中存在下列敏感字段，仅当开启对应的权限后才会返回；如果无需获取这些字段，则不建议申请<br>获取员工通道信息(corehr:employment.pathway:read)<br>读写员工通道(corehr:employment.pathway:write)<br>获取用户 user ID(contact:user.employee_id:readonly)<br>获取薪资类型(corehr:job_data.compensation_type:read)<br>获取任职公司(corehr:job_data.service_company:read)<br>获取排班信息(corehr:job_data.work_shift:read)

### 请求头

名称 | 类型 | 必填 | 描述
---|---|---|---
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"

### 路径参数

名称 | 类型 | 描述
---|---|---
job_data_id | string | 任职信息ID<br>**示例值**："151515"

### 查询参数

名称 | 类型 | 必填 | 描述
---|---|---|---
client_token | string | 否 | 操作的唯一标识，用于幂等的进行更新操作，格式为标准的 UUIDV4。此值为空表示将发起一次新的请求，此值非空表示幂等的进行更新操作。<br>**示例值**："fe599b60-450f-46ff-b2ef-9f6675625b97"
user_id_type | string | 否 | 用户 ID 类型<br>**示例值**：people_corehr_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：以飞书人事的 ID 来识别用户<br>**默认值**：`people_corehr_id`<br>**当值为 `user_id`，字段权限要求**：<br>获取用户 user ID(contact:user.employee_id:readonly)
department_id_type | string | 否 | 此次调用中使用的部门 ID 类型<br>**示例值**：open_department_id<br>**可选值有**：<br>- open_department_id：【飞书】用来在具体某个应用中标识一个部门，同一个 department_id 在不同应用中的 open_department_id 相同。<br>- department_id：【飞书】用来标识租户内一个唯一的部门。<br>- people_corehr_department_id：【飞书人事】用来标识「飞书人事」中的部门。<br>**默认值**：`people_corehr_department_id`
strict_verify | string | 否 | 是否强校验。值为 true 时，会对入参进行业务校验，并产生异动记录、发送异动事件。<br>- 默认值：true <br>- 仅在新增任职版本时生效，即当 version_id 有值时该字段不生效<br>- 使用此功能时，试用期相关字段不支持<br>- 当响应返回的任职数据无变化时，请检查人事系统-异动管理<br>**示例值**：false

### 请求体

名称 | 类型 | 必填 | 描述
---|---|---|---
version_id | string | 否 | 任职记录版本 ID<br>- ID 不为空时，将更新指定版本的任职记录内容<br>- ID 为空时，将新增一个版本<br>功能灰度中，若需要更新指定版本请联系[技术支持](https://applink.feishu.cn/TLJpeNdW)<br>**示例值**："6890452208593372697"
job_level_id | string | 否 | 职务级别 ID，枚举值及详细信息可通过[【批量查询职级】](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/corehr-v1/job_level/list)接口查询获得<br>**示例值**："6890452208593372679"
job_grade_id | string | 否 | 职等 ID，枚举值及详细信息可通过[【查询职等】](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/corehr-v2/job_grade/query)接口查询获得<br>**示例值**："6890452208593372679"
employee_type_id | string | 否 | 人员类型 ID，枚举值及详细信息可通过[【批量查询人员类型】](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/corehr-v1/employee_type/list)接口查询获得<br>**示例值**："6890452208593372679"
working_hours_type_id | string | 否 | 工时制度 ID，枚举值及详细信息可通过[【批量查询工时制度】](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/corehr-v1/working_hours_type/list)接口查询获得<br>**示例值**："6890452208593372679"
work_location_id | string | 否 | 工作地点 ID，枚举值及详细信息可通过[【批量查询地点】](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/corehr-v1/location/list)接口查询获得<br>**示例值**："6890452208593372679"
department_id | string | 否 | 部门 ID，枚举值及详细信息可通过[【批量查询部门】](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/corehr-v2/department/batch_get)接口查询获得<br>- 与 department_id_type 类型一致<br>**示例值**："6890452208593372679"
job_id | string | 否 | 职务 ID，枚举值及详细信息可通过[【批量查询职务】](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/corehr-v2/job/list)接口查询获得<br>**示例值**："6890452208593372679"
probation_start_date | string | 否 | 试用期开始日期<br>- strict_verify 为 true 时不支持该字段<br>**示例值**："2018-03-16"
probation_end_date | string | 否 | 试用期结束日期（实际结束日期）<br>- strict_verify 为 true 时不支持该字段<br>**示例值**："2019-05-24"
primary_job_data | boolean | 否 | 是否为主任职<br>- 该字段已废弃，默认为 true，不可更改<br>**示例值**：true
effective_time | string | 否 | 生效时间<br>- 不可为空字符，不传时默认值为当天<br>**示例值**："2020-05-01 00:00:00"
expiration_time | string | 否 | 失效时间<br>- strict_verify 为 true 时不支持该字段<br>**示例值**："2020-05-02 00:00:00"
job_family_id | string | 否 | 职务序列 ID，枚举值及详细信息可通过[【批量查询序列】](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/corehr-v1/job_family/list)接口查询获得<br>**示例值**："1245678"
assignment_start_reason | enum | 否 | 业务类型（原：任职原因）<br>- 枚举值[【获取字段详情】](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/corehr-v1/custom_field/get_by_param)<br>- object_api_name: job_data<br>- custom_api_name: assignment_start_reason<br>- 请注意，该枚举不允许填写为「onboarding、offboarding」，当上一个任职版本的值为「onboarding」时，该字段必填<br>**示例值**：onboarding
enum_name | string | 是 | 枚举值<br>**示例值**："job_status_change"
probation_expected_end_date | string | 否 | 预计试用期结束日期<br>- strict_verify 为 true 时不支持该字段<br>**示例值**："2006-01-02"
direct_manager_id | string | 否 | 直属上级的任职记录 ID，详细信息可通过[【批量查询员工任职信息】](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/corehr-v2/employees-job_data/batch_get)接口查询获得<br>**示例值**："6890452208593372679"
dotted_line_manager_id_list | string\[\] | 否 | 虚线上级的任职记录 ID，详细信息可通过[【批量查询员工任职信息】](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/corehr-v2/employees-job_data/batch_get)接口查询获得<br>**示例值**：["6890452208593372681"]
second_direct_manager_id | string | 否 | 第二直属上级的任职记录 ID，详细信息可通过[【批量查询员工任职信息】](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/corehr-v2/employees-job_data/batch_get)接口查询获得<br>- strict_verify 为 true 时不支持该字段<br>**示例值**："6890452208593372679"
cost_center_rate | support_cost_center_item\[\] | 否 | 成本中心分摊信息<br>- 当 version_id 有值时，不支持该字段
cost_center_id | string | 否 | 支持的成本中心 ID，详细信息可通过[【搜索成本中心信息】](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/corehr-v2/cost_center/search)接口查询获得<br>**示例值**："6950635856373745165"
rate | int | 否 | 分摊比例<br>**示例值**：100
work_shift | enum | 否 | 排班类型，枚举值 api_name 可通过[【获取字段详情】](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/corehr-v1/custom_field/get_by_param)接口查询，查询参数如下：<br>- object_api_name = "job_data"<br>- custom_api_name = "work_shift"
enum_name | string | 是 | 枚举值。需自定义<br>**示例值**："example"
compensation_type | enum | 否 | 薪资类型，枚举值 api_name 可通过[【获取字段详情】](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/corehr-v1/custom_field/get_by_param)接口查询，查询参数如下：<br>- object_api_name = "job_data"<br>- custom_api_name = "compensation_type"
enum_name | string | 是 | 枚举值。需自定义<br>**示例值**："example"
service_company | string | 否 | 任职公司 ID，详细信息可通过[【批量查询公司】](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/corehr-v1/company/list)接口查询获得<br>**示例值**："6890452208593372680"
pathway_id | string | 否 | 通道 ID<br>**示例值**："6890452208593372671"

### 请求体示例
```json
{
    "version_id": "6890452208593372697",
    "job_level_id": "6890452208593372679",
    "job_grade_id": "6890452208593372679",
    "employee_type_id": "6890452208593372679",
    "working_hours_type_id": "6890452208593372679",
    "work_location_id": "6890452208593372679",
    "department_id": "6890452208593372679",
    "job_id": "6890452208593372679",
    "probation_start_date": "2018-03-16",
    "probation_end_date": "2019-05-24",
    "primary_job_data": true,
    "effective_time": "2020-05-01 00:00:00",
    "expiration_time": "2020-05-02 00:00:00",
    "job_family_id": "1245678",
    "assignment_start_reason": {
        "enum_name": "job_status_change"
    },
    "probation_expected_end_date": "2006-01-02",
    "direct_manager_id": "6890452208593372679",
    "dotted_line_manager_id_list": [
        "6890452208593372681"
    ],
    "second_direct_manager_id": "6890452208593372679",
    "cost_center_rate": [
        {
            "cost_center_id": "6950635856373745165",
            "rate": 100
        }
    ],
    "work_shift": {
        "enum_name": "example"
    },
    "compensation_type": {
        "enum_name": "example"
    },
    "service_company": "6890452208593372680",
    "pathway_id": "6890452208593372671"
}
```

## 响应

### 响应体

名称 | 类型 | 描述
---|---|---
code | int | 错误码，非 0 表示失败
msg | string | 错误描述
data | \- | \-
job_data | job_data | 任职信息
id | string | 任职信息 ID
version_id | string | 任职记录版本 ID
job_level_id | string | 职务级别 ID，枚举值及详细信息可通过[【查询单个职级】](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/corehr-v1/job_level/get)接口查询获得
job_grade_id | string | 职等 ID，枚举值及详细信息可通过[【查询职等】](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/corehr-v2/job_grade/query)接口查询获得
employee_type_id | string | 人员类型 ID，枚举值及详细信息可通过[【查询单个人员类型】](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/corehr-v1/employee_type/get)接口查询获得
working_hours_type_id | string | 工时制度 ID，枚举值及详细信息可通过[【查询单个工时制度】](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/corehr-v1/working_hours_type/get)接口查询获得
work_location_id | string | 工作地点 ID，枚举值及详细信息可通过[【查询单个地点】](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/corehr-v1/location/get)接口查询获得
department_id | string | 部门 ID，详细信息可通过[【批量查询部门】](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/corehr-v2/department/batch_get)接口查询获得
job_id | string | 职务 ID，枚举值及详细信息可通过[【查询单个职务】](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/corehr-v1/job/get)接口查询获得
probation_start_date | string | 试用期开始日期
probation_end_date | string | 试用期结束日期（实际结束日期）
primary_job_data | boolean | 是否为主任职
employment_id | string | 雇佣 ID，详细信息可以通过[【搜索员工信息】](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/corehr-v2/employee/search)接口查询获得<br>与 user_id_type 类型一致
effective_time | string | 任职记录版本的生效时间
expiration_time | string | 任职记录版本的失效时间
job_family_id | string | 职务序列 ID，枚举值及详细信息可通过[【查询单个序列】](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/corehr-v1/job_family/get)接口查询获得
assignment_start_reason | enum | 业务类型（原：任职原因）<br>- 可通过[【获取字段详情】](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/corehr-v1/custom_field/get_by_param)接口查询，查询参数如下：<br>- object_api_name：job_data<br>- custom_api_name：assignment_start_reason
enum_name | string | 枚举值
display | i18n\[\] | 枚举多语展示
lang | string | 名称信息的语言
value | string | 名称信息的内容
probation_expected_end_date | string | 预计试用期结束日期
weekly_working_hours | int | 周工作时长
direct_manager_id | string | 直属上级的任职记录 ID，详细信息可通过[【批量查询员工任职信息】](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/corehr-v2/employees-job_data/batch_get)接口查询获得
dotted_line_manager_id_list | string\[\] | 虚线上级的任职记录 ID，详细信息可通过[【批量查询员工任职信息】](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/corehr-v2/employees-job_data/batch_get)接口查询获得
second_direct_manager_id | string | 第二直属上级的任职记录 ID，详细信息可通过[【批量查询员工任职信息】](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/corehr-v2/employees-job_data/batch_get)接口查询获得
cost_center_rate | support_cost_center_item\[\] | 成本中心分摊信息
cost_center_id | string | 支持的成本中心 ID，详细信息可通过[【搜索成本中心信息】](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/corehr-v2/cost_center/search)接口查询获得
rate | int | 分摊比例
weekly_working_hours_v2 | number(float) | 周工作时长
work_shift | enum | 排班类型，可通过[【获取字段详情】](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/corehr-v1/custom_field/get_by_param)接口查询，查询参数如下：<br>- object_api_name = "job_data"<br>- custom_api_name = "work_shift"<br>**字段权限要求**：<br>获取排班信息(corehr:job_data.work_shift:read)
enum_name | string | 枚举值
display | i18n\[\] | 枚举多语展示
lang | string | 语言
value | string | 内容
compensation_type | enum | 薪资类型，可通过[【获取字段详情】](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/corehr-v1/custom_field/get_by_param)接口查询，查询参数如下：<br>- object_api_name = "job_data"<br>- custom_api_name = "compensation_type"<br>**字段权限要求**：<br>获取薪资类型(corehr:job_data.compensation_type:read)
enum_name | string | 枚举值
display | i18n\[\] | 枚举多语展示
lang | string | 语言
value | string | 内容
service_company | string | 任职公司，可通过[【查询单个公司】](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/corehr-v1/company/get)<br>查询详细信息<br>**字段权限要求**：<br>获取任职公司(corehr:job_data.service_company:read)
pathway_id | string | 通道 ID<br>**字段权限要求（满足任一）**：<br>获取员工通道信息(corehr:employment.pathway:read)<br>读写员工通道(corehr:employment.pathway:write)

### 响应体示例
```json
{
    "code": 0,
    "msg": "success",
    "data": {
        "job_data": {
            "id": "6890452208593372679",
            "version_id": "6890452208593372697",
            "job_level_id": "6890452208593372679",
            "job_grade_id": "6890452208593372679",
            "employee_type_id": "6890452208593372679",
            "working_hours_type_id": "6890452208593372679",
            "work_location_id": "6890452208593372679",
            "department_id": "6890452208593372679",
            "job_id": "6890452208593372679",
            "probation_start_date": "2018-03-16",
            "probation_end_date": "2019-05-24",
            "primary_job_data": true,
            "employment_id": "6893014062142064135",
            "effective_time": "2020-05-01 00:00:00",
            "expiration_time": "2020-05-02 00:00:00",
            "job_family_id": "1245678",
            "assignment_start_reason": {
                "enum_name": "type_1",
                "display": [
                    {
                        "lang": "zh-CN",
                        "value": "张三"
                    }
                ]
            },
            "probation_expected_end_date": "2006-01-02",
            "weekly_working_hours": 30,
            "direct_manager_id": "6890452208593372679",
            "dotted_line_manager_id_list": [
                "6890452208593372681"
            ],
            "second_direct_manager_id": "6890452208593372679",
            "cost_center_rate": [
                {
                    "cost_center_id": "6950635856373745165",
                    "rate": 100
                }
            ],
            "weekly_working_hours_v2": 37.5,
            "work_shift": {
                "enum_name": "example",
                "display": [
                    {
                        "lang": "zh-CN",
                        "value": "example"
                    }
                ]
            },
            "compensation_type": {
                "enum_name": "example",
                "display": [
                    {
                        "lang": "zh-CN",
                        "value": "example"
                    }
                ]
            },
            "service_company": "6890452208593372680",
            "pathway_id": "6890452208593372671"
        }
    }
}
```

### 错误码

HTTP状态码 | 错误码 | 描述 | 排查建议
---|---|---|---
400 | 1160004 | request ID repeat | request ID 重复，请检查传入参数
400 | 1160019 | The sum of cost center apportionment ratio should be 100. | 成本中心分摊比率之和应为100
400 | 1160003 | record is deleted by others | 记录被其他人删除
500 | 1160999 | unknown error | 请联系[技术支持](https://applink.feishu.cn/TLJpeNdW)
500 | 1160997 | unknown meta rpc | 请联系[技术支持](https://applink.feishu.cn/TLJpeNdW)
500 | 1160998 | unknown vault rpc error | 请联系[技术支持](https://applink.feishu.cn/TLJpeNdW)
500 | 1160813 | duplicate entry record | 重复录入记录

