钉钉小程序生态7—企业机器人加互动卡片,改善用户体验的开始!

news/2024/7/20 1:43:33 标签: 钉钉, 小程序, java, spring boot

文章导航

钉钉小程序生态1—区分企业内部应用、第三方企业应用、第三方个人应用
钉钉小程序生态2—区分小程序和H5微应用
钉钉小程序生态3—钉钉扫码登录PC端网站
钉钉小程序生态4—钉钉小程序三方企业应用事件与回调
钉钉小程序生态5—钉钉群机器人消息通知和钉钉工作通知
钉钉小程序生态6—钉钉OA自定义审批流的创建和使用
钉钉小程序生态7—企业机器人加互动卡片,改善用户体验的开始!

一、前言

大家好!我是sum墨,一个一线的底层码农,平时喜欢研究和思考一些技术相关的问题并整理成文,限于本人水平,如果文章和代码有表述不当之处,还请不吝赐教。

首先上一些图,让大家知道我这篇文章要讲的是啥。

1. 什么是企业机器人?

企业机器人,具备完整的接收消息和发送消息的能力。它与Webhoook 机器人不同,Webhoook 机器人只能出现在群里面,而企业机器人不仅可以在群里出现,还可以以单聊的形式出现,企业机器人很多时候都是以"xx小蜜"或"xx助手"命名。

  • 企业机器人属于功能版块
    -- 点进去是机器人推送给你的信息

    在这里插入图片描述

2. 什么是互动卡片?

钉钉互动卡片是一种新型的消息类型,它具有动态性、可交互性、多端统一等特点。它能够极大地丰富消息类型,并且促进用户的沟通互动。互动卡片具有以下特点。

  • 卡片内容可动态变更与普通的文本消息或Markdown消息相比,互动卡片能够在卡片内多端实时进行内容的变更,减少消息打扰,提升效率。

  • 互动卡片能够让用户直接在卡片内进行轻量级交互,促进沟通互动,并且无需进入二级页面,能够缩短用户操作路径,提升效率。

3. 服务端、企业机器人、互动卡片、用户的关系图

从这个关系图上看起来逻辑不复杂,那么接下来我来详细说一下如何实现这些功能。

二、创建企业机器人

1. 创建一个应用(企业内部应用、第三方企业应用都可以)

进入钉钉开放平台 —> 应用开发 —> 创建应用
在这里插入图片描述

2. 添加机器人能力

添加完机器人能力之后左侧菜单栏确实出现了一个机器人的菜单,但是点进去却是消息模板???
说真的,我看到这个一脸懵逼,真想问候一下钉钉开放平台的产品,你系统升级改版很正常,但是你东西都改没了,请问机器人能力在哪?
后来我实在是找不到了,就提了个工单,终于搞定了这个。

首先,回到添加应用能力,点击添加“酷应用”

其次,点击“创建酷应用”,选择第一个“扩展到群会话”

再次,添加完必填信息,点击保存

最后,回到机器人菜单,这时就出现了机器人的信息

WTMD!!!

三、搭建互动卡片

1. 进入卡片平台—> 新建模板


2. 搭建卡片模板

这里我直接从预设模板中选择了审批模板,保存后点击发布即可。

3. 获取卡片的模板ID

回到模板列表,这里可以看到刚才创建出来的卡片,下面有卡片的模板ID
在这里插入图片描述

四、企业机器人推送互动卡片

1. 根据应用信息、企业corpID、SuiteTicket获取accessToken

官方接口文档

这个我就不多说了,如果不知道SuiteTicket是啥,可以看我这篇文章钉钉小程序三方企业应用事件与回调

2. 服务端调用接口推送互动卡片

官方接口文档

这里我直接使用钉钉提供的调试平台进行接口调用,就不自己写代码了。这个接口的参数都是比较好懂的,那个cardData参数就是卡片平台里面的变量

格式如下:

{
    "title": "测试提交的审批",
    "type": "团建",
    "amount": "200000",
    "reason": "一起玩"
}

调用该接口之后,机器人就会给指定的用户发送一个审批的卡片了
在这里插入图片描述

3. 卡片事件回调服务端

这个也很简单,接口提供了一个参数:callbackUrl,这个参数可控制卡片回调的URL,不填则无需回调,该链接必须是公网可以访问的。

这个参数理解是好理解,但是钉钉文档写的也是一塌糊涂,虽然我知道你会回调,但是回调的格式也不告诉我们,我找了半天才找到。
有两个点大家注意一下:
第一,接口必须是post请求才行;
第二,接口的参数格式如下:

{
    "corpId": "xxxx",
    "outTrackId": "xxx",
    "userId": "xxxx",
    "value": "xxx"
}

4. 服务端调用接口更新互动卡片状态


从动图中我们可以看到,当点击了接受之后,下面的按钮就变成了已接受,且不可以再点击。那么这个效果应该怎么做呢?这就需要用到更新机器人发送互动卡片这个接口了。
不过在调用接口之前,我们需要对卡片进行一些调整。

