Skip to content

同意审批任务

对于单个审批任务进行同意操作。同意后审批流程会流转到下一个审批人。

请求

项目
HTTP URLhttps://open.feishu.cn/open-apis/approval/v4/tasks/approve
HTTP MethodPOST
接口频率限制100 次/分钟
支持的应用类型custom,isv
权限要求 调用该 API 所需的权限。开启其中任意一项权限即可调用 开启任一权限即可approval:approval 查看、创建、更新、删除审批应用相关信息 approval:approval:readonly 访问审批应用 approval:task 同意、拒绝、退回、加签等原生审批任务操作
字段权限要求> Tip: 该接口返回体中存在下列敏感字段,仅当开启对应的权限后才会返回;如果无需获取这些字段,则不建议申请 contact:user.employee_id:readonly 获取用户 user ID

请求头

名称类型必填描述
Authorizationstringtenant_access_token 值格式:"Bearer access_token" 示例值:"Bearer t-7f1bcd13fc57d46bac21793a18e560" 了解更多:如何选择与获取 access token
Content-Typestring固定值:"application/json; charset=utf-8"

查询参数

名称类型必填描述
user_id_typestring用户 ID 类型
示例值:open_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

请求体

名称类型必填描述
approval_codestring审批定义 Code。获取方式:
- 调用创建审批定义接口后,从响应参数 approval_code 获取。 - 登录审批管理后台,在指定审批定义的 URL 中获取,具体操作参见什么是 Approval Code
示例值:"7C468A54-8745-2245-9675-08B7C63E7A85"
instance_codestring审批实例 Code。获取方式:
- 调用创建审批实例接口后,从响应参数 instance_code 获取。 - 调用批量获取审批实例 ID接口,获取所需的审批实例 Code。 - 调用查询实例列表,设置过滤条件查询指定的审批实例 Code。
示例值:"81D31358-93AF-92D6-7425-01A5D67C4E71"
user_idstring审批人的用户 ID,ID 类型与查询参数 user_id_type 取值一致。
示例值:"f7cb567e"
commentstring审批意见
示例值:"OK"
task_idstring审批任务 ID,调用获取单个审批实例详情,从返回结果的 task_list 中获取所需的 id。
示例值:"12345"
formstring如果审批定义的流程设计中添加了条件分支,则需要传入条件分支所需的控件数据(JSON 数组),否则会影响后续的分支条件流转。
说明:传值时需要将 JSON 序列化为字符串。参数示例值未进行转义,正确的传值示例可参见下文 请求体示例
示例值:"[{\"id\":\"111\", \"type\": \"input\", \"value\":\"test\"}]"

请求体示例

json
{
    "approval_code": "7C468A54-8745-2245-9675-08B7C63E7A85",
    "instance_code": "81D31358-93AF-92D6-7425-01A5D67C4E71",
    "user_id": "f7cb567e",
    "comment": "OK",
    "task_id": "12345",
    "form": "[{\"id\":\"111\", \"type\": \"input\", \"value\":\"test\"}]"
}

响应

响应体

名称类型描述
codeint错误码,非 0 表示失败
msgstring错误描述
data\--

响应体示例

json
{
    "code": 0,
    "msg": "success",
    "data": {}
}

错误码

HTTP状态码错误码描述排查建议
4001390001param is invalid参数错误。排查方案: - 根据接口文档的参数说明,检查请求时传入的参数是否正确。 - 如果传入的有表单参数(form),则需要检查该参数内传入的表单控件数据是否正确。如果报错信息内包含控件 ID(如 控件= widget17261088448220001),可以调用查看指定审批定义或者获取单个审批实例详情接口,获取响应参数 form 值,检索有问题的控件 ID,然后检查该控件的配置是否正确。
4001390002approval code not found找不到审批定义 Code,检查传入的审批定义 Code 是否正确。 审批定义 Code 获取方式: - 调用创建审批定义接口后,从响应参数 approval_code 获取。 - 登录审批管理后台,在指定审批定义的 URL 中获取,具体操作参见什么是 Approval Code
4001390003instance code not found找不到审批实例 Code,检查传入的审批实例 Code 是否正确。 审批实例 Code 获取方式: - 调用创建审批实例接口后,从响应参数 instance_code 获取。 - 调用批量获取审批实例 ID接口,获取所需的审批实例 Code。 - 调用查询实例列表,设置过滤条件查询指定的审批实例 Code。
4001395001There have been some errors. Please try again later服务出现错误。排查方案: 1. 参考接口文档的参数说明,检查请求时传入的参数是否正确。如果传入的有表单参数(form),则需要检查传入的表单控件数据是否正确。 2. 降低请求频率,并重试。如果重试仍然报错,请联系技术支持
4001390010task not found找不到审批任务 ID,检查传入的审批任务 ID 是否正确。你可调用获取单个审批实例详情,从返回结果的 task_list 中获取所需的 id。
4001390018not support handwritten signatureAPI 方式不支持手写签名功能。你需要登录飞书客户端,在客户端内处理审批。

更多错误码信息,参见通用错误码

内容来源:飞书开放平台 · 自动爬取整理