恢复已删除用户
该接口用于恢复已删除用户(已离职的成员)。
使用限制
注意事项
- 调用该接口仅支持恢复离职 30 天内的成员。恢复后,部分用户数据仍不可恢复,请谨慎调用。
- 可恢复的数据:单聊记录、外部联系人、群聊、企业邮箱地址和邮件;未转移的文档、妙记、问卷。
- 不可恢复的数据:已转移的资源、成员所属部门、管理员角色等数据。
- 待恢复成员的用户 ID 不能被企业内其他成员使用。如有重复,请先离职重复 ID 的成员,否则接口会报错。
- 待恢复成员的手机号和邮箱不能被企业内其他成员使用。如有重复,请先修改重复成员的手机号或邮箱信息,否则接口会报错。
请求
| 项目 | 值 |
|---|---|
| HTTP URL | https://open.feishu.cn/open-apis/contact/v3/users/:user_id/resurrect |
| HTTP Method | POST |
| 接口频率限制 | 10 次/分钟 |
| 支持的应用类型 | custom |
| 权限要求 调用该 API 所需的权限。开启其中任意一项权限即可调用 | contact:contact 更新通讯录 |
| 字段权限要求 | > Tip: 该接口返回体中存在下列敏感字段,仅当开启对应的权限后才会返回;如果无需获取这些字段,则不建议申请 contact:user.employee_id:readonly 获取用户 user ID |
请求头
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| Authorization | string | 是 | tenant_access_token 值格式:"Bearer access_token" 示例值:"Bearer t-7f1bcd13fc57d46bac21793a18e560" 了解更多:如何选择与获取 access token |
| Content-Type | string | 是 | 固定值:"application/json; charset=utf-8" |
路径参数
| 名称 | 类型 | 描述 |
|---|---|---|
user_id | string | 用户 ID。ID 类型需要与查询参数中的 user_id_type类型保持一致。用户 ID 获取方式可参见如何获取不同的用户 ID。 示例值:"ou_7dab8a3d3cdcc9da365777c7ad535d62" |
查询参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
user_id_type | string | 否 | 用户 ID 类型 示例值:user_id 可选值有: - open_id: 标识一个用户在某个应用中的身份。同一个用户在不同应用中的 Open ID 不同。了解更多:如何获取 Open ID - union_id: 标识一个用户在某个应用开发商下的身份。同一用户在同一开发商下的应用中的 Union ID 是相同的,在不同开发商下的应用中的 Union ID 是不同的。通过 Union ID,应用开发商可以把同个用户在多个应用中的身份关联起来。了解更多:如何获取 Union ID? - user_id: 标识一个用户在某个租户内的身份。同一个用户在租户 A 和租户 B 内的 User ID 是不同的。在同一个租户内,一个用户的 User ID 在所有应用(包括商店应用)中都保持一致。User ID 主要用于在不同的应用间打通用户数据。了解更多:如何获取 User ID?默认值: open_id当值为 user_id,字段权限要求: contact:user.employee_id:readonly 获取用户 user ID |
department_id_type | string | 否 | 此次调用中使用的部门 ID 类型。关于部门 ID 的详细介绍,可参见部门 ID 说明。 示例值:department_id 可选值有: - department_id: 支持用户自定义配置的部门 ID。自定义配置时可复用已删除的 department_id,因此在未删除的部门范围内 department_id 具有唯一性。 - open_department_id: 由系统自动生成的部门 ID,ID 前缀固定为 od-,在租户内全局唯一。默认值: open_department_id |
请求体
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
departments | user_department_info\[\] | 否 | 用户排序信息。用户可能存在多个部门中,且有不同的排序,该参数用于设置用户部门排序。 说明:如果请求时不传入 departments 参数,则用户将恢复至根部门。 数据校验规则: - 最大长度: 50 |
└ department_id | string | 是 | 排序信息对应的部门 ID。表示用户所在的、且需要排序的部门。部门 ID 类型与查询参数 department_id_type 保持一致。了解不同类型的部门 ID 以及获取部门 ID 的方式,可参见 部门 ID 说明。 示例值:"od-4e6ac4d14bcd5071a37a39de902c7141" |
└ user_order | int | 否 | 用户在其直属部门内的排序。数值越大,排序越靠前。 示例值:0 |
└ department_order | int | 否 | 用户所属的多个部门之间的排序。数值越大,排序越靠前。 示例值:0 |
subscription_ids | string\[\] | 否 | 如果用户正常状态时分配了席位,则可以通过该参数指定恢复后分配的席位 ID。待分配席位 ID 获取方式参见获取企业席位信息接口。 注意: - 该字段需开通 分配用户席位 权限。 示例值:["23213213213123123"] |
请求体示例
json
{
"departments": [
{
"department_id": "od-4e6ac4d14bcd5071a37a39de902c7141",
"user_order": 0,
"department_order": 0
}
],
"subscription_ids": [
"23213213213123123"
]
}响应
响应体
| 名称 | 类型 | 描述 |
|---|---|---|
code | int | 错误码,非 0 表示失败 |
msg | string | 错误描述 |
data | \- | - |
响应体示例
json
{
"code": 0,
"msg": "success",
"data": {}
}错误码
| HTTP状态码 | 错误码 | 描述 | 排查建议 |
|---|---|---|---|
| 400 | 44028 | Exceed recoverable time | 超过可恢复时间。当前传入的用户对应的离职时间已超过 30 天,不可恢复。 |
| 400 | 44029 | No access to resurrect | 无法恢复。需申请接口的使用权限,请联系技术支持。 |
| 400 | 44030 | Mobile duplicated | 手机号重复。你可以选择修改用户重复的手机号,或者将手机号重复的用户转为离职状态,然后重试。 |
| 400 | 44031 | Email duplicated | 邮箱重复。你可以选择修改用户重复的邮箱,或者将邮箱重复的用户转为离职状态,然后重试。 |
| 400 | 44032 | UserID duplicated | 用户的 user_id 重复。待恢复用户的 user_id 不能被租户内其他用户占用。如有重复,请先离职占用 user_id 的在职用户,再尝试恢复操作。 注意: user_id 重复的情况下,不可使用 user_id 请求本接口。请使用待恢复用户的 open_id 或 union_id 请求本接口。获取用户 ID 可参见如何获取不同的用户 ID。 |
| 400 | 44033 | User not resigned | 用户在职无需恢复。如果你使用的 user_id 请求本接口,则需要检查请求参数传入的 user_id 是否已被在职用户使用。如果已被使用,请先离职占用 user_id 的在职用户,再尝试恢复操作。 注意: user_id 重复的情况下,不可使用 user_id 请求本接口。请使用待恢复用户的 open_id 或 union_id 请求本接口。获取用户 ID 可参见如何获取不同的用户 ID。 |
| 400 | 44034 | User is in delete progress, retry later | 用户离职流程仍在进行中,请等待至多 48 小时后重试。 |
| 400 | 41008 | exceed bill seat limit error | 租户成员数目超过系统限制,用户无法恢复。你需要清理租户内的无效成员或者扩容飞书成员数量限制。详情咨询技术支持。 |
| 400 | 41007 | exceed uncertain tenant seat limit error | 未认证租户的成员数目超过系统限制,用户无法恢复。你需要清理租户内的无效成员或者扩容飞书成员数量限制。详情咨询技术支持。 |
| 400 | 44023 | exceed feature contact seat limit | 超出通讯录用户资源上限。如果需要更多用户额度,请升级飞书版本。了解更多参见版本对比。 |
| 400 | 44041 | anonymize user info is not allowed to update | 已匿名的用户信息不允许更新。 |
| 400 | 44046 | user license subscription id must not empty in multi-license tenant | 多 License 的租户内,席位 ID 不可为空。你需要在请求时设置 subscription_ids 参数。你可以调用获取企业席位信息接口接口,获取正确可用的席位 ID。 |
| 400 | 44047 | license subscription id exceed limit | 该席位 ID 已超过使用上限。请修改为可用的席位 ID。你可以调用获取企业席位信息接口接口,获取正确可用的席位 ID。 |
| 400 | 44048 | user license subscription id invalid | 席位 ID 无效。你可以调用获取企业席位信息接口接口,获取正确可用的席位 ID。 |
| 403 | 44050 | not set subscription ids auth | 席位 ID 未开通权限。你需要在 开发者后台 > 应用详情页 > 权限管理 > API 权限中,开通 分配用户席位 权限。 |
更多错误码信息,参见通用错误码。
