钉钉怎么搭建审批流_钉钉app自定义工作流【开发】

夜杰酱_8559

夜杰酱_8559

2026-05-10

933人浏览

原创

需通过钉钉开放平台完成服务端接入与流程配置:一、准备开发环境与权限;二、创建应用并配置安全参数;三、创建审批模板并获取processcode;四、配置条件分支与审批节点;五、服务端发起审批实例。

钉钉怎么搭建审批流_钉钉app自定义工作流【开发】

如果您希望在钉钉App中为组织构建可编程、可复用的自定义审批工作流,需通过钉钉开放平台完成服务端接入与流程配置。以下是实现该目标的具体路径:

一、准备开发环境与权限

在接入审批流前,必须确保开发所需的基础工具链和权限已就位。缺少任一环节将导致API调用失败或回调无法触发。

1、下载并安装钉钉小程序IDE,用于本地调试与预览。

2、安装IntelliJ IDEA开发工具,作为后端Java服务的主要编码环境。

3、配置Java运行环境(JDK 8或以上版本),并验证java -version命令输出正常。

4、安装Maven构建工具,确保pom.xml中已引入钉钉SDK依赖:com.dingtalk.open:dingtalk-sdk-java:1.0.176。

5、安装Git客户端,并克隆企业内部审批服务代码仓库。

6、登录钉钉开发者后台,在“权限管理”中申请以下两项关键权限:审批流数据管理权限与成员信息读权限。

二、创建应用并配置安全参数

审批流的网络通信受严格白名单控制,所有服务端请求必须来自已登记的出口IP,且回调地址须提前备案。

1、进入钉钉开放平台控制台,点击“应用管理”→“创建应用”,选择“企业内部应用”类型。

2、在“开发配置”页填写服务器出口IP列表,格式为“192.168.1.100,192.168.1.101”,支持通配符如“192.168.*.*”。

3、设置重定向URL(即免登授权码跳转地址),示例:https://api.yourdomain.com/auth/callback。

4、在“HTTP可信域名”栏填写后端服务主域名,多个域名以英文逗号分隔,例如:api.yourdomain.com,static.yourdomain.com。

5、保存配置后,记录应用凭证:AppKey与AppSecret,后续调用服务端API必需使用。

三、创建审批模板并获取processCode

审批模板是工作流的结构基础,其唯一标识processCode将在服务端发起审批实例时作为必填参数传入。

1、使用企业管理员账号登录钉钉管理后台,路径为:工作台 → 应用管理 → OA审批 → 进入。

钉钉日报自动提交
钉钉日报自动提交

钉钉日报自动提交工具 - 定时自动提交工作日报到钉钉日志系统。适用于每日工作汇报自动化、定时提交日报、钉钉日志集成等场景。支持Python导入和命令行两种方式使用,可自定义接收人列表和定时任务。

下载

2、点击右上角“新建流程”,选择“空白模板”或基于“出差申请”等标准模板二次编辑。

3、在“基础配置”页填写流程名称、图标、可见范围,并点击“保存”获取系统生成的processCode。

4、进入“表单设计”,从控件库拖入行程明细(明细/表格)、出发时间(日期选择器)、费用总额(数字输入框)等字段。

5、对每个控件设置“字段ID”,例如费用总额字段ID设为“amount”,该ID将用于后续条件分支逻辑判断。

四、配置条件分支与审批节点

条件分支决定了审批任务如何根据表单数据动态路由至不同审批人,是实现智能流转的核心机制。

1、切换至“流程设计”页,点击“+ 添加节点”,选择“条件分支”控件。

2、点击分支节点右侧“编辑规则”,添加第一条规则:“amount

3、点击“+ 添加分支”,新增第二条规则:“amount >= 500 AND amount

4、再添加第三条规则:“amount >= 5000”,审批人指定为“CFO”角色,并勾选“会签”模式。

5、每条分支末端均需连接一个“结束节点”,确保流程有明确出口。

6、全部配置完成后点击“发布新版本”,旧流程实例仍沿用原逻辑,新提交自动启用当前版本。

