# 更新岗位信息

更新岗位的版本信息，例如岗位关联的职务、职级、序列，以及岗位描述等
**注意事项**：- 非必填字段，不传时即不做变更
- 如果传入生效时间当天不存在版本则会自动生成一个版本。
- 如果传入生效时间当天存在版本则会修改该版本。
**注意事项**：岗位在关联人员、异动、入职对象信息及建立自身上下级关系后，不允许更新部门

## 请求

基本 | &nbsp;
---|---
HTTP URL | https://open.feishu.cn/open-apis/corehr/v2/positions/:position_id
HTTP Method | PATCH
接口频率限制 | [5 次/秒](https://open.feishu.cn/document/ukTMukTMukTM/uUzN04SN3QjL1cDN)
支持的应用类型 | Custom App、Store App
权限要求<br>**调用该 API 所需的权限。开启其中任意一项权限即可调用** | 读写岗位信息(corehr:position:write)

### 请求头

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

### 路径参数

名称 | 类型 | 描述
---|---|---
position_id | string | 岗位 ID 列表，详细信息可通过[查询岗位信息](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/corehr-v2/position/query)接口获得<br>**示例值**："6862995757234914824"

### 查询参数

名称 | 类型 | 必填 | 描述
---|---|---|---
client_token | string | 否 | 根据client_token是否一致来判断是否为同一请求<br>**示例值**：1245464678<br>**数据校验规则**：<br>- 长度范围：`0` ～ `128` 字符
department_id_type | string | 否 | 此次调用中使用的部门 ID 类型，三种类型的 ID 都可通过飞书人事的[批量查询部门（ V2）](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/corehr-v2/department/batch_get) 来获取<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`

### 请求体

名称 | 类型 | 必填 | 描述
---|---|---|---
code | string | 否 | 编码 (不能与其他记录的编码重复)<br>- 如果开启了岗位自动编码，此字段传入不生效<br>**示例值**："A01234"
names | i18n\[\] | 否 | 名称<br>**数据校验规则**：<br>- 长度范围：`0` ～ `2`
lang | string | 是 | 名称信息的语言，支持中文和英文。中文用zh-CN；英文用en-US<br>**示例值**："zh-CN"
value | string | 是 | - 支持 zh-CN 和 en-US，最大长度为 255 字符<br>- 名称不能包含「/」「；」「;」「\」「'」字符<br>**示例值**："张三"
descriptions | i18n\[\] | 否 | 描述<br>**数据校验规则**：<br>- 长度范围：`0` ～ `2`
lang | string | 是 | 语言<br>**示例值**："zh-CN"
value | string | 是 | 支持 zh-CN 和 en-US，最大长度为 255 字符<br>**示例值**："张三"
job_family_ids | string\[\] | 否 | 序列 ID 列表，详细信息可通过[查询单个序列](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/corehr-v1/job_family/get)接口获得<br>**示例值**：["4719519211875096301"]<br>**数据校验规则**：<br>- 长度范围：`0` ～ `50`
cost_center_id | string | 否 | 成本中心 ID，可以通过[搜索成本中心信息](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/corehr-v2/cost_center/search)接口获取对应的成本中心信息<br>**示例值**："4719519211875096301"
job_id | string | 否 | 职务，可通过[【查询单个职务】](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/corehr-v1/job/get)获取详细信息<br>**示例值**："4719519211875096301"
job_level_ids | string\[\] | 否 | 职级 ID 列表，可通过[【查询单个职级】](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/corehr-v1/job_level/get)获取详细信息<br>**示例值**：["4719519211875096301"]<br>**数据校验规则**：<br>- 长度范围：`0` ～ `50`
employee_type_ids | string\[\] | 否 | 人员类型 ID 列表，可通过文档[查询人员类型](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/corehr-v1/employee_type/get)获得详细信息<br>**示例值**：["4719519211875096301"]<br>**数据校验规则**：<br>- 长度范围：`0` ～ `50`
job_grade_ids | string\[\] | 否 | 职等 ID 列表，可通过 [【查询职等】](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/corehr-v2/job_grade/query)获取详细信息<br>**示例值**：["4719519211875096301"]<br>**数据校验规则**：<br>- 长度范围：`0` ～ `50`
work_location_ids | string\[\] | 否 | 工作地点 ID 列表，详细信息可通过[查询单个地点](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/corehr-v1/location/get)接口获得<br>**示例值**：["4719519211875096301"]<br>**数据校验规则**：<br>- 长度范围：`0` ～ `50`
working_hours_type_id | string | 否 | 工时制度 ID 列表，可通过[【查询单个工时制度】](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/corehr-v1/working_hours_type/get)查询详细信息<br>**示例值**："4719519211875096301"
department_id | string | 否 | 部门 ID，详细信息可通过[查询单个部门](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/corehr-v1/department/get)接口获得<br>- 类型与 department_id_type 一致<br>**示例值**："4719519211875096301"
direct_leader_id | string | 否 | 直属上级岗位ID，详细信息可通过[查询岗位信息](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/corehr-v2/position/query)接口获得<br>**示例值**："4719519211875096301"
dotted_line_leader_id | string | 否 | 虚线上级岗位ID，详细信息可通过[查询岗位信息](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/corehr-v2/position/query)接口获得<br>**示例值**："4719519211875096301"
is_key_position | boolean | 否 | 是否关键岗位<br>**示例值**：true
effective_time | string | 是 | 生效日期<br>**示例值**："2020-05-01"<br>**数据校验规则**：<br>- 正则校验：`^((([0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]{1}|[0-9]{1}[1-9][0-9]{2}|[1-9][0-9]{3})-(((0[13578]|1[02])-(0[1-9]|[12][0-9]|3[01]))|((0[469]|11)-(0[1-9]|[12][0-9]|30))|(02-(0[1-9]|[1][0-9]|2[0-8]))))|((([0-9]{2})(0[48]|[2468][048]|[13579][26])|((0[48]|[2468][048]|[3579][26])00))-02-29))$`
custom_fields | custom_field_data\[\] | 否 | 自定义字段<br>**数据校验规则**：<br>- 长度范围：`0` ～ `200`
custom_api_name | string | 是 | 自定义字段 apiname，即自定义字段的唯一标识<br>**示例值**："name"
value | string | 是 | 字段值，是 json 转义后的字符串，根据元数据定义不同，字段格式不同（如 123, 123.23, "true", ["id1","id2"], "2006-01-02 15:04:05"）<br>**示例值**："\"231\""

### 请求体示例
```json
{
    "code": "A01234",
    "names": [
        {
            "lang": "zh-CN",
            "value": "张三"
        }
    ],
    "descriptions": [
        {
            "lang": "zh-CN",
            "value": "张三"
        }
    ],
    "job_family_ids": [
        "4719519211875096301"
    ],
    "cost_center_id": "4719519211875096301",
    "job_id": "4719519211875096301",
    "job_level_ids": [
        "4719519211875096301"
    ],
    "employee_type_ids": [
        "4719519211875096301"
    ],
    "job_grade_ids": [
        "4719519211875096301"
    ],
    "work_location_ids": [
        "4719519211875096301"
    ],
    "working_hours_type_id": "4719519211875096301",
    "department_id": "4719519211875096301",
    "direct_leader_id": "4719519211875096301",
    "dotted_line_leader_id": "4719519211875096301",
    "is_key_position": true,
    "effective_time": "2020-05-01",
    "custom_fields": [
        {
            "custom_api_name": "name",
            "value": "\"231\""
        }
    ]
}
```

## 响应

### 响应体

名称 | 类型 | 描述
---|---|---
code | int | 错误码，非 0 表示失败
msg | string | 错误描述
data | \- | \-

### 响应体示例
```json
{
    "code": 0,
    "msg": "success",
    "data": {}
}
```

### 错误码

HTTP状态码 | 错误码 | 描述 | 排查建议
---|---|---|---
400 | 1160263 | Name or code already exists | 名称或编码已存在，请检查名称或编码是否与现有记录重复后重试
400 | 1160903 | Name already exists | 名称已存在，请检查名称是否与现有记录重复后重试
400 | 1160259 | Individual is offboarded on the effecitve date | 传入的人员类型字段的人员在生效日期当天已离职，请检查人员类型字段的人员在生效日期当天的在职状态后重试
400 | 1160572 | URL is illegal | 链接类型字段非法，请检查链接格式是否符合要求后重试
400 | 1160253 | \"Name can't include "/" or ";" | 名称包含禁止的字符（如"/"、";"），请检查名称后重试
400 | 1160266 | Effective date must be later than the first effective date | 传入的生效日期必须晚于第一个版本的生效日期，请检查后重试
400 | 1160251 | Required field(s) is empty | 必填字段不能为空，请检查后重试
400 | 1160701 | The job doesn't exist on the effective date. | 传入的职务在生效日期当天不存在，请检查后重试
400 | 1160702 | The job will be deactivated on or after the effective date. | 传入的职务在生效日期当天或未来停用，请检查后重试
400 | 1160703 | The job family doesn't exist on the effective date. | 传入的序列在生效日期不存在，请检查后重试
400 | 1160269 | Effective date can't be later than the year 9999 | 生效日期不能晚于9999
400 | 1160353 | Effective Date cannot earlier than 1900 | 生效日期不能早于1900
400 | 1160704 | 传入的序列在生效日期当天或未来停用，请检查后重试 | The job family will be deactivated on or after the effective date
400 | 1160705 | The job level doesn't exist | 传入的职级不存在，请检查后重试
400 | 1160707 | The job grade doesn't exist | 传入的职等不存在，请检查后重试
400 | 1160709 | The job and job family doesn't match | 传入的职务和序列不匹配，请检查后重试
400 | 1160710 | The job and job level doesn't match | 传入的职务和职级不匹配，请检查后重试
400 | 1160711 | The job level and job family doesn't match | 传入的职级和序列不匹配，请检查后重试
400 | 1160712 | the job level and job grade doesn't match | 传入的职级和职等不匹配，请检查后重试
400 | 1160714 | The position doesn't exist on the effective date. | 岗位在传入的生效日期当天未生效，请检查后重试
400 | 1160104 | Record doesn't exist | 岗位记录不存在，请检查后重试
400 | 1160715 | The position will be deactivated on or after the effective date | 岗位在生效日期当天或未来停用，请检查后重试
400 | 1160515 | Effective date must be later than the first effective date | 生效日期必须晚于第一个版本的生效日期，请检查后重试
400 | 1160255 | Parent position hasn't taken effect on effective date | 上级岗位在传入的生效日期当天尚未生效，请检查后重试
400 | 1160256 | Parent position will be deactivated on or after this effective date | 上级岗位在传入的生效日期当天或未来停用，请检查后重试
400 | 1160264 | This operation will make the relationship between the superior and the subordinate into a ring | 更新后，会出现岗位上下级关系成环，请修改上级后重试
400 | 1161603 | Name already exists | 岗位名称重复，请修改名称后重试
400 | 1160271 | Unable to submit as no changes have been made | 数据无变更，请检查后重试
503 | 1161204 | Requset timeout | 接口超时，请重试。必要时请联系 [技术支持](https://applink.feishu.cn/TLJpeNdW)
429 | 1161604 | QPS over limit | QPS 超出限制，请降低请求频率重试，必要时请联系 [技术支持](https://applink.feishu.cn/TLJpeNdW)

