# 恢复离职员工

该接口用于恢复已离职的成员，恢复已离职成员至在职状态。
**注意事项**：注意：
- 恢复离职员工为在职，需要企业的版本在商业专业版及以上，可通过管理后台>设置>版本信息查看企业当前版本，且员工需要在离职 30 天内。恢复后，部分用户数据仍不可恢复，请谨慎调用。
- 待恢复成员的用户 ID 不能被企业内其他成员使用，可通过[批量获取员工列表](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/directory-v1/employee/filter)接口查询用户ID是否存在。如有重复，请先离职对应的成员，否则接口会报错。
- 待恢复成员的手机号和邮箱不能被企业内其他成员使用，可通过[批量获取员工列表](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/directory-v1/employee/filter)接口查询手机号/邮箱是否存在。如有重复，请先修改对应成员的信息，否则接口会报错。
- 本接口支持tenant_access_token和user_access_token，两种token的获取方式可参照[获取访问凭证](https://open.feishu.cn/document/ukTMukTMukTM/uMTNz4yM1MjLzUzM)。
  - 使用tenant_access_token时，只能在将离职员工恢复到当前应用通讯录授权范围内的部门之下。
  - 使用user_access_token 时，默认为管理员用户，将校验管理员管理范围。当用户有多个管理员身份均可恢复离职员工时，管理员管理范围取最大集。

## 请求

基本 | &nbsp;
---|---
HTTP URL | https://open.feishu.cn/open-apis/directory/v1/employees/:employee_id/resurrect
HTTP Method | POST
接口频率限制 | [10 次/分钟](https://open.feishu.cn/document/ukTMukTMukTM/uUzN04SN3QjL1cDN)
支持的应用类型 | Custom App
权限要求<br>**调用该 API 所需的权限。开启其中任意一项权限即可调用**<br>开启任一权限即可 | 恢复离职员工(directory:employee.resurrect:write)<br>创建、更新、离职、恢复员工(directory:employee:write)
字段权限要求 | **注意事项**：该接口返回体中存在下列敏感字段，仅当开启对应的权限后才会返回；如果无需获取这些字段，则不建议申请<br>查看员工自定义 ID(directory:employee.base.external_id: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"

### 路径参数

名称 | 类型 | 描述
---|---|---
employee_id | string | 员工ID，与employee_id_type类型保持一致<br>**示例值**："eedasdas"

### 查询参数

名称 | 类型 | 必填 | 描述
---|---|---|---
employee_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>- employee_id：企业内在职员工的唯一标识。支持自定义，未自定义时系统自动生成。ID支持修改。<br>获取employee_id的方式：<br>- 企业管理员在 管理后台 > 组织架构 > 成员与部门 页面，点击 成员详情，查询员工ID<br>- 通过 [批量获取员工列表](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/directory-v1/employee/filter) 的接口，通过手机号或邮箱查询员工ID。<br>**默认值**：`open_id`<br>**当值为 `employee_id`，字段权限要求**：<br>查看员工自定义 ID(directory:employee.base.external_id:read)
department_id_type | string | 否 | 部门ID类型<br>**示例值**：open_department_id<br>**可选值有**：<br>- department_id：department_id<br>- open_department_id：open_department_id<br>**默认值**：`open_department_id`

### 请求体

名称 | 类型 | 必填 | 描述
---|---|---|---
employee_order_in_departments | upsert_user_department_sort_info\[\] | 否 | 部门信息<br>**数据校验规则**：<br>- 长度范围：`0` ～ `10`
department_id | string | 否 | 部门id，与department_id_type类型保持一致<br>**示例值**："easdiedqds"
order_weight_in_deparment | string | 否 | 用户在部门内的排序权重<br>**数据校验规则：**<br>长度范围：1～ 3<br>**示例值**："100"
order_weight_among_deparments | string | 否 | 用户多个部门间的排序权重<br>**数据校验规则：**<br>长度范围：1～ 3<br>**示例值**："20"
is_main_department | boolean | 否 | 是否为用户的主部门（用户只能有一个主部门，且排序权重应最大，不填则默认使用排序第一的部门作为主部门)<br>**示例值**：true
options | resurrect_employee_options | 否 | 选项
subscription_ids | string\[\] | 否 | 分配给员工的席位ID列表。可通过下方接口获取到该租户的可用席位ID，参见[获取席位信息](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/tenant-v2/tenant-product_assign_info/query)。当在混合license模式下，此字段为必填。<br>**示例值**：["435456345245"]<br>**数据校验规则**：<br>- 长度范围：`0` ～ `20`

### 请求体示例
```json
{
    "employee_order_in_departments": [
        {
            "department_id": "easdiedqds",
            "order_weight_in_deparment": "100",
            "order_weight_among_deparments": "20",
            "is_main_department": true
        }
    ],
    "options": {
        "subscription_ids": [
            "435456345245"
        ]
    }
}
```

## 响应

### 响应体

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

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

### 错误码

HTTP状态码 | 错误码 | 描述 | 排查建议
---|---|---|---
400 | 2221268 | Tenant not in the access list | 租户无法恢复员工，请检查租户是否在访问列表中。
400 | 2221269 | Resurrect user info duplicated | 员工信息与在职员工有冲突，请检查员工信息是否与在职员工重复。
400 | 2221270 | Can't resurrect user in delete process | 员工已在离职流程中，暂时无法恢复，请稍后重试
400 | 2221271 | User exceed billing seats limit | 超过席位限制，暂时无法恢复员工，请联系管理员增加计费席位。
400 | 2221272 | User exceed tenant limit | 员工人数超过租户限制，暂时无法恢复员工，请检查租户员工人数限制并调整。
400 | 2221273 | User exceed certification seats limit | 超过认证席位限制，暂时无法恢复员工，请联系管理员增加认证席位。
400 | 2221274 | User exceed feature contact seats limit | 员工超过通讯录席位上限，请调整通讯录席位上限。
400 | 2221275 | Tenant version not allow resurrection | 租户版本不允许恢复员工，请升级租户版本至支持恢复员工的版本。
400 | 2221123 | The user refused to join the tenant and cannot be resurrect | 员工拒绝加入租户，无法恢复，请联系员工确认是否同意加入租户。
400 | 2221140 | Department number exceeds limit | 部门人数超过限制，无法恢复，请检查部门人数限制并调整。
400 | 2221252 | Hybrid license tenant prohibits passing empty licenses to create users | 混合许可证租户禁止传递空许可证，请添加席位信息，（可通过[获取企业席位信息接口](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/tenant-v2/tenant-product_assign_info/query)获取可用席位ID）
400 | 2221253 | Designated licenseID is insufficient | 席位不足，请修改席位信息。（可通过[获取企业席位信息接口](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/tenant-v2/tenant-product_assign_info/query)获取可用席位ID）
400 | 2221254 | Designated licenseID is invalid | 无效的席位信息，请修改席位信息。（可通过[获取企业席位信息接口](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/tenant-v2/tenant-product_assign_info/query)获取可用席位ID）
400 | 2224001 | No permission to operate | 无操作权限，请检查当前应用的权限或企业版本是否是商业专业版本及以上。
400 | 2224002 | No permission to operate record | 无操作该记录权限，请检查当前应用的数据管理范围的权限或当前应用所操作的成员是否可恢复。
400 | 2224003 | No permission to operate dependent object | 无操作依赖对象权限，请检查要恢复到的部门是否有权限。
400 | 2221248 | Resurrect exceeds seat limit | 席位超限，请修改席位信息。（可通过[获取企业席位信息接口](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/tenant-v2/tenant-product_assign_info/query)获取可用席位ID）
400 | 2221255 | Main department must be the first | 主部门必须在第一个，请修改所属部门排序信息