五、服务端发起审批实例

前端提交表单后,后端需调用钉钉审批OpenAPI创建审批实例,该动作将触发整个工作流执行。

1、构造POST请求至接口:https://oapi.dingtalk.com/topapi/processinstance/create。

2、Header中携带access_token,该token由AppKey/AppSecret调用gettoken接口获取,有效期2小时。

3、Body中传入JSON对象,包含processCode、originatorUserId(发起人钉钉ID)、deptId(部门ID)及formComponentValues数组。

4、formComponentValues中每一项包含“name”(字段ID)与“value”(用户填写值),例如{"name":"amount","value":"6800"}。

5、请求成功返回processInstanceId,可用于后续查询审批状态或操作撤回。

相关专题

更多
OpenJDK JVM参数怎么调优
OpenJDK JVM参数怎么调优

Java应用运行缓慢,如何调整JVM参数?本专题介绍OpenJDK JVM性能调优的基本流程,涵盖性能指标确认、运行数据采集、内存配置和垃圾回收分析,帮助你先定位瓶颈,再通过对照测试验证效果,避免直接套用参数而影响应用稳定性。

2026.10.16

20

10

OpenJDK怎么配置Java开发环境
OpenJDK怎么配置Java开发环境

怎样用OpenJDK搭建开发环境?本专题介绍版本选择、下载安装、环境变量配置和编译运行验证,帮助你理清JDK的作用及基本配置流程,并通过简单程序检查环境是否可用,为后续项目开发做好准备。

2026.10.16

20

10

OpenJDK怎么部署Java应用
OpenJDK怎么部署Java应用

Java项目开发完成后,怎样部署到目标环境并正常运行?本专题介绍OpenJDK应用部署流程,涵盖运行环境准备、版本兼容检查、应用打包、启动参数配置和日志查看,帮助你理清部署前后的操作顺序,减少环境差异造成的运行问题。

2026.10.16

0

10

Revel框架模板渲染与表单验证
Revel框架模板渲染与表单验证

本专题围绕Revel框架视图层开发,介绍模板语法、变量输出、布局复用、表单提交、参数绑定与验证规则,帮助开发者完成安全规范的页面交互。

2026.10.16

20

15

Revel框架MVC路由与控制器
Revel框架MVC路由与控制器

本专题聚焦Revel框架MVC核心机制,讲解路由定义、控制器Action、参数绑定、请求响应和反向路由,并结合常见场景梳理接口请求处理流程。

2026.10.16

20

15

Revel框架入门与安装配置
Revel框架入门与安装配置

本专题从Revel框架环境搭建讲起,系统介绍命令行工具安装、项目创建、目录结构、配置文件及热代码重载,帮助开发者快速完成首个Go Web应用。

2026.10.16

20

15

Linux 新手先学哪些命令
Linux 新手先学哪些命令

Linux新手命令专题汇集终端基础、文件目录操作、文本查看、软件安装和权限管理等入门文章,帮助按实际任务练习常用命令并建立命令行操作习惯。

2026.10.15

40

20

MySQL 忘记密码怎么办
MySQL 忘记密码怎么办

MySQL忘记密码专题汇集不同版本与系统下的root密码重置方法,覆盖MySQL 5.7、8.0、Mac、Linux及本地集成环境,并提示恢复权限与重新登录的检查步骤。

2026.10.15

20

18

Vue.js 中 ref 和 reactive 的区别
Vue.js 中 ref 和 reactive 的区别

Vue.js中ref和reactive的区别专题汇集两种响应式API的定义、访问方式、对象解构、侦听与性能取舍等文章,帮助结合实际状态类型选择合适写法。

2026.10.15

20

20

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Uniapp从零开始实现新闻资讯应用
Uniapp从零开始实现新闻资讯应用

共64课时 | 9.6万人学习

Uniapp180分钟快速入门
Uniapp180分钟快速入门

共25课时 | 5.5万人学习

Uniapp从零开始实现新闻资讯应用
Uniapp从零开始实现新闻资讯应用

共67课时 | 12.5万人学习