发送飞书消息
访问路径:数据功能 -> 飞书 -> 发送飞书消息
功能简述
系统整合飞书消息通知功能,可以向特定的或批量飞书用户推送自定义的飞书消息、图片或文件信息。同时,系统也提供了数据访问能力,可以很方便的将分析后的数据结果,以消息或报表的模式及时的通知到对应的用户。在使用前,需要在数据信息中注册相应的飞书服务信息,可以参考 统一数据模型 中飞书应用的注册方式。
消息配置
- 钉钉自建应用:在钉钉管理平台中创建,并在仓鼠平台中注册过的应用(数据源-数据库),后续该应用将作为消息推送方使用。
- 对象类型:接收对象的类型,可以为飞书的用户ID、注册手机号码、注册邮箱或群ID等。
- 接收对象:依
对象类型
定义的类型来提供消息接收方的识别信息,如User_ID,手机号码等。 - 消息类型:提供推送消息的模版类型(JSON)格式,用户可以修改内容即可。消息内容中可以使用
用户定义变量
,数据遍历变量
,任务临时变量
来动态的更新内容。如果用户选择仅发送附件
类型,则忽略消息模版内容,仅仅推送用户添加的附件清单。
批量消息
如果用户提供了任务脚本
,则系统可以通过查询特定数据库,获取批量数据记录后,可以对单个或多个对象进行群发消息。接收对象
和消息模版
栏位中,可以通过使用数据遍历变量
的方式,可以为不同的用户,推送不同的、针对性的消息。
消息附件
如果用户添加了附件,系统在发送消息前,会自动上传附件,并获取对应的image_key
,file_key
值,同时创建任务临时变量
供消息体内部进行使用。
用户可以添加创建报表
功能生成的报表文件,以便将数据处理结果以文件消息的方式推送给特定用户群体。
任务临时变量的命名规则为:<tsk:media_文件名_文件扩展名_id/>
,其中文件名是将空格
,点号
和连字符
替换成下划线
后获取的名称,这些任务临时变量可以作为占位符在消息内容中使用,以便实现推送图片消息和文件下载的消息功能。
例如:
附件名称 | 任务临时变量 | 备注 |
---|---|---|
hamster data.png | <tsk:media_hamster_data_png_id/> | 图片key |
user_report.xlsx | <tsk:media_user_report_xlsx_id/> | 文件key |
消息状态更新
系统在善后脚本
页签中提供了一个在批量消息推送模式下,更新每条消息推送后状态的功能脚本。该脚本会在每条消息推送后被执行,可用于记录当前消息的推送状态,方便后续统计推送的进度,或在失败后重新推送。
为了实现这个功能,系统在每条消息推送完成后,会将当前记录的状态信息通过任务临时变量
的模式反馈给操作人员,操作人员只需要将这些任务临时变量名嵌入到该脚本中,即可实现捕获每条记录状态的目的。系统反馈的变任务变量有:
任务变量 | 功能描述 | 案例 |
---|---|---|
errcode | 任务状态,0为成功 | <tsk:errcode/> |
errmsg | 错误信息 | <tsk:errmsg/> |
message_id | 推送的消息id | <tsk:message_id/> |
root_id | <tsk:root_id/> | |
parent_id | <tsk:parent_id/> | |
chat_id | <tsk:chat_id/> | |
upper_message_id | <tsk:upper_message_id/> | |
sender_id | <tsk:sender_id/> |
例如:在返回的errCode不为0时,标识为失败,已方便下次重新推送。
update biz.task_list
set task_status=case when '<tsk:errcode/>'='0' then 'completed' else 'failed' end, err_msg='<tsk:errmsg/>'
where user_id='<db:user_id/>'
注意:上述脚本中用到了任务脚本的<db:user_id/>
数据查询变量,从而可以获取当前发送的消息对应数据查询中的特定用户id。