Skip to main content

发送飞书消息

访问路径:数据功能 -> 飞书 -> 发送飞书消息

功能简述

系统整合飞书消息通知功能,可以向特定的或批量飞书用户推送自定义的飞书消息、图片或文件信息。同时,系统也提供了数据访问能力,可以很方便的将分析后的数据结果,以消息或报表的模式及时的通知到对应的用户。在使用前,需要在数据信息中注册相应的飞书服务信息,可以参考 统一数据模型 中飞书应用的注册方式。

Logic Switch Item

消息配置

  • 钉钉自建应用:在钉钉管理平台中创建,并在仓鼠平台中注册过的应用(数据源-数据库),后续该应用将作为消息推送方使用。
  • 对象类型:接收对象的类型,可以为飞书的用户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。