跳到主要内容

提醒推送

功能介绍

提醒推送用于将工作区表单的[事件信息]通过http请求推送到轻流外部系统。

适用场景

您可以使用提醒推送,当应用状态/流程/数据的信息变动时,在自己的其它系统中收到提醒,直接点击链接跳转至轻流处理,方便、快捷。

详细介绍

触发事件

触发事件/字段ID说明
待办1当某个数据的某个节点有新的待办事项时(包含转交),向该节点的节点负责人推送通知
申请结果2某个数据的流程结束后,向申请人推送结果通知,申请结果:已通过已拒绝
抄送3当某个数据到达抄送节点时,向抄送节点负责人推送通知
回退4当某个数据在流程中从 B 节点被「回退」至申请人节点时,向申请人推送通知
催办5当某个数据在某个节点被「催办」时,向当前节点负责人推送通知
超时提醒6某个数据中的「待办」触发「超时提醒或自动流转」时,向当前待办的负责人推送通知
Openapi 添加数据失败7当通过 OpenAPI 添加数据失败时,触发推送通知
QSource 被动添加数据失败8流程配置了 QSource 被动模式,当添加数据失败时,触发推送通知
超时提醒预警9某个数据中的「待办」触发「超时预警」时,向当前待办的负责人推送通知
审批通过11某个数据的「审批节点」中,节点负责人通过审批或超时自动提交时,向申请人推送通知审批(会签),每个处理人审批通过都会出发推送审批(或签),只有一次通过,即只触发一次推送逐级审批:一次通过触发一次推送
填写通过12某个数据的「填写节点」中,节点负责人完成填写或超时自动提交时,向申请人推送通知

支持参数

当事件发生时,轻流会向您配置的地址发送自定义的http请求,您可以插入以下参数:

系统参数
字段名称
提醒类别 ID
应用名称
应用Appkey
数据ID
数据编号
申请时间
申请人 userid
申请人名字
申请人邮箱
申请人手机号
通知时间
数据链接
特殊参数

特殊参数为只在特定事件发生时才有值的参数,在不支持该参数的事件中,该参数的值为null

触发事件/字段提醒人 userid提醒人名字提醒人邮箱提醒人手机号当前节点 ID当前节点名称申请结果申请内容当前流程状态当前超时状态超时时间节点处理人 userid节点处理人姓名审批类型通过类型errorCodeerrorMsgQSource名称
待办-----------
申请结果--✅已通过/已拒绝----------
抄送------------
回退✅仅申请人节点✅仅申请人节点----✅操作「回退」动作的操作人-----
催办-----------
超时提醒 /超时提醒预警---✅即将超时/已超时-------
Openapi 添加----------------
QSource 被动添加数据失败---------------
审批通过---------✅通讯录姓名(为空时,返回用户姓名)✅会签/或签✅手动提交/超时自动提交---
填写通过-------------

注意事项

上述参数中,部分字段返回值需要关注:

申请内容
  1. “申请内容”的值为申请的应用内字段(根据权限显示),例如: 设置「填写」节点字段权限为字段1隐藏、字段2显示,推送通知中,插入的「申请内容」值为字段名2:字段值2

  2. url/queryparam/header里不允许插入「申请内容」参数,形式为直接无选项/禁用

  3. 申请内容可显示字段为下列应用内字段:

字段类型是否支持参数格式示例
申请人---
单行文字字段标题:字段值danhangwz:yuan
多行文字字段标题:字段值answer:a test
数字字段标题:字段值number:13888888888
链接字段标题:字段值picture:https://abc.123.com/fgh
日期字段标题:字段值time:2021-01-29
起止时间字段标题:起止时间time:2021-01-08~2021-02-16
手机字段标题:手机号码phone:13888888888"
邮箱字段标题:邮箱email:8888888@qq.com
单项选择字段标题:选择的值opt:未命名2
下拉选择字段标题:选择的值value:未命名3
地址字段空格隔开value:上海市 闵行区
成员字段字段标题:[成员1邮箱,成员2邮箱]user:[esfesfse@qq.com,12334@qq.com]
部门字段字段标题:[部门1,部门2]value:[G测试部门,A部门]
多项选择---
图片选择---
上传附件---
描述文字---
富文本---
段落---
表格---
定位---
数据关联---
QLinker---
文字识别---

操作步骤

开启「提醒推送」插件

开通试用或购买 「提醒推送」 功能后,可在 插件中心-第三方连接 安装「提醒推送」

文档图片

设置模板

安装并点击「提醒推送」后,点击配置按钮即可开始「提醒推送」的配置,需配置的内容(如下图)包括:提醒类别,推送范围,鉴权方式,推送请求

文档图片

触发事件

文档图片

