数据整合利器,明道云WebHooK节点高级用法教学

明道云支持API和Webhook功能,今天笔者就教会大家,如何在明道中进行API鉴权自动刷新,以及调用前参数签名,学会这些可以说市面上90% 的第三方API接口都可以调用。(以分贝通对接案例讲解)

一.Token的自动刷新

应用程序可通过调用开放平台提供的API获取到第三方的数据,因为涉及数据隐私,所以在使用前必须获得企业/会员的授权,才可以调用API(公开数据除外)。所以就需要获取用户的授权,以及保证授权的有效性。

第一次获取授权请手动获取,把对应的数据保存到一张工作表中来进行维护,Token初始化后,可以设置【自动刷新token】 工作流,来保证token的有效性。

实现原理:由于大部分的第三方API授权接口返回都包含以下三个参数:(access_token,refresh_token,expires_in)我们根据每次返回的Expires_in过期时间来计算出下一自动刷新token的时间。

如果第三方平台没有Expires_in 返回 ,一般第三方API文档中会有说明token的时效。例如: 2小时 7小时 1天 7天不等,可以根据时效自动计算下次的自动刷新时间。

工作流设置步骤如下:

  1. 新建工作流->选择按日期字段触发

2.调用token刷新接口,拿到对应的返回值:

3.对于Expires_in参数进行处理 然后更新工作表中的token refresh_token 自动刷新日期。

二.JavaScript中签名的加密

对于分贝通平台,接口信息文档,Appkey需要作为参数参与签名,且不参与传递.加密数据包括时间戳timestamp和data数据,以上三个数据按照 “timestamp={0}&data={1}&sign_key={2}”顺序拼接后,进行MD5加密。

以下在代码块中的具体实现:

var crypto = require(‘crypto’);//引入加密 划重点敲黑板

var key=input.singKey;//appkey

var page=input.page;

var timespan=new Date().getTime();//获取时间戳

var data={};

data.page_index=new Number(page);

data.page_size=20;

data.state=0;//获取所有状态

data.search_category=1;//获取所有企业

Var signstr=new Buffer.from(“timestamp=”+timespan+”&data=”+JSON.stringify(data)+”&sign_key=”+key, ‘utf-8’)

function md5(s) { //Md5加密

var hash = crypto.createHash(‘md5’);

hash.update(s);

return hash.digest(‘hex’);

}

Output= {“timespan”:timespan,”page_index”:page,”page_size”:data.page_size,sign:md5(signstr),”data”:JSON.stringify(data)};

效果如下图:

三.WebHook调用以及返回值写入工作表

添加webhook 节点,使用发送自定义请求,POST,接口地址按照接口文档填写下,把代码块返回值按照接口中需要传递的参数一一对应赋值。

获取返回值,获取到数据就可以写入到工作表中,就可以进行审批报销等操作了。关于工作流Wehhook的用法,可以参考帮助文档《Webhook:如何请外部系统API请求数据,并写入工作表》


最终效果如下图:

总结

只要了解nodejs 中的加密方式,根据这个教程,参考其他第三方接口文档一步步来,一定可以完成设置。

如有需要欢迎咨询!

参考资料

  1. 分贝通签名规则说明:http://docs.open.fenbeitong.com/open-api/2apijie-ru/22-apijie-ru-shuo-ming/221-qian-ming-suan-fa.html
  2. 分贝通获取机票列表地址:http://docs.open.fenbeitong.com/open-api/2apijie-ru/25-ji-piao/252-ji-piao-ding-dan-xiang-qing.html
  3. nodejs加密(sha1 base64 md5)参考地址:http://nodejs.cn/api/crypto.html#crypto_crypto
0

关于明道云

上海万企明道软件有限公司创建于2013年8月,总部在上海,创始人为SaaS行业知名人士任向晖先生,是一家专注于业务搭建系统明道云(原称明道)开发和运营的科技企业。团队有近百人,在一线城市均设有分公司。目前融资至B轮,企业曾荣获Fast Company中国创新公司50强,创业邦企业服务50强等奖项。

明道云(www.mingdao.com)是一个APaaS平台,帮助企业快速搭建个性化业务应用,用户不需要代码开发就能够搭建出用户体验上佳的销售、运营、人事、采购等核心业务应用,打通企业内部数据,也能够通过API和Webhook和其他系统对接。明道云的自动化工作流还可以实现审批、填写等控制流程和业务自动化。如果用户企业使用钉钉或企业微信,也可以将明道云搭建的应用直接对接到工作台上。

明道云可以帮助企业大大节省软件费用、降低定制开发的成本和时间,拥有一个极度灵活和易用的数据中台,并提高整体数字化和智能化水平。

明道云已有上百万用户使用,付费企业超过4000家,典型包括:摩拜单车、清华大学、南航、银联、京东云、苏宁、瑞幸咖啡等。点击了解更多