《钉钉应用开发者速成手册》之“API实战——搭建审批工作流”

本文涉及的产品
.cn 域名,1个 12个月
简介: 本教程以一个简单的出差审批工作流为例展示如何发起一个审批。为了方便开发者体验,我们提供了服务端和前端代码,您只需要根据本文档的操作,完成基础配置既可。

准备工作

在开始接入前,确保您已经完成以下准备工作:

  • 安装小程序IDE,单击小程序开发工具下载。
  • 已下载并安装了IntelliJ IDEA开发工具。若未安装,请访问IntelliJ IDEA
  • 已经安装了Java开发环境。若未安装,请访问Oracle官网下载。
  • 已经安装了Java项目构建工具Maven。若未安装,请访问Apache Maven下载。
  • 已经安装了项目管理工具Git。若未安装,请访问Git官网下载。

创建应用

在本部分,你将在开发者后台创建一个H5微应用,并完成基础配置。

  1. 登录钉钉开发者后台

    说明
    只有管理员和子管理员可登录开发者后台。
  2. 开发者后台页面,单击应用开发,然后选择企业内部开发 > 小程序,最后单击创建应用
    image.png
  3. 在弹出的创建应用页面中填写基本信息,然后单击确定创建
  • 应用类型:选择小程序
  • 开发方式:选择企业自助开发

image.png

  1. 应用创建完成后,在凭证与基础信息页面,复制应用的AppKeyAppSecretAgentId备用。
    image.png
  2. 单击开发管理进入开发管理页面,然后单击修改,并根据以下内容配置开发信息。
  • 服务器出口IP:输入调用钉钉服务端API时使用的IP即企业服务器的公网IP,多个IP请以英文逗号","隔开,支持带一个*号通配符的IP格式。可通过工具进行查看。
    本教程设置为127.0.0.1
  • PC端首页地址(可选):输入在PC端钉钉工作台上打开本应用的地址。链接地址必须以http或https开头。
    本教程设置为:https://ding-doc.dingtalk.com/
  • 管理后台地址(可选):输入组织管理员在钉钉管理后台访问该应用的地址。

image.png

  1. 单击人员管理,然后单击添加人员添加开发人员。

    说明
    应用创建后,默认开发人员为应用创建者。
    image.png
  2. 单击安全中心,然后单击添加添加一个HTTP安全域名。
    当小程序的前端与服务端需要进行网络通信时,需要设置安全域名。小程序前端只能通过已设置的安全域名(或IP)与服务端进行网络通信。当安全域名更新时,需要在小程序开发工具重新打包上传版本,设置的域名才会生效。
    安全域名是后端服务部署的服务器的公网IP或域名,本教程输入127.0.0.1
    image.png
  3. 单击权限管理进入权限管理页面,然后根据以下配置添加接口调用权限。
  1. 权限范围选择全部员工,然后单击添加接口权限
  2. 选择通讯录审批接口权限

image.png

创建出差申请表单

在本部分,你将在OA管理后台创建审批模板。

  1. 使用管理员账号登录OA管理后台,然后选择工作台 > OA审批
    image.png
  2. 表单管理页面,单击创建新表单,然后选择自定义流程表单
    image.png
  3. 基础配置页面,完成基础信息配置。
    image.png
  4. 单击表单设计,然后在控件库中根据下表设计出差申请表单,并保存url中的processCode。

    说明
    拖拽控件后,需要修改控件标题。

表单项

使用控件

行程明细

明细/表格控件

出差地点

单行输入框控件

图片

图片控件

开始时间,结束时间

日期区间控件

出差人数

数字控件

出差金额

金额控件

出差同伴

单选框控件(添加的时候,把选项改为A,B,C)

交通工具

单行输入框控件

出差事由

多行输入框控件

image.png
   注意
   切记保存好processCode,在服务端开发时需要该参数。

  1. 单击流程设计,单击+设置审批条件和审批人,如下图所示。
    image.png
  2. 流程设计完成后,单击发布完成表单设计。

服务端开发

在本部分你将下载服务端代码,并完成基础配置。

参考以下操作,完成服务端开发:

  1. 执行以下代码,下载服务端代码。
