创建审批实例
Error: 为了更好地提升接口文档的的易理解性,我们对文档进行了升级,请尽快迁移至新版本>>
创建一个审批实例,调用方需对审批定义的表单有详细了解,将按照定义的表单结构,将表单 Value 通过接口传入。
请求
| 项目 | 值 |
|---|---|
| HTTP URL | https://www.feishu.cn/approval/openapi/v2/instance/create |
| HTTP Method | POST |
| 支持的应用类型 | custom,isv |
| 权限要求 调用该 API 所需的权限。开启其中任意一项权限即可调用 | approval:approval:readonly 访问审批应用 |
请求头
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| Authorization | string | 是 | tenant_access_token 值格式:"Bearer access_token" 示例值:"Bearer t-7f1bcd13fc57d46bac21793a18e560" 了解更多:如何选择与获取 access token |
| Content-Type | string | 是 | 固定值:"application/json; charset=utf-8" |
请求体
| 参数 | 类型 | 必须 | 说明 |
|---|---|---|---|
| approval_code | String | 是 | 审批定义 code |
| user_id | String | 否 | 发起审批用户 |
| open_id | String | 是 | 发起审批用户 open id, 如果传了 user_id 则优先使用 user_id |
| department_id | String | 否 | 发起审批用户部门id,如果用户只属于一个部门,可以不填。如果属于多个部门,默认会选择部门列表第一个部门 |
| form | String | 是 | json 数组,控件值 |
| ∟id | String | 是 | 控件 ID,也可以使用自定义 ID custom_id 的值 |
| ∟type | String | 是 | 控件类型 |
| ∟value | String | 是 | 控件值,不同类型的值格式不一样 |
| node_approver_user_id_list | map | 否 | 如果有发起人自选节点,则需要填写对应节点的审批人 key: node id 或 custom node id , 通过 查看审批定义 获取 value: 审批人列表 |
| node_approver_open_id_list | map | 否 | 审批人发起人自选 open id,与上述node_approver_user_id_list字段取并集 |
| node_cc_user_id_list | map | 否 | 如果有发起人自选节点,则可填写对应节点的抄送人 key: node id 或 custom node id , 通过 查看审批定义 获取 value: 审批人列表 单个节点最多选择20位抄送人 |
| node_cc_open_id_list | map | 否 | 抄送人发起人自选 open id 单个节点最多选择20位抄送人 |
| uuid | String | 否 | 审批实例 uuid,用于幂等操作, 每个租户下面的唯一key,同一个 uuid 只能用于创建一个审批实例,如果冲突,返回错误码 60012 ,格式建议为 XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX,不区分大小写 |
请求体示例
json
{
"approval_code":"7C468A54-8745-2245-9675-08B7C63E7A85",
"user_id":"f7cb567e",
"open_id":"ou_123456", # 如果user_id传入不正确,会按照open_id兜底执行
"uuid": "",
"department_id":"",
"form":"[{\"id\":\"user_name\", \"type\": \"input\", \"value\":\"test\"}]",
"node_approver_user_id_list": {
"46e6d96cfa756980907209209ec03b64": ["f7cb567e"],
"manager_node_id": ["f7cb567e"]
},
"node_approver_open_id_list": {
"46e6d96cfa756980907209209ec03b64": ["ou_12345"],
"manager_node_id": ["ou_12345"]
}
}控件值说明
单行文本
json
{
"id": "widget1",
"type": "input",
"value": "data"
}多行文本
json
{
"id": "widget1",
"type": "textarea",
"value": "data"
}日期
value 满足 RFC3339 格式,
json
{
"id": "widget1",
"type": "date",
"value": "2019-10-01T08:12:01+08:00"
}单选
value 为 定义中 option 中的 value 字段,查看审批定义 获取
json
{
"id": "widget1",
"type": "radio",
"value": "optionA"
}json
{
"id": "widget1",
"type": "radioV2",
"value": "k2b8mkx0-h71x5gljn3i-1"
}数字
json
{
"id": "widget1",
"type": "number",
"value": 1234.5678
}金额
json
{
"id": "widget1",
"type": "amount",
"value": 1234.5678
}计算公式
由定义创建时的公式计算出的值,若不匹配则返回错误
json
{
"id": "widget1",
"type": "formula",
"value": 1234.5678
}联系人
value 为 user id 数组「*此接口不支持创建表单联系人」
json
{
"id":"widget1",
"type":"contact",
"value": ["f8ca557e"],
"open_ids": ["ou_12345"]
}关联审批
value 为关联审批的 instance code 数组
json
{
"id":"widget1",
"type":"connect",
"value": ["19EAC829-F1CB-527F-BE2A-1330422E60C0"]
}附件
value 为 上传文件 返回的 code
json
{
"id":"widget1",
"type":"attachment",
"value": ["D93653C3-2609-4EE0-8041-61DC1D84F0B5"]
}json
{
"id":"widget1",
"type":"attachmentV2",
"value": ["D93653C3-2609-4EE0-8041-61DC1D84F0B5"]
}图片
value 为 上传文件 返回的 code
json
{
"id":"widget1",
"type":"image",
"value": ["D93653C3-2609-4EE0-8041-61DC1D84F0B5"]
}json
{
"id":"widget1",
"type":"imageV2",
"value": ["D93653C3-2609-4EE0-8041-61DC1D84F0B5"]
}多选
value 为 定义中 option 中的 value 字段,查看审批定义 获取
json
{
"id":"widget1",
"type":"checkbox",
"value": ["optionA"]
}json
{
"id":"widget1",
"type":"checkboxV2",
"value": ["k2b8mkx0-h71x5gljn3i-1"]
}日期区间
start 和 end 满足 RFC3339 格式
json
{
"id": "widget1",
"type": "dateInterval",
"value": {
"start":"2019-10-01T08:12:01+08:00",
"end":"2019-10-02T08:12:01+08:00",
"interval": 2.0
}
}明细
value 是二维数组
json
{
"id": "widget1",
"type": "fieldList",
"value": [
[
{
"id": "widget1",
"type": "checkbox",
"value": ["jxpsebqp-0"]
}
]
]
}部门
json
{
"id":"widget1",
"type":"department",
"value":[
{
"open_id":"od-xxx"
}
]
}电话
json
{
"id":"widget1",
"type":"telephone",
"value": {
"countryCode":"+86",
"nationalNumber":"13122222222"
}
}换班控件组
shiftTime 和 returnTIme 满足 RFC3339 格式
json
{
"id": "widget1",
"type": "shiftGroup",
"value": {
"shiftTime": "2019-10-01T08:12:01+08:00",
"returnTime": "2019-10-02T08:12:01+08:00",
"reason": "ask for leave"
}
}不支持开放平台创建的类型
| 控件 | 类型 |
|---|---|
| 地址 | address |
| 出差控件组 | tripGroup |
| 请假控件组 | leaveGroup |
| 加班控件组 | workGroup |
| 补卡控件组 | remedyGroup |
响应
响应体
| 参数 | 类型 | 必须 | 说明 |
|---|---|---|---|
| code | int | 是 | 错误码,非0表示失败 |
| msg | String | 是 | 返回码的描述 |
| data | map | 是 | 返回业务信息 |
| ∟instance_code | String | 是 | 审批实例 Code |
响应体示例
json
{
"code": 0,
"msg": "success",
"data": {
"instance_code":"81D31358-93AF-92D6-7425-01A5D67C4E71"
}
}