易快报对接飞书的五个关键步骤

本文通过配置易快报出站消息、获取易快报token、配置飞书机器人、获取飞书token、业务需求开发,这五个步骤,来讲述易快报的消息通知自动推送至飞书的基本过程。

建议阅读人员

OA/费控/ERP/飞书系统管理员、IT实施等人员、希望实现费控系统(易快报)与飞书两个系统之间数据同步的程序开发人员。

适用场景

用户在易快报的审批流程或支付等业务中产生待审批、待寄送、待收单、待支付、被驳回、已支付/审批完成、催办、超时提醒、审批通过、抄送、评论、被@、打印提醒、单据撤回的数据时,在飞书中能够自动接收到通知消息,并且点击通知中的链接后,能够打开易快报对应的单据,进行审批、支付或查看,无需再去登录易快报。

数据流程

易快报对接飞书的

实现原理

  • 利用易快报开放平台的Open API接口实现消息通知的接收;
  • 利用飞书开放平台的Open API接口实现消息通知的推送;
  • 最终利用两个系统各自的API接口,结合具体的业务需求,实现系统间的数据同步。

第一步:配置易快报出站消息

先来解释一下什么是出站消息,出站消息是由“易快报”触发,并且自动向外部系统发送的Post接口请求,用于解决“易快报”与外部系统(如OA系统)的自动对接。换种表达方式的话,那就是通过出站消息这种能够自动执行业务流程的触发器,来实现自动化传递信息(如通知消息、业务数据等)。当前出站消息支持【Ebot节点触发】和【单据流转时触发】两种实现方式。
在本文中我们使用的是【单据流转时触发】,但是要注意出站消息受charge控制,也就是说如果出站消息charge授权关闭,则会导致无法新建出站消息,已经配置好的出站消息则不受影响
管理员登录易快报的后台后,进入【系统设置】-【出站消息】,点击【新增】打开页面后,选择需要同步的审批事件,及出站时需要调用的URL接口,再选择需要发送的单据字段就可以了。

第二步:获取易快报AccessToken

易快报网页端打开后进入【扩展中心】页面,点击【开放接口】-【获取验证码】,就可以拿到开放接口的验证码(即VerifyCode),但是要注意这个验证码的有效期为2小时,且同一验证码只能使用一次。所以在拿到验证码后,就要尽快调用【获取授权接口】来拿到accessToken及refreshToken,
Response:

