DingTalk「开发者说」
使用宜搭酷应用工厂开发酷应用
摘要:本篇主要讲解宜搭酷应用工厂的概念和开发指南,以及使用宜搭酷应用工厂开发钉钉酷应用的实践。
分享人:泱云,宜搭酷应用工厂技术专家
视频地址:
正文:
一、宜搭酷应用工厂是什么
1. 简介
- 宜搭酷应用工厂是以低代码的方式搭建酷应用,加速企业业务应用的“酷应用化”,让创新更简单。
- 在群应用开发的完整流程中,宜搭酷应用工厂专注于互动卡片的开发,以及连接各种业务场景。
宜搭酷应用工厂在群应用开发流程中的应用场景
2. 特性
宜搭酷应用工厂通过连接器、互动卡片、业务编排3步完成酷应用开发。
- 连接&利旧:通过钉钉开放平台连接器,将应用的API连接到酷应用上;
- 低代码&业务编排:通过业务编排组装卡片数据,以及编排卡片发送和回调逻辑;
二、开发指南
开发整体流程图
前置条件:
a.在钉钉开放平台上创建应用;
b.应用下配置了机器人;
宜搭酷应用工厂的开发流程:
首先在宜搭酷应用工厂创建群应用→设计卡片→关联连接器→通过业务编排设计卡片的发送和回调逻辑→配置群应用,最后上架并使用群应用。
1. 创建群应用
a.进入宜搭酷应用工厂首页,点击创建群应用;
b.在创建群应用页面中填写相关信息,其中:
- 主应用:钉钉开放平台上创建的应用;
- 应用类型:主应用类型;
2. 设计卡片
进入群应用首页创建卡片,其中有三个主要步骤:场景管理、业务编排、发布&上架。
a. 新建场景:
- 选择①场景管理,这里的场景指卡片,点击新建场景;
- 填写新建场景信息,包括场景(卡片)名称和类型,卡片类型主要分为聊天卡片和吊顶卡片;
b. 设计卡片
- 创建卡片后进入卡片设计器设计卡片。
- 在设计器中有三个主要模块:组件库(下图左)、卡片编辑器(下图中)和组件设置区(下图右)。
c. 关联数据源
- 卡片组件的内容关联相应的数据源变量。
3. 连接器
卡片设计完成后进入卡片发送环节,其核心在于填充卡片数据源,而数据源来自于连接器。钉钉开放平台上的连接器有两个核心部分:
- 触发事件:用于向钉钉推送数据,比如宜搭酷应用工厂会监听事件并将事件中的数据组装到卡片的数据源变量中;
- 执行动作:被其它系统连接(调用)的能力
- 提供接口来获取系统的数据;
- 消费其它系统推送过来的数据;
触发事件和执行动作形成数据的上行和下行通道。
a.创建连接器
- 在钉钉开发者后台选择开放能力-连接平台,点击创建连接器,在创建信息页面中的关联应用与群应用关联的主应用一致;
- 配置连接器的触发事件;
- 配置连接器的执行动作;
参考:连接器开发文档https://open.dingtalk.com/document/connector/platform-connectivity-quick-start
4. 业务编排
a.卡片发送
卡片发送的业务编排流程主要包括:选择连接器、选择触发事件、选择卡片、卡片参数映射,将触发事件中的数据源变量一一映射到卡片中的数据源变量,即可完成卡片发送。
主要步骤如下:
- 在宜搭酷应用平台选择②业务编排,点击新建;
- 填写业务编排信息,选择应用事件触发,点击确认;
- 进入应用事件触发编辑器,选择连接器,并点击下一步;
- 选择触发动作,点击保存;
- 进入发送卡片页面,配置卡片发送节点;
- 卡片发送时序图,以提交表单数据后发送交互卡片数据为例:
卡片发送时序图
b.卡片回调
卡片回调的业务编排流程主要包括:选择卡片、选择连接器、选择动作、动作参数映射,以及卡片按钮绑定业务编排。
示例步骤如下:
- 创建卡片回调的业务编排:在新建业务编排时选择手动触发,选择分享目标(即卡片),点击确定;
- 选择连接器;
- 选择执行动作,点击下一步;
- 配置执行动作参数映射,点击保存;
- 卡片按钮绑定业务编排:在卡片设计器中配置按钮的事件类型和业务编排;
- 卡片按钮触发回调时序图(如下图),以点击卡片上的回调按钮为例:
卡片按钮触发回调时序图
用户在钉钉客户端点击某张卡片按钮,这一行为会回调到宜搭酷应用工厂,根据开发者编排的这一行为的关联关系,调用并执行连接器动作,然后钉钉开放平台回调连接器动作对应的API到ISV服务器,至此客户的点击行为被业务的服务端接收并进行处理。
5. 群应用发布
将低代码搭建的卡片、业务编排发布上线,每次修改卡片设计、业务编排之后,需要发布后才可生效。
- 选择③发布&上架,点击发布;
6. 群应用信息填写
群应用信息填写包括:配置群应用入口、群应用信息,以及提交审核三个步骤。
- 在③发布&上架页面点击上架;
- 配置群应用快捷入口;
- 配置群应用信息,点击提交审核;
- 提交审核后会生成群应用编码,可以使用这个编码在群内测试群应用效果。
三、酷应用开发演示
演示内容:订餐酷应用搭建
演示说明:
订餐流程主要有2个步骤:
- Step1 餐厅工作人员群内发起订餐活动(互动卡片);
- Step2 员工在群中点击卡片报名;
传统的方式是在订餐系统中发起/报名活动,这个发起和报名的行为需要通过钉钉工作台三方应用完成。
下面的演示操作,会将这一订餐场景搭建成群应用,步骤如下:
1. 创建连接器
- 进入钉钉开放平台-开发者后台,选择开放能力中的连接平台;
- 进入连接平台,创建连接器;
- 创建触发事件“推送活动及其报名数据情况”;
- 设置触发事件详情;
- 配置执行动作“接收活动报名请求”;
- 入参配置;
2. 设计卡片
- 创建场景:进入群应用管理首页,选择场景管理,点击创建场景;
- 填写场景信息,点击确定;
- 设计卡片:进入卡片编辑器,使用模板进行设计;
- 编辑变量,点击保存;
变量说明:
creator 订单发起人
maxUserCount 可预订份数
joinCount 可预订份数
description 订餐活动描述
cover 图片变量
- 根据订餐活动内容修改标题、图片、内容等信息;
- 编辑Mock数据;
- 将按钮点击事件类型选择为回传请求,点击保存;
3. 业务编排
a.设计卡片发送的业务编排
- 返回群应用首页,选择业务编排,点击应用事件触发;
- 点击新建,填写业务编排信息,点击确定;
- 进入业务编排编辑器,选择连接器,点击下一步;
- 选择触发事件“推送活动及其报名数据情况”,点击保存;
- 进入发送卡片页面,需要配置的内容:
- 选择卡片:订餐卡片;
- 卡片业务ID:是标识卡片的ID,在订餐的场景中餐厅管理员每发起一次活动就会发出一张卡片,因此,这里选择为活动id;
- 发送范围:发送到群 - 活动发起的群会话id;
- 卡片参数配置:
creator 活动发起人名称;
maxUserCount 报名人数上限;
joinCount 已报名人数;
description 活动描述;
- 群可见范围:全员可见;
b.设计卡片“报名”按钮回调业务编排
- 回到业务编排首页,选择手动触发,点击新建;
- 填写新建业务编排名称“订餐报名”,选择手动触发、订餐卡片,点击确定;
- 进入业务编排,将原有的“发送卡片”删除,换成“连接器”,然后选择连接器,点击下一步;
- 选择执行动作“接收活动报名请求”,点击下一步;
- 配置执行动作:将入参参数值一一做映射;
- 企业id:卡片按钮点击人所属组织;
- 活动id:卡片业务ID;
- 员工id:卡片按钮点击人;
- 会话id:卡片按钮点击人所属组织;
- 是否报名:是;
- 返回卡片编辑器,将报名按钮与业务编排相关联,点击保存;
4. 发布&上架
返回群应用首页,选择发布&上架
- 点击发布;
- 点击上架;
定义酷应用在群内扩展信息,包括:群内快捷入口设置和应用信息填写两部分;
- 群内快捷入口设置
- 入口名称:订餐
- 桌面端/移动端访问地址:具体参考钉钉开放平台群插件文档;
- 群应用信息填写;
- 提交审核,点击确认;
5. 群应用测试
在等待上架过程中,可以进行群应用的群内测试,可以使用群应用编码在移动端进行测试,具体测试方法请参考钉钉开放平台中的对应文档。
- 创建订餐演示群,并将群应用编码发到群内,在移动端安装群应用;
发起订餐活动,点击快捷入口“订餐”进入订餐活动详情页面,填写信息并点击提交;
群内收到一个订餐卡片,群成员可以点击报名;
以上,就是通过宜搭酷应用工厂搭建群应用,并在群内执行业务功能的实践演示。
四、Q&A
Q:通过宜搭酷应用工厂开发酷应用,和在钉钉开发者后台自行开发酷应用,二者有什么不同?
A:宜搭酷应用工厂是将钉钉平台上提供的酷应用各种能力,集成到宜搭酷应用工厂平台,开发者可以使用低代码的方式创建酷应用,同时卡片的设计、发送和回调等,都可以在平台进行编排和管理;而在钉钉开发者后台创建酷应用,则需要先在钉钉开放平台设计卡片,然后在自己的应用服务端后台调用钉钉开放平台API发送卡片、组装数据,回调事件还需要注册操作。宜搭酷应用工厂最适用的一种场景是老应用翻新,比如叮当OKR场景,可以用宜搭酷应用工厂以低代码方式,将旧版三方应用叮当OKR更新成群应用。
Q:在演示中,当点击报名后,卡片显示已预订数的变化是如何实现的?
A:这是通过业务编排中的卡片手动触发设置实现的。当员工点击“报名”后,通过连接器的动作回调到服务端后台,后台会记录点击详情(如:哪个餐食、点击人等),将订餐数据的变化,使用连接器的触发事件发送一个事件,业务编排接收到事件后更新卡片内容,因此,卡片上的已预订数会随之更新。
Q:在演示中,如果报名不成功会怎么处理?
A:报名不成功会由开发者后台的业务逻辑自行处理。宜搭酷应用工厂会将用户点击报名的行为发送至业务系统,由业务系统决定业务逻辑。比如报名失败,可以通过改变按钮颜色(变灰色)的方式来体现;也可以再发送一张卡片告知用户报名已结束;如果报名人已满,可以将报名按钮置灰或将按钮换成“已结束”来反馈给用户。
Q:卡片如何实现与OA审批的关联?
A:宜搭酷应用工厂暂时还不支持这个能力,在未来会有相关产品的规划。
Q:宜搭酷应用工厂后续的规划中,还会支持哪些酷应用开发的能力?
A:在数据层面,目前开发者的数据不在宜搭酷应用工厂平台,而是通过钉钉连接器平台连接开发者后台应用,未来的发展方向是从表单的创建、卡片的发送到数据回流和处理,都会以宜搭原生应用的方式实现。
另外,在酷应用能力方面,未来会提供链接直接转卡片的能力,酷应用能力可以发布到更多的场域,宜搭酷应用工厂也会统一接入这些场域。