提醒类别可多选,可选项包括(注:此处的提醒触发时机和应用提醒方式一致):

触发事件/字段ID说明
待办1当某个数据的某个节点有新的待办事项时(包含转交),向该节点的节点负责人推送通知
申请结果2某个数据的流程结束后,向申请人推送结果通知,申请结果:已通过已拒绝
抄送3当某个数据到达抄送节点时,向抄送节点负责人推送通知
回退4当某个数据在流程中从 B 节点被「回退」至申请人节点时,向申请人推送通知
催办5当某个数据在某个节点被「催办」时,向当前节点负责人推送通知
超时提醒6某个数据中的「待办」触发「超时提醒或自动流转」时,向当前待办的负责人推送通知
Openapi 添加数据失败7当通过 OpenAPI 添加数据失败时,触发推送通知
QSource 被动添加数据失败8流程配置了 QSource 被动模式,当添加数据失败时,触发推送通知
超时提醒预警9某个数据中的「待办」触发「超时预警」时,向当前待办的负责人推送通知
审批通过11某个数据的「审批节点」中,节点负责人通过审批或超时自动提交时,向申请人推送通知
填写通过12某个数据的「填写节点」中,节点负责人完成填写或超时自动提交时,向申请人推送通知
推送范围

仅当在”推送范围”中的应用,触发了“提醒类别”中的事件的时候,才会发送推送。范围有2种选择维度:

  • 【自定义范围】:默认勾选自定义范围,点击「添加推送范围」,选择应用(包)。

  • 只有勾选的应用(包)才会推送,不包括新增的部分

  • 被勾选的应用(包)应用删除后如果被恢复,提醒推送会恢复 文档图片

  • 【全部应用】:手动勾选全部应用,工作区全部应用都在推送范围内

  • 需要注意的是,全部应用包含动态新增的应用包/应用 ,不包含被删除的应用

  • 删除的应用如果被恢复,提醒推送会恢复 文档图片

鉴权方式

可以使用配置过的全局鉴权模版,省去重复配置的过程。(全局配置可以参考:鉴权

推送请求

配置项分为:URL、 QueryParam、Header、Method

Method支持GET、POST、PUT、DELETE;

Body支持JSON Body和Url-Encoded Body两种。

QueryParam会按照URL的searchPart的插入规则在执行请求时插入URL中。

其余配置的介绍请参考帮助文档,设置步骤第(4)小节。

  1. 配置项中,URL、JSONBody和QueryParam、Header、UrlEncodedBody的Value部分可插入参数,可选的参数为:应用名称,应用appKey,数据ID(applyId),数据编号,申请时间,提醒类别的ID,申请人邮箱,申请人的userId,申请人手机号,通知时间,数据链接,以及特殊参数(如上文)
  2. 其中时间类型的日期字符串格式为:yyyy-mm-dd hh:mm:ss
  3. 申请人和提醒人UserId为openApi通讯录接口中返回和使用的UserId,可使用推送的UserId通过openApi通讯录接口获取到用户信息。
  4. 数据编号为内置编号,非自定义编号。自定义编号可通过applyId通过openApi获取。
  5. JSONBody的参数不会自动插入双引号,需要在编辑的时候手动添加。(可参考案例中JSONBody的配置)

注意事项

提醒推送具有以下限制:

  1. 提醒推送为企业版单独付费功能,如果需要试用或购买请联系轻流销售人员。
  2. 钉钉版本调用的接口请先联系轻流开通白名单。
  3. 公有云用户:全局提醒推送每个工作区最多设置3个,

专有轻流用户:全局提醒推送每个工作区可配置10个。

  1. http请求超时时间为60s
  2. 可以通过secret配置校验

文档图片

推送header会携带: QF-Signature,用于传递请求Body的鉴权信息,鉴权算法:HmacSHA256,使用配置处的secret属性对推送的数据区摘要,以下为摘要算法的JAVA实现:

String secret = dataPushConfig.getSecret(); // 配置处的secret
Mac sha256_HMAC = Mac.getInstance("HmacSHA256");
SecretKeySpec secret_key = new SecretKeySpec(secret.getBytes(StandardCharsets.UTF_8), "HmacSHA256");
sha256_HMAC.init(secret_key);
// String: data,为要推送的请求体字符串
byte[] array = sha256_HMAC.doFinal(data.getBytes(StandardCharsets.UTF_8));
StringBuilder sb = new StringBuilder();
for (byte item : array) {
sb.append(Integer.toHexString((item & 0xFF) | 0x100), 1, 3);
}
return sb.toString();

校验是可用上述算法对接受到的推送内容做摘要计算,如果摘要计算的结果和header中的QF-Signature一致可以认为是合法的推送内容。