git clone https://github.com/opendingtalk/eapp-corp-project.git
  1. 使用IntelliJ IDEA打开下载的代码工程,并修改配置:
  1. 运行IntelliJ IDEA,然后在启动页面单击Open
    image.png
  2. 选择刚刚下载的服务端代码,然后单击OK
    image.png
  3. 打开src/main/java/com/config/Constant.java文件,修改以下信息。
/**
 * 企业corpid, 需要修改成开发者所在企业
 */
public static final String CORP_ID = "***";
/**
 * 应用的AppKey,登录开发者后台,点击应用管理,进入应用详情可见
 */
public static final String APPKEY = "***";
/**
 * 应用的AppSecret,登录开发者后台,点击应用管理,进入应用详情可见
 */
public static final String APPSECRET = "***";
/**
 * 数据加密密钥。用于回调数据的加密,长度固定为43个字符,从a-z, A-Z, 0-9共62个字符中选取,您可以随机生成
 */
public static final String ENCODING_AES_KEY = "***";
/**
 * 加解密需要用到的token,企业可以随机填写。如 "12345"
 */
public static final String TOKEN = "***";
/**
 * 应用的agentdId,登录开发者后台可查看
 */
public static final Long AGENTID = 111L;
/**
 * 审批模板唯一标识,可以在审批管理后台找到
 */
public static final String PROCESS_CODE = "***";
  1. 参考以下操作,部署后端服务。
  1. 打开src/main/java/com/Application.java文件。
  2. 使用快捷键ctrl+shift+f10,运行后端服务。
  1. 服务端启动后,在浏览器中访问http://localhost:8080/welcome,打开如下页面表示启动成功。
    image.png

开发小程序

在本部分你将下载前端代码,并完成基础配置。

参考以下操作,完成前端开发:

  1. 执行以下命令,下载前端代码。
git clone https://github.com/opendingtalk/eapp-corp-project-fe
  1. 打开小程序IDE开发工具,打开已下载的项目。

    说明
    项目类型选择钉钉企业内部应用
    image.png
  2. 关联步骤一中创建的小程序应用。
    image.png
  3. 打开eapp-corp-project-fe/page/index/index.js文件修改服务端URL,URL中的IP或者域名必须是开发者后台中设置的本应用的安全域名。小程序前端发起网络请求时是直连安全域名或IP的。
    本示例中设置为http://127.0.0.1:8080
    image.png
  4. 单击发起审批即可发起一个审批实例。
    为了保持代码的简洁,本次demo发起的审批实例中,审批发起人、审批人和抄送人是同一个用户,即当前免登的用户。image.png
  5. 打开钉钉打开移动端或PC端钉钉,找到该企业工作通知,查看收到的审批通知。
    image.png

恭喜

你已完成本教程的全部内容!

现在你已经拥有一个可以正常运行的钉钉小程序。你也可以在其中添加其他功能,参考应用开发了解更多。

你还还可以通过以下方式注册审批事件。

  • 注册回调你可以通过以下方法注册或更新企业的回调地址:
  1. 打开已下载的服务端代码,修改服务端代码Constant.java文件中的CALLBACK_URL_HOST参数,设置成你的回调地址
  2. 运行CallbackController中的main方法,注册或更新企业的回调地址。
  3. 当控制台打印出回调注册成功了!!!时,表示注册回调成功。
  • 接收审批回调
    注册完审批回调,当审批被通过或拒绝时,服务端会接收到对应的回调通知,您可以结合您的业务场景做相应的处理。

在本示例中,服务端接收回调后,会给审批发起人发一条工作通知消息。

image.png