(1)新增已同意、已拒绝按钮,将其设置为不可用

(2)新增status变量

(3)同意和拒绝按钮的展示条件为“status等于handling”

(4)已同意按钮的展示条件为“status等于agree”

(5)已拒绝按钮的展示条件为“status等于reject”

(6)发布该卡片模板,调用接口

a. 调用发送接口,参数如下
{
    "title": "测试提交的审批",
    "type": "团建",
    "amount": "200000",
    "reason": "一起玩",
    "status": "handling"
}

在这里插入图片描述

可以看到两个按钮都展示了。

b. 调用更新接口,状态为agree,参数如下
{
    "title": "测试提交的审批",
    "type": "团建",
    "amount": "200000",
    "reason": "一起玩",
    "status": "agree"
}

在这里插入图片描述

可以看到按钮变成了已同意。

c. 调用更新接口,状态为reject,参数如下
{
    "title": "测试提交的审批",
    "type": "团建",
    "amount": "200000",
    "reason": "一起玩",
    "status": "reject"
}

在这里插入图片描述

可以看到按钮变成了已拒绝。

五、总结一下

企业机器人加入互动卡片可以让用户体验更好,主要是因为:

  • 更美观:卡片比纯文本看起来更吸引人。
  • 更清晰:信息布局有条理,用户容易理解。
  • 操作简单:卡片上的按钮和链接让用户知道下一步该做什么。
  • 互动有趣:用户可以通过填表、点击等方式与机器人互动,更加有趣。
  • 个性化服务:根据用户的需求,推送不同的卡片,满足个人喜好。
  • 更方便:有时候用户可以直接在卡片上完成一些操作,比如预订或支付。

总的来说,互动卡片让用户与机器人的交流更直观、更便捷,也更有趣。如果你的产品正在使用钉钉小程序,那么可以尝试使用这个组合!


http://www.niftyadmin.cn/n/5303611.html

相关文章

服务器防护怎么做

随着网络攻击的日益猖獗,服务器安全已成为关注的焦点。如何有效防御各种网络威胁,确保数据安全与业务连续性,已成为一项迫切的需求。目前服务器所面临的主要威胁包括但不限于:DDoS攻击、SQL注入、跨站脚本攻击(XSS)、远程命令执行…

web网站的工作流程和开发模式

web网站的工作流程和开发模式 基于Java Script封装的高级技术:Vue、Element、Nginx(前端程序部署的服务器) 初识Web前端 Web标准

[足式机器人]Part2 Dr. CAN学习笔记-自动控制原理Ch1-10奈奎斯特稳定性判据-Nyquist Stability Criterion

本文仅供学习使用 本文参考: B站:DR_CAN Dr. CAN学习笔记-自动控制原理Ch1-10奈奎斯特稳定性判据-Nyquist Stability Criterion Cauchy’s Argument Priciple 柯西幅角原理 结论: s s s平面内顺时针画一条闭合曲线 A A A, B B B曲…

Android studio BottomNavigationView 应用设计

一、新建Bottom Navigation Activity项目&#xff1a; 二、修改bottom_nav_menu.xml: <itemandroid:id"id/navigation_beijing"android:icon"drawable/ic_beijing_24dp"android:title"string/title_beijing" /><itemandroid:id"i…

金色麦芒的2023

2023年即将过去&#xff0c;回首这一年&#xff0c;我深感自己在技术和职业生涯中取得了巨大的进步。这一年里&#xff0c;我不仅在技术层面有了更深入的掌握&#xff0c;也在个人成长和职业规划上有了更明确的方向。 首先&#xff0c;在技术层面&#xff0c;我今年最大的收获是…

Termius for Mac/Win:一款功能强大的终端模拟器、SSH 和 SFTP 客户端软件

随着远程工作和云技术的普及&#xff0c;对于高效安全的远程访问和管理服务器变得至关重要。Termius&#xff0c;一款强大且易用的终端模拟器、SSH 和 SFTP 客户端软件&#xff0c;正是满足这一需求的理想选择。 Termius 提供了一站式的解决方案&#xff0c;允许用户通过单一平…

Vue中用watch一次监听两个值的变化

在Vue中&#xff0c;watch 本身不能监听多个变量。但我们可以通过返回具有计算属性的对象然后监听该对象&#xff0c;从而实现一次性“监听多个变量”。 在data中定义需要的属性在computed中返回一个包含将被监听的的各个对象的计算属性在watch中监听该计算属性 举个例子&…

Leetcode11-快乐数(202)

1、题目 编写一个算法来判断一个数 n 是不是快乐数。 「快乐数」 定义为&#xff1a; 对于一个正整数&#xff0c;每一次将该数替换为它每个位置上的数字的平方和。 然后重复这个过程直到这个数变为 1&#xff0c;也可能是 无限循环 但始终变不到 1。 如果这个过程 结果为 1…