# 发起员工异动

该接口用于发起员工异动（变更员工雇佣信息），若发起成功，会生成一条员工的异动数据
**注意事项**：本接口会产生事件：[异动状态变更事件](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/corehr-v2/job_change/events/status_updated)
**注意事项**：该接口会按照应用拥有的「异动记录资源」的权限范围返回数据，请确定在「开发者后台 - 权限管理 - 数据权限」中申请了「异动记录资源」权限范围

## 请求

基本 | &nbsp;
---|---
HTTP URL | https://open.feishu.cn/open-apis/corehr/v2/job_changes
HTTP Method | POST
接口频率限制 | [100 次/分钟](https://open.feishu.cn/document/ukTMukTMukTM/uUzN04SN3QjL1cDN)
支持的应用类型 | Custom App
权限要求<br>**调用该 API 所需的权限。开启其中任意一项权限即可调用** | 写员工异动信息(corehr:job_change:create)
字段权限要求 | **注意事项**：该接口返回体中存在下列敏感字段，仅当开启对应的权限后才会返回；如果无需获取这些字段，则不建议申请<br>获取合同主体信息(corehr:contract.company:read)<br>获取合同期限信息(corehr:contract.period:read)<br>获取员工的职务信息(corehr:employment.job:read)<br>获取职务级别信息(corehr:employment.job_level:read)<br>获取员工异动自定义字段信息(corehr:job_change.custom_field:read)<br>获取异动工作信息自定义字段(corehr:job_change.employment_custom_field:read)<br>读取异动信息中的通道字段信息(corehr:job_change.pathway:read)<br>读写异动信息中的通道字段信息(corehr:job_change.pathway:write)<br>获取异动流程备注信息(corehr:job_change.remark:read)<br>读写员工的职务级别信息(corehr:employment.job_level:write)<br>读写合同期限信息(corehr:contract.period:write)<br>读写合同主体信息(corehr:contract.company:write)<br>获取异动单据是否调薪字段(corehr:job_change.is_adjust_salary:read)<br>获取职等信息(corehr:employment.job_grade:read)<br>读写职等信息(corehr:employment.job_grade:write)<br>获取用户 user ID(contact:user.employee_id:readonly)<br>获取异动单据社保字段(corehr:job_change.social_security_city:read)<br>获取薪资类型(corehr:job_data.compensation_type:read)<br>获取任职公司(corehr:job_data.service_company: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"

### 查询参数

名称 | 类型 | 必填 | 描述
---|---|---|---
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>- people_corehr_id：以飞书人事的ID来识别用户<br>**默认值**：`open_id`<br>**当值为 `user_id`，字段权限要求**：<br>获取用户 user ID(contact:user.employee_id:readonly)
department_id_type | string | 否 | 此次调用中使用的部门 ID 类型<br>**示例值**：people_corehr_department_id<br>**可选值有**：<br>- open_department_id：以 open_department_id 来标识部门<br>- department_id：以 department_id 来标识部门<br>- people_corehr_department_id：以 people_corehr_department_id 来标识部门<br>**默认值**：`people_corehr_department_id`

### 请求体

名称 | 类型 | 必填 | 描述
---|---|---|---
transfer_mode | int | 是 | 异动方式<br>**示例值**：2<br>**可选值有**：<br>- 1：直接异动（无审批）<br>- 2：正常异动（完整流程）
employment_id | string | 是 | 雇员ID，ID 类型与查询参数 user_id_type 的取值一致。<br>- 当user_id_type=user_id时，该字段取员工的user_id，取值参考user_id_type部分。<br>- 当user_id_type=people_corehr_id时，则取该员工的人事雇佣ID，可从[雇佣ID](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/corehr-v2/employee/search)接口获取。<br>**示例值**："ou_a294793e8fa21529f2a60e3e9de45520"
transfer_type_unique_identifier | string | 是 | 异动类型唯一标识，不支持仅在特殊场景使用的异动类型，如组织架构调整、职责转交和试用期转正，不会校验是否停用。  <br>可通过接口[获取异动类型列表](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/corehr-v1/transfer_type/query)获取<br>**示例值**："internal_transfer"
flow_id | string | 否 | 关联流程唯一标识符，可通过接口[获取异动类型列表](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/corehr-v1/transfer_type/query)获取<br>注意：当transfer_mode（异动方式）为2时，该字段为必填<br>**示例值**："people_6963913041981490725_6983885526583627531"
effective_date | string | 是 | 生效日期，格式："YYYY-MM-DD"<br>**示例值**："2022-03-01"
transfer_info | create_transfer_info | 是 | 异动详细信息，以下参数如不传，无默认值，代表对应数据无异动
remark | string | 否 | 备注<br>**示例值**："异动详情"
offer_info | string | 否 | offer信息。<br>格式为 json 转义：{\"resume_id\": \"xx\",    \"resume_detail\": \"yy\"}。<br>resume_id 为投递ID<br>**示例值**："{\"resume_id\": \"xx\",    \"resume_detail\": \"yy\"}"
target_dotted_manager_clean | boolean | 否 | 是否撤销虚线上级，当值为true时，target_dotted_manager值为空。<br>**示例值**：false
probation_exist | boolean | 否 | 是否有试用期，当值为true时，target_probation_end_date值不应为空。<br>**示例值**：true
target_department | string | 否 | 新部门ID，可通过[【批量查询部门】](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/corehr-v2/department/batch_get)接口获取<br>**示例值**："6966236933198579208"
target_work_location | string | 否 | 新工作地点，可通过[【批量查询地点】](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/corehr-v1/location/list)接口获取<br>**示例值**："6967271100992587295"
target_direct_manager | string | 否 | 新直属上级，可通过[【搜索员工信息】](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/corehr-v2/employee/search)接口获取<br>**示例值**："7013619729281713671"
target_dotted_manager | string | 否 | 新虚线上级，可通过[【搜索员工信息】](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/corehr-v2/employee/search)接口获取<br>**示例值**："7013328578351842852"
target_job | string | 否 | 新职务，<br>可通过[【批量查询职务】](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/corehr-v2/job/list)接口获取<br>**示例值**："6969469557836760606"
target_job_family | string | 否 | 新序列ID，可通过[【批量查询序列】](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/corehr-v1/job_family/list)接口获取<br>**示例值**："6967287547462419975"
target_job_level | string | 否 | 新职级ID，<br>可通过[【批量查询职级】](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/corehr-v1/job_level/list)接口获取<br>**示例值**："6972085707674355214"
target_workforce_type | string | 否 | 新人员类型，可通过[【批量查询人员类型】](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/corehr-v1/employee_type/list)接口获取<br>**示例值**："7036268995372303885"
target_employee_subtype | string | 否 | 新人员子类型，请填与工作地点和人员类型匹配的人员子类型。<br>**示例值**："7036268995372303885"
target_company | string | 否 | 新公司，详细信息可通过[【批量查询公司】](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/corehr-v1/company/list)接口查询获得<br>**示例值**："6974659700705068581"
target_contract_number | string | 否 | 新合同编号，可通过[【批量查询合同】](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/corehr-v1/contract/list)接口获取详细信息<br>**示例值**："55333"
target_contract_type | string | 否 | 新合同类型，可通过[【批量查询合同】](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/corehr-v1/contract/list)接口获取详细信息<br>**示例值**："labor_contract"
target_duration_type | string | 否 | 新期限类型，可通过[【批量查询合同】](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/corehr-v1/contract/list)接口获取详细信息<br>**示例值**："fixed_term"
target_signing_type | string | 否 | 新签订类型，可通过[【批量查询合同】](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/corehr-v1/contract/list)接口获取详细信息<br>**示例值**："new"
target_contract_start_date | string | 否 | 新合同开始日期，格式："YYYY-MM-DD"<br>**示例值**："2021-07-01"
target_contract_end_date | string | 否 | 新合同结束日期，格式："YYYY-MM-DD"<br>**示例值**："2024-07-01"
target_working_hours_type | string | 否 | 新工时制度，可通过[【批量查询工时制度】](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/corehr-v1/working_hours_type/list)接口获取<br>**示例值**："6969087376740206087"
target_working_calendar | string | 否 | 新工作日历，请开通休假服务后联系管理员获取工作日历数据<br>**示例值**："6969087376740236087"
target_probation_end_date | string | 否 | 新试用期预计结束日期，格式："YYYY-MM-DD"<br>**示例值**："2021-11-17"
target_weekly_working_hours | string | 否 | 新周工作时长。取值范围1-168，单位是小时。<br>**示例值**："160"
target_work_shift | string | 否 | 新排班<br>**示例值**："non_work_shift"
target_cost_center_rates | job_data_cost_center\[\] | 否 | 新成本中心分摊方式<br>**数据校验规则**：<br>- 长度范围：`0` ～ `100`
cost_center_id | string | 否 | 支持的成本中心id，详细信息可通过[【搜索成本中心信息】](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/corehr-v2/cost_center/search)接口查询获得<br>**示例值**："6950635856373745165"
rate | int | 否 | 分摊比例(整数)<br>**示例值**：100
target_employment_change | tranfer_employment_info | 否 | 新工作信息
regular_employee_start_date | string | 否 | 转正式员工日期，格式："YYYY-MM-DD"<br>**示例值**："2023-01-01"
seniority_date | string | 否 | 司龄起算日期，格式："YYYY-MM-DD"<br>**示例值**："2023-01-01"
employee_number | string | 否 | 员工编号，可通过[【搜索员工信息】](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/corehr-v2/employee/search)接口获取<br>**示例值**："1111111"
custom_fields | custom_field_data\[\] | 否 | 自定义字段
custom_api_name | string | 是 | 自定义字段 apiname，即自定义字段的唯一标识。可以通过[获取自定义字段列表](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/corehr-v1/custom_field/query)获取<br>**示例值**："name"
value | string | 是 | 字段值，是 json 转义后的字符串，根据元数据定义不同，字段格式不同（如 123, 123.23, "true", ["id1","id2"], "2006-01-02 15:04:05"）<br>注意：<br>1.枚举字段值可通过[获取字段详情](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/corehr-v1/custom_field/get_by_param)获取，参考接口返回的 字段详情 > 字段类型配置信息 > 选项配置信息 > 选项信息 > 枚举常量集 API name<br>**示例值**："\"231\""
target_job_grade | string | 否 | 新职等，可通过[【查询职等】](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/corehr-v2/job_grade/query)接口获取<br>**示例值**："7289005963599693366"
target_compensation_type | string | 否 | 新薪资类型<br>**示例值**："salary"
target_service_company | string | 否 | 新任职公司，详细信息可通过[【批量查询公司】](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/corehr-v1/company/list)接口查询获得<br>**示例值**："7289005963599693368"
target_position | string | 否 | 新岗位<br>**示例值**："7289005963599693367"
target_social_security_city | string | 否 | 新社保城市<br>**示例值**："7289005963599693367"
is_transfer_with_workforce | boolean | 否 | 编制随人员一起调整<br>**示例值**：false
target_pathway | string | 否 | 新通道<br>**示例值**："7289005963599693368"
transfer_key | string | 否 | 异动记录标识符，发起失败可以重新用此标志继续请求<br>**示例值**："transfer_3627531"
initiator_id | string | 否 | 异动发起人 ID<br>**示例值**："ou_a294793e8fa21529f2a60e3e9de45520"
transfer_reason_unique_identifier | string | 否 | 异动原因唯一标识<br>**示例值**："involuntary_transfer"

### 请求体示例
```json
{
    "transfer_mode": 2,
    "employment_id": "ou_a294793e8fa21529f2a60e3e9de45520",
    "transfer_type_unique_identifier": "internal_transfer",
    "flow_id": "people_6963913041981490725_6983885526583627531",
    "effective_date": "2022-03-01",
    "transfer_info": {
        "remark": "异动详情",
        "offer_info": "{\"resume_id\": \"xx\",    \"resume_detail\": \"yy\"}",
        "target_dotted_manager_clean": false,
        "probation_exist": true,
        "target_department": "6966236933198579208",
        "target_work_location": "6967271100992587295",
        "target_direct_manager": "7013619729281713671",
        "target_dotted_manager": "7013328578351842852",
        "target_job": "6969469557836760606",
        "target_job_family": "6967287547462419975",
        "target_job_level": "6972085707674355214",
        "target_workforce_type": "7036268995372303885",
        "target_employee_subtype": "7036268995372303885",
        "target_company": "6974659700705068581",
        "target_contract_number": "55333",
        "target_contract_type": "labor_contract",
        "target_duration_type": "fixed_term",
        "target_signing_type": "new",
        "target_contract_start_date": "2021-07-01",
        "target_contract_end_date": "2024-07-01",
        "target_working_hours_type": "6969087376740206087",
        "target_working_calendar": "6969087376740236087",
        "target_probation_end_date": "2021-11-17",
        "target_weekly_working_hours": "160",
        "target_work_shift": "non_work_shift",
        "target_cost_center_rates": [
            {
                "cost_center_id": "6950635856373745165",
                "rate": 100
            }
        ],
        "target_employment_change": {
            "regular_employee_start_date": "2023-01-01",
            "seniority_date": "2023-01-01",
            "employee_number": "1111111",
            "custom_fields": [
                {
                    "custom_api_name": "name",
                    "value": "\"231\""
                }
            ]
        },
        "target_job_grade": "7289005963599693366",
        "target_compensation_type": "salary",
        "target_service_company": "7289005963599693368",
        "target_position": "7289005963599693367",
        "target_social_security_city": "7289005963599693367",
        "is_transfer_with_workforce": false,
        "target_pathway": "7289005963599693368"
    },
    "transfer_key": "transfer_3627531",
    "initiator_id": "ou_a294793e8fa21529f2a60e3e9de45520",
    "transfer_reason_unique_identifier": "involuntary_transfer"
}
```

## 响应

### 响应体

名称 | 类型 | 描述
---|---|---
code | int | 错误码，非 0 表示失败
msg | string | 错误描述
data | job_change | \-
job_change_id | string | 异动记录 id
employment_id | string | 雇员 id
status | string | 异动状态<br>**可选值有**：<br>- Approving：审批中<br>- Approved：审批通过<br>- Transformed：已异动<br>- Rejected：已拒绝<br>- Cancelled：已撤销<br>- NoNeedApproval：无需审批
transfer_type_unique_identifier | string | 异动类型
transfer_reason_unique_identifier | string | 异动原因
process_id | string | 异动流程 id
effective_date | string | 生效时间
created_time | string | 创建时间
transfer_info | transfer_info | 异动详细信息
remark | string | 备注<br>**字段权限要求**：<br>获取异动流程备注信息(corehr:job_change.remark:read)
offer_info | string | offer信息
target_dotted_manager_clean | boolean | 是否撤销虚线上级，当值为true时，target_dotted_manager值为空。
probation_exist | boolean | 是否有试用期，当值为true时，target_probation_end_date值不应为空。
original_department | string | 原部门
target_department | string | 新部门
original_work_location | string | 原工作地点
target_work_location | string | 新工作地点
original_direct_manager | string | 原直属上级
target_direct_manager | string | 新直属上级
original_dotted_manager | string | 原虚线上级
target_dotted_manager | string | 新虚线上级
original_job | string | 原职务<br>**字段权限要求（满足任一）**：<br>获取员工的职务信息(corehr:employment.job:read)<br>获取职务级别信息(corehr:employment.job_level:read)<br>读写员工的职务级别信息(corehr:employment.job_level:write)
target_job | string | 新职务<br>**字段权限要求（满足任一）**：<br>获取员工的职务信息(corehr:employment.job:read)<br>获取职务级别信息(corehr:employment.job_level:read)<br>读写员工的职务级别信息(corehr:employment.job_level:write)
original_job_family | string | 原序列
target_job_family | string | 新序列
original_job_level | string | 原级别<br>**字段权限要求（满足任一）**：<br>获取职务级别信息(corehr:employment.job_level:read)<br>读写员工的职务级别信息(corehr:employment.job_level:write)
target_job_level | string | 新级别<br>**字段权限要求（满足任一）**：<br>获取职务级别信息(corehr:employment.job_level:read)<br>读写员工的职务级别信息(corehr:employment.job_level:write)
original_workforce_type | string | 原人员类型
target_workforce_type | string | 新人员类型
original_employee_subtype | string | 原人员子类型
target_employee_subtype | string | 新人员子类型
original_company | string | 原公司<br>**字段权限要求（满足任一）**：<br>获取合同主体信息(corehr:contract.company:read)<br>读写合同主体信息(corehr:contract.company:write)
target_company | string | 新公司<br>**字段权限要求（满足任一）**：<br>获取合同主体信息(corehr:contract.company:read)<br>读写合同主体信息(corehr:contract.company:write)
original_contract_number | string | 原合同编号
target_contract_number | string | 新合同编号
original_contract_type | string | 原合同类型
target_contract_type | string | 新合同类型
original_duration_type | string | 原期限类型
target_duration_type | string | 新期限类型
original_signing_type | string | 原签订类型
target_signing_type | string | 新签订类型
original_contract_start_date | string | 原合同开始日期<br>**字段权限要求（满足任一）**：<br>获取合同期限信息(corehr:contract.period:read)<br>读写合同期限信息(corehr:contract.period:write)
target_contract_start_date | string | 新合同开始日期<br>**字段权限要求（满足任一）**：<br>获取合同期限信息(corehr:contract.period:read)<br>读写合同期限信息(corehr:contract.period:write)
original_contract_end_date | string | 原合同结束日期<br>**字段权限要求（满足任一）**：<br>获取合同期限信息(corehr:contract.period:read)<br>读写合同期限信息(corehr:contract.period:write)
target_contract_end_date | string | 新合同结束日期<br>**字段权限要求（满足任一）**：<br>获取合同期限信息(corehr:contract.period:read)<br>读写合同期限信息(corehr:contract.period:write)
original_working_hours_type | string | 原工时制度
target_working_hours_type | string | 新工时制度
original_working_calendar | string | 原工作日历
target_working_calendar | string | 新工作日历
original_probation_end_date | string | 原试用期预计结束日期
target_probation_end_date | string | 新试用期预计结束日期
original_weekly_working_hours | string | 原周工作时长
target_weekly_working_hours | string | 新周工作时长
original_work_shift | string | 原排班
target_work_shift | string | 新排班
original_cost_center_rate | job_data_cost_center\[\] | 原成本中心分摊方式
cost_center_id | string | 成本中心 ID，可以通过【查询单个成本中心信息】接口获取对应的成本中心信息
rate | int | 分摊比例(整数)
target_cost_center_rate | job_data_cost_center\[\] | 新成本中心分摊方式
cost_center_id | string | 成本中心 ID，可以通过【查询单个成本中心信息】接口获取对应的成本中心信息
rate | int | 分摊比例(整数)
original_employment_change | tranfer_employment_info | 原工作信息
regular_employee_start_date | string | 转正式员工日期
seniority_date | string | 司龄起算日期
employee_number | string | 员工编号
custom_fields | custom_field_data\[\] | 自定义字段<br>**字段权限要求**：<br>获取异动工作信息自定义字段(corehr:job_change.employment_custom_field:read)
custom_api_name | string | 自定义字段 apiname，即自定义字段的唯一标识
name | custom_name | 自定义字段名称
zh_cn | string | 中文
en_us | string | 英文
type | int | 自定义字段类型
value | string | 字段值，是 json 转义后的字符串，根据元数据定义不同，字段格式不同（如 123, 123.23, "true", ["id1","id2"], "2006-01-02 15:04:05"）
target_employment_change | tranfer_employment_info | 新工作信息
regular_employee_start_date | string | 转正式员工日期
seniority_date | string | 司龄起算日期
employee_number | string | 员工编号
custom_fields | custom_field_data\[\] | 自定义字段<br>**字段权限要求**：<br>获取异动工作信息自定义字段(corehr:job_change.employment_custom_field:read)
custom_api_name | string | 自定义字段 apiname，即自定义字段的唯一标识
name | custom_name | 自定义字段名称
zh_cn | string | 中文
en_us | string | 英文
type | int | 自定义字段类型
value | string | 字段值，是 json 转义后的字符串，根据元数据定义不同，字段格式不同（如 123, 123.23, "true", ["id1","id2"], "2006-01-02 15:04:05"）
original_job_grade | string | 原职等<br>**字段权限要求（满足任一）**：<br>获取职等信息(corehr:employment.job_grade:read)<br>读写职等信息(corehr:employment.job_grade:write)
target_job_grade | string | 新职等<br>**字段权限要求（满足任一）**：<br>获取职等信息(corehr:employment.job_grade:read)<br>读写职等信息(corehr:employment.job_grade:write)
original_compensation_type | string | 原薪资类型<br>**字段权限要求**：<br>获取薪资类型(corehr:job_data.compensation_type:read)
target_compensation_type | string | 新薪资类型<br>**字段权限要求**：<br>获取薪资类型(corehr:job_data.compensation_type:read)
original_service_company | string | 原任职公司<br>**字段权限要求**：<br>获取任职公司(corehr:job_data.service_company:read)
target_service_company | string | 新任职公司<br>**字段权限要求**：<br>获取任职公司(corehr:job_data.service_company:read)
original_position | string | 原岗位
target_position | string | 新岗位
original_social_security_city | string | 原社保城市<br>**字段权限要求**：<br>获取异动单据社保字段(corehr:job_change.social_security_city:read)
target_social_security_city | string | 新社保城市<br>**字段权限要求**：<br>获取异动单据社保字段(corehr:job_change.social_security_city:read)
original_pathway | string | 原通道<br>**字段权限要求（满足任一）**：<br>读取异动信息中的通道字段信息(corehr:job_change.pathway:read)<br>读写异动信息中的通道字段信息(corehr:job_change.pathway:write)
target_pathway | string | 新通道<br>**字段权限要求（满足任一）**：<br>读取异动信息中的通道字段信息(corehr:job_change.pathway:read)<br>读写异动信息中的通道字段信息(corehr:job_change.pathway:write)
is_transfer_with_workforce | boolean | 编制随人员一起调整
is_adjust_salary | boolean | 是否调整薪酬<br>**字段权限要求**：<br>获取异动单据是否调薪字段(corehr:job_change.is_adjust_salary:read)
custom_fields | custom_field_data\[\] | 异动自定义字段<br>**字段权限要求**：<br>获取员工异动自定义字段信息(corehr:job_change.custom_field:read)
custom_api_name | string | 自定义字段 apiname，即自定义字段的唯一标识
name | custom_name | 自定义字段名称
zh_cn | string | 中文
en_us | string | 英文
type | int | 自定义字段类型
value | string | 字段值，是 json 转义后的字符串，根据元数据定义不同，字段格式不同（如 123, 123.23, "true", ["id1","id2"], "2006-01-02 15:04:05"）

### 响应体示例
```json
{
    "code": 0,
    "msg": "success",
    "data": {
        "job_change_id": "6991776076699549697",
        "employment_id": "ou_a294793e8fa21529f2a60e3e9de45520",
        "status": "Approved",
        "transfer_type_unique_identifier": "direct_leader_change",
        "transfer_reason_unique_identifier": "involuntary_transfer",
        "process_id": "6991776078461142564",
        "effective_date": "2022-03-01",
        "created_time": "1627899724000",
        "transfer_info": {
            "remark": "异动详情",
            "offer_info": "优质人才，加急处理",
            "target_dotted_manager_clean": false,
            "probation_exist": true,
            "original_department": "6966236933198579208",
            "target_department": "6966236933198579208",
            "original_work_location": "6967271100992587295",
            "target_work_location": "6967271100992587295",
            "original_direct_manager": "6974641477444060708",
            "target_direct_manager": "7013619729281713671",
            "original_dotted_manager": "6974648866876573198",
            "target_dotted_manager": "7013328578351842852",
            "original_job": "6969469398088287751",
            "target_job": "6969469557836760606",
            "original_job_family": "6967287547462419975",
            "target_job_family": "6967287547462419975",
            "original_job_level": "6972085707674355214",
            "target_job_level": "6972085707674355214",
            "original_workforce_type": "6968386026792289828",
            "target_workforce_type": "7036268995372303885",
            "original_employee_subtype": "6968386026792289828",
            "target_employee_subtype": "7036268995372303885",
            "original_company": "6974659700705068581",
            "target_company": "6974659700705068581",
            "original_contract_number": "55332",
            "target_contract_number": "55333",
            "original_contract_type": "labor_contract",
            "target_contract_type": "labor_contract",
            "original_duration_type": "fixed_term",
            "target_duration_type": "fixed_term",
            "original_signing_type": "new",
            "target_signing_type": "new",
            "original_contract_start_date": "2021-07-01",
            "target_contract_start_date": "2021-07-01",
            "original_contract_end_date": "2024-07-01",
            "target_contract_end_date": "2024-07-01",
            "original_working_hours_type": "6969087376740206087",
            "target_working_hours_type": "6969087376740206087",
            "original_working_calendar": "6969087376740236087",
            "target_working_calendar": "6969087376740236087",
            "original_probation_end_date": "2021-11-17",
            "target_probation_end_date": "2021-11-17",
            "original_weekly_working_hours": "162",
            "target_weekly_working_hours": "160",
            "original_work_shift": "work_shift",
            "target_work_shift": "non_work_shift",
            "original_cost_center_rate": [
                {
                    "cost_center_id": "6950635856373745165",
                    "rate": 100
                }
            ],
            "target_cost_center_rate": [
                {
                    "cost_center_id": "6950635856373745165",
                    "rate": 100
                }
            ],
            "original_employment_change": {
                "regular_employee_start_date": "2023-01-01",
                "seniority_date": "2023-01-01",
                "employee_number": "1111111",
                "custom_fields": [
                    {
                        "custom_api_name": "name",
                        "name": {
                            "zh_cn": "自定义姓名",
                            "en_us": "Custom Name"
                        },
                        "type": 1,
                        "value": "\"231\""
                    }
                ]
            },
            "target_employment_change": {
                "regular_employee_start_date": "2023-01-01",
                "seniority_date": "2023-01-01",
                "employee_number": "1111111",
                "custom_fields": [
                    {
                        "custom_api_name": "name",
                        "name": {
                            "zh_cn": "自定义姓名",
                            "en_us": "Custom Name"
                        },
                        "type": 1,
                        "value": "\"231\""
                    }
                ]
            },
            "original_job_grade": "7289005963599693366",
            "target_job_grade": "7289005963599693366",
            "original_compensation_type": "hourly",
            "target_compensation_type": "salary",
            "original_service_company": "7289005963599693367",
            "target_service_company": "7289005963599693367",
            "original_position": "7289005963599693367",
            "target_position": "7289005963599693367",
            "original_social_security_city": "7289005963599693367",
            "target_social_security_city": "7289005963599693367",
            "original_pathway": "7289005963599693367",
            "target_pathway": "7289005963599693367",
            "is_transfer_with_workforce": false
        },
        "is_adjust_salary": true,
        "custom_fields": [
            {
                "custom_api_name": "name",
                "name": {
                    "zh_cn": "自定义姓名",
                    "en_us": "Custom Name"
                },
                "type": 1,
                "value": "\"231\""
            }
        ]
    }
}
```

### 错误码

HTTP状态码 | 错误码 | 描述 | 排查建议
---|---|---|---
400 | 1160100 | The job status change type can't be empty | 请确保传入了正确的异动类型唯一标识（transfer_type_unique_identifier），并检查该字段是否为空。可通过接口[获取异动类型列表](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/corehr-v1/transfer_type/query)获取。

具体错误码以及错误文案请参考[发起异动错误校验](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/corehr-v1/job_change/job_change_error_msg)