{"value": {"accessToken": "u-E4PVy28Q0400", //Token为随机码"expireTime": 1531046137469, //授权码过期日期时间戳(默认32天后到期)"refreshToken": "asg4PVy28Q0800", //Token为随机码"corporationId": "企业ID"}
}

而这个accessTokentoken的有效期为默认32天,到期后就需要通过refreshToken调用【刷新授权接口】,来获取新的token。
Response:

{"value":{"accessToken":"sdsdsdsdsd",//新的授权码(默认32天后到期)"expireTime":12235684543236,//授权码过期日期时间戳"refreshToken":"sdsdsdssx",//只有调用刷新有效期接口时需要传的code"corporationId":"ekuaibao"//企业id}
}

第三步:配置飞书机器人

在飞书管理后台配置消息机器人,也就是需要创建企业自建应用,可以参考这个链接: 飞书-企业自建应用,企业自建应用有三种类型:小程序、机器人、网页应用。
在企业自建应用列表中,可以看到刚刚创建好的应用。点击刚刚创建的机器人应用【易快报消息通知】,可以进入应用详情界面。

应用详情界面的【凭证与基础信息】一栏里,可以查询到应用凭证,也就是 AppID 和 AppSecret。

接着选择应用功能里的机器人一栏,启用机器人

然后选择事件订阅 一栏,在这里可以查看到应用的 VerificationToken。

到现在为止,就已经开启了应用的机器人能力,并获得了应用的 AppID、AppSecret 和 VerificationToken 了。

第四步:获取飞书AccessToken

在这里需要注意的是调用飞书服务端API接口时,需要使用 HTTPS 协议、JSON 数据格式、UTF8 编码。POST 请求需要在 HTTP Header 中设置 Content-Type:application/json。所有需要 access_token 的请求需要把 access_token 放到 Header 的 Authroization 中。
另外,为了提高应用访问的安全性,飞书还要求开发者只能通过 IP 白名单功能,来设置能够合法访问飞书服务端API的 IP 列表,即白名单可以添加多个IP地址,不在白名单列表中的来源 IP 的请求会被拒绝。

这个配置做完后,是立即生效的,所以当ip地址发生变化时,还需要立即更新。如果 IP 白名单验证不通过,接口返回如下信息:

{code: 99991401,msg: "checkFilter, invalid ip address"
}

绑定服务器IP后,就需要来获取接口授权凭证了,飞书提供了3种应用访问凭证 :app_access_token是应用维度授权凭证,开放平台可据此识别调用方的应用身份。enant_access_token是应用的企业授权凭证,开放平台据此识别调用方的应用身份和企业身份。user_access_token是应用的用户授权凭证,开放平台可据此识别调用方的应用身份和用户身份。
在这个对接的业务场景中,我们属于企业自建【易快报消息通知】的应用,所以要调用获取 tenant_access_token,与易快报的token有效期为32天不同,飞书的Token 有效期为 2 小时,在此期间调用该接口 token 不会改变。当 token 有效期小于 10 分的时候,再次请求获取 token,则会生成一个新的 token,与此同时老的 token 依然有效。
请求地址 :https://open.feishu.cn/open-apis/auth/v3/tenant_access_token/internal/
请求 Body :

{"app_id":"cli_slkdjalasdkjasd","app_secret":"dskLLdkasdjlasdKK"
}

返回 Body :

{"code":0,"msg":"ok","tenant_access_token":"xxxxx","expire":7200  // 过期时间,单位为秒(两小时失效)
}

拿到token后就基本已经完成了开发前的准备工作,可以进行业务需求的代码开发了。

第五步:业务需求开发

接收到易快报的出站消息后,就可以调用飞书的发送文本消息接口链接: 飞书-文本消息,来给指定用户发送文本消息
请求方式 :POST
请求地址 :https://open.feishu.cn/open-apis/message/v4/send/
在给用户发私聊消息的请求参数中,唯一id可以在open_id、user_id、email、chat_id中的任选一个,飞书服务端依次读取字段的顺序为 chat_id > open_id > user_id > email,
请求 Body :

{"open_id":"ou_5ad573a6411d72b8305fda3a9c15c70e", "root_id":"om_40eb06e7b84dc71c03e009ad3c754195","chat_id":"oc_5ad11d72b830411d72b836c20", "user_id": "92e39a99","email":"fanlv@gmail.com", "msg_type":"text","content":{"text":"text content<at user_id=\"ou_88a56e7e8e9f680b682f6905cc09098e\">test</at>"}
}

综上,经过这五个步骤,基本就实现了易快报中所有的消息通知均自动推送至飞书的场景对接。如果需要打通两个系统间的所有业务数据,则还需要补充飞书的组织人员同步至易快报、飞书单点登录至易快报、以及点击消息通知自动打开易快报详情页面来进行单据处理等场景的开发。
本文写到这里基本就已经结束了,希望起到抛砖引玉的作用,旨在帮助更多的企业客户在使用易快报和飞书的过程中了解其开放平台的API接口。同时我们也在基于双方的API接口开发工具型产品,以提供标准的配置功能,避免用户在打通易快报和飞书的开发过程中重复造轮子,通过我们的SoftLink产品,直接配置各自的token,就可以五分钟内实现组织人员、单点登录、消息通知的数据集成。如果有类似需求,可以一起交流学习,文中若有不对之处,还望指正,欢迎留言交流,谢谢阅读!
email:menghu@jutongbao.top

易快报对接飞书的五个关键步骤相关推荐

  1. 第三方网页应用对接飞书Java版

    具体开发流程在飞书官方文档都有,大家可以参考这个链接:开发文档 - 飞书开放平台飞书开发文档中包含丰富多样的开发指南.教程和示例,让开发者获得愉悦.高效的应用开发体验.https://open.fei ...

  2. zabbix对接飞书机器人告警

    一.环境 zabbix-5.0.13 Python3 飞书 二.创建飞书机器人 将webhook地址复制,并保存好 三.Python脚本 vim /usr/lib/zabbix/alertscript ...

  3. 品牌定位的五个关键步骤,打造企业最有力的商业武器

    几年以前,无数创业者都会面临一个问题:"如果腾讯做了这个产品,你该怎么办?",而这个问题在当时是很难回答的,因为像腾讯这样的巨头总能用各种力量击垮你.但是这几年却有无数独角兽企业在 ...

  4. ITSM实施必须经历的五个关键步骤

    公众号回复:干货,领取价值58元/套IT管理体系文档 公众号回复:ITIL教材,领取最新ITIL4中文教材 正文 IT服务管理(ITSM)实施的理想状态是能够快速提升企业的竞争力.但是,从国内众多实施 ...

  5. 抖音联合巨量引擎、飞书推出五项举措 助中小企业共度疫情难关

    2月16日消息,近日,抖音.飞书.巨量引擎等产品联合启动了"中小企业护航计划",为中小企业提供免费认证.免费课程.运营扶持.生意转化.远程协作等服务. 据介绍,此次护航计划面向全国 ...

  6. Zabbix对接飞书告警

    利用服务器和飞书API给飞书账号发消息,在很多实际的场景中会有作用,比如应用程序的报警通知,或者数据报表的通知等等,这里就简单总结一下步骤. 有两种方式可以实现往飞书发送告警消息 一.通过群组机器人在 ...

  7. 塑造品牌体验的五个关键步骤

    现在所有品牌皆建立微博账户.微信.天猫网店.置入二维码--这一切还是与产品相关,而非真正的品牌体验. 虽然物有所值的产品在市场中依然扮演重要的角色,但是现在,产品仅是整体品牌体验的一部分,所以仅仅专注 ...

  8. 告警消息何去何从?在飞书中飞起来

    作者简介 袁振,SUSE Rancher 技术支持经理,负责订阅客户售后技术支持团队,为订阅客户提供技术支持服务.2016 年开始接触容器.Kubernetes 技术,对自动化运维.Devops.Ku ...

  9. 获取飞书的user_id

    飞书的user_id隐藏的极深...找了半天找不到,最后是询问客服后才知道的. 1.点击头像--设置--关于飞书:连续点击飞书版本号五次 2.点击头像--右键头像--点击copy_user_id即可获 ...

最新文章

  1. 2020届 AAAI Fellow名单新鲜出炉!!!深度学习三巨头终于齐聚
  2. Mac下安装的MySQL root账号无法登陆用户解决
  3. abd shell关闭所有程序_在后台服务器上运行程序
  4. 图像处理随笔——soft-nms
  5. python中0o10_Python中最常见的10个问题(列表)
  6. chattr与lsattr命令
  7. mysql自动判断索引机制_Mysql优化之索引实现原理
  8. L2-001. 紧急救援(迪杰斯特拉算法)
  9. 证件照处理技术的应用
  10. MD5的认识,建议所有菜菜都看下
  11. ORACLE执行计划学习总结
  12. java frappuccino_星巴克的“十二星座代表饮品” 你是星冰乐还是特浓咖啡?
  13. iOS开发 学习计划图
  14. plotly 坐标轴(axes)设置
  15. 2-nginx-静态-防盗-跨域
  16. 2021年美亚杯资格赛解析
  17. php仿站教程网,我想仿站,不知道选择哪个cms好?
  18. 手写中文数字识别PyTorch实现(全连接卷积神经网络)
  19. 【Matlab】如何绘制errorbar误差棒
  20. windows server 2008 系统安装

热门文章

  1. 利用QT加C++语言如何计算MACD指标,并请给出示例代码
  2. 8个国外免费学习编程的网站,果断收藏!
  3. 【数据结构】7-4 病毒感染检测 (15 分)
  4. strtotime 用法
  5. 零基础制作平衡小车【连载】12---平衡小车控制原理
  6. caffe2 安装填坑ing
  7. 百度地图之鼠标绘制工具条库(开源库)
  8. web前端 | 博客(二)登录功能
  9. N的阶乘:输入一个正整数N,输出N的阶乘
  10. 查看当前系统 jave 版本 ,Eclipse版本