相关文章
|
1月前
|
存储 缓存 搜索推荐
Lazada淘宝详情API的价值与应用解析
在电商行业,数据是驱动业务增长的核心。Lazada作为东南亚知名电商平台,其商品详情API对电商行业影响深远。本文探讨了Lazada商品详情API的重要性,包括提供全面准确的商品信息、增强平台竞争力、促进销售转化、支持用户搜索和发现需求、数据驱动决策、竞品分析、用户行为研究及提升购物体验。文章还介绍了如何通过Lazada提供的API接口、编写代码及使用第三方工具实现实时数据获取。
57 3
|
1月前
|
开发框架 .NET API
RESTful API 设计与实现:C# 开发者的一分钟入门
【10月更文挑战第5天】本文从零开始,介绍了如何使用 C# 和 ASP.NET Core 设计并实现一个简单的 RESTful API。首先解释了 RESTful API 的概念及其核心原则,然后详细说明了设计 RESTful API 的关键步骤,包括资源识别、URI 设计、HTTP 方法选择、状态码使用和错误处理。最后,通过一个用户管理 API 的示例,演示了如何创建项目、定义模型、实现控制器及运行测试,帮助读者掌握 RESTful API 的开发技巧。
64 7
|
1月前
|
缓存 数据挖掘 API
商品详情API接口的应用实践
本文探讨了商品详情API接口在电商领域的应用实践,介绍了其作为高效数据交互方式的重要性,包括实时获取商品信息、提升用户体验和运营效率。文章详细描述了API接口的特点、应用场景如商品展示、SEO优化、数据分析及跨平台整合,并提出了缓存机制、分页加载、异步加载和错误处理等优化策略,旨在全面提升电商运营效果。
|
1月前
|
监控 搜索推荐 数据挖掘
淘宝 API 接口的调用频率限制是否会因应用类型而异?
淘宝API调用频率限制依应用类型而异。电商管理类如商家后台、商品批量上传工具,调用频次较高;数据分析类如市场调研、店铺分析工具,频次较严;导购推荐类如第三方导购平台、社交媒体导购应用,依据规模与信誉设定;其他如开发者测试、个人小型应用则限制较宽松。
|
8天前
|
API 开发工具 开发者
探究亚马逊国际获得AMAZON商品详情 API 接口功能、作用与实际应用示例
亚马逊提供的Amazon Product Advertising API或Selling Partner API,使开发者能编程访问亚马逊商品数据,包括商品标题、描述、价格等。支持跨境电商和数据分析,提供商品搜索和详情获取等功能。示例代码展示了如何使用Python和boto3库获取特定商品信息。使用时需遵守亚马逊政策并注意可能产生的费用。
|
13天前
|
监控 搜索推荐 安全
探究亚马逊详情API接口:开发与应用
在数字化时代,亚马逊作为全球领先的电商平台,为商家和消费者提供了丰富的商品信息和便捷的购物体验。本文深入探讨了亚马逊详情API接口的获取与运用,帮助开发者和商家实时监控商品数据、分析市场趋势、优化价格策略、分析竞争对手、构建推荐系统及自动化营销工具,从而在竞争中占据优势。文章还提供了Python调用示例和注意事项,确保API使用的安全与高效。
41 3
|
17天前
|
搜索推荐 数据挖掘 API
API接口在电商的应用及收益
本文探讨了API接口技术在电商领域的应用及其带来的收益。API接口作为连接电商平台与外部系统的桥梁,实现了高效、实时的数据交换和集成,提升了用户体验、运营效率和市场竞争力。具体应用包括库存管理、支付网关、物流跟踪、自动化业务流程、个性化推荐和精准营销等方面。通过实战案例分析,展示了亚马逊和小型电商公司如何利用API接口实现自动化管理,提高了工作效率和客户满意度。未来,API接口技术将更加注重智能化、标准化、安全性和跨界合作。
51 3
|
28天前
|
JSON 供应链 API
京东商品评价API的获取和应用
京东商品评价API是电商数据分析的重要工具,帮助开发者和商家获取商品的用户评价数据,包括评分、评论内容和购买时间等。通过分析这些数据,商家可以优化产品和服务,提升客户满意度,制定更有效的营销策略。本文介绍了获取和应用京东商品评价API的详细步骤,包括注册账号、获取权限、阅读文档和编写代码调用API。示例代码展示了如何使用Python调用API并处理响应数据。
87 2
|
29天前
|
JSON API 开发者
淘宝商品评价API的获取与应用
在数字化时代,电商平台如淘宝成为消费者购物的主要渠道。本文介绍如何使用淘宝开放平台的商品评论API获取并利用评论数据,以优化产品和服务,提升用户体验。内容涵盖API的重要性、准备工作、调用流程及代码实现,帮助开发者高效获取和分析数据。
50 3
|
29天前
|
缓存 数据挖掘 API
淘宝商品类目API的获取与应用探索
淘宝商品类目API是淘宝开放平台提供的关键服务,允许开发者获取淘宝商品的类目信息,包括根类目、子类目及属性信息。本文介绍API的获取方法、应用场景及使用技巧,帮助电商从业者和开发者更好地利用类目数据,提升商品管理、搜索推荐及数据分析等能力。
69 1

热门文章

最新文章

下一篇
无影云桌面