在钉钉审批中,如果需要创建包含分栏表单的审批流程,可以通过以下步骤使用API指定里面的内容:
(图片来源网络,侵删)
1、准备数据
在创建审批流程之前,需要准备一个包含分栏表单数据的JSON对象,该对象应包含以下字段:
| 字段名 | 类型 | 描述 |
| formId | String | 分栏表单的唯一标识 |
| columns | Array | 分栏表单的列信息 |
| rows | Array | 分栏表单的行信息 |
columns字段是一个数组,包含分栏表单的列信息,每个元素是一个对象,包含以下字段:
| 字段名 | 类型 | 描述 |
| columnId | String | 列的唯一标识 |
| fieldIds | Array | 该列包含的字段ID列表 |
rows字段是一个数组,包含分栏表单的行信息,每个元素是一个对象,包含以下字段:
| 字段名 | 类型 | 描述 |
| rowId | String | 行的唯一标识 |
| values | Object | 该行包含的字段值,键为字段ID,值为字段值 |
2、调用API创建审批流程
使用钉钉提供的审批API创建审批流程,在创建审批流程的请求体中,将准备好的分栏表单数据作为参数传递,具体接口及参数如下:
API名称:create_approval_process
请求方式:POST
请求URL:https://oapi.dingtalk.com/topapi/processinstance/create?access_token=<access_token>
请求参数:
form_data:String,分栏表单数据(JSON格式)
template_code:String,审批模板编码,可在钉钉管理后台查看或创建
title:String,审批标题
description:String,审批描述
approver_ids:Array,审批人ID列表,可选参数
workflow_id:String,工作流ID,可选参数
business_key:String,业务关键词,可选参数
timeout:Number,审批超时时间(秒),可选参数
after_submit:String,提交后的回调地址,可选参数
after_reject:String,驳回后的回调地址,可选参数
after_agree:String,通过后的回调地址,可选参数
after_timeout:String,超时后的回调地址,可选参数
extends_param:Object,扩展参数,可选参数
form_params:Object,分栏表单参数,必填参数
formId:String,分栏表单的唯一标识
columns:Array,分栏表单的列信息
rows:Array,分栏表单的行信息
示例代码(Python):
import requestsimport json填写钉钉API相关信息access_token = "your_access_token"url = "https://oapi.dingtalk.com/topapi/processinstance/create?access_token={}".format(access_token)template_code = "your_template_code"form_data = {"formId": "your_form_id", "columns": [{"columnId": "column1", "fieldIds": ["field1", "field2"]}, {"columnId": "column2", "fieldIds": ["field3", "field4"]}], "rows": [{"rowId": "row1", "values": {"field1": "value1", "field2": "value2"}}, {"rowId": "row2", "values": {"field3": "value3", "field4": "value4"}}]}headers = {"ContentType": "application/json;charset=utf8"}data = {"template_code": template_code, "title": "审批标题", "description": "审批描述", "form_params": form_data}response = requests.post(url, data=json.dumps(data), headers=headers)print(response.text)

QQ客服