快速对接明道云和企业自研系统的教程与技巧

文/陈淋文 刘泽欣 冯宏伟

编辑/杜逸敏

前言

明道云APaaS平台已经在V7.5版本上线了集成中心功能。大家可以通过集成中心便捷地使用内置的第三方API了。那么对于还未纳入集成中心的或自研系统中的接口,我们可以通过什么方法进行自定义连接呢?本文将从一个实际场景切入,带您了解明道云API的使用及工作流的配置方法。

场景例举

根据某公司的业务流程规定,已经成立的项目需要基于门店向库房申请设备。这时需要将公司在明道云里搭建的项目管理系统公司自研产品库存管理系统对接。

该对接需求主要包含项目、门店、设备清单信息,这是一类典型的主、子表嵌套结构接下来,需要按照对接字段和结构、对接工作流配置、接口调试的顺序逐步操作

  1. 字段清单梳理和表字段配置

首先需要确认好接口涉及到的字段清单本案例需要用到这些信息:项目ID项目信息)、门店ID门店信息设备列表包含的物料编码和数量等。接下来就是根据接口字段的数据类型反推出所需的工作表结构和字段。

对照着上述字段清单,我们就可以在工作表中配置相应的字段,用于后续的数据映射

配置好字段后,还可以为字段设置别名,方便后续外部系统调用接口时字段索引

  1. 工作流代码块节点配置

接下来进入工作流的配置一般来说,标准的商业接口只需通过Webhook配置好请求URL和请求参数即可完成对接但是对于自定义的接口可能需要进行传输数据的格式预处理或数据类型转换等操作。这时,我们可以用工作流的代码块节点进行数据处理和接口调用

在前面的接口背景说明中有提到需要将设备清单这类包含物料编码和数量的子表数据组装到项目门店中进行传参,那么这就可以通过工作流节点中的子流程节点来处理需要注意的是对于组装应该选择逐条执行的类型

在子流程中组装设备清单时,按照字段清单中定义的格式去构造,比如接口所需的要设备清单其实是一个数组,数组内的每个元素对象就代表一款设备产品的申请数量记录在代码块中只需将参数数据来源从工作流触发节点中获取到,最后进行组装输出即可

在子流程的最后一个节点,需要将组装好的结果赋值到门店列表中,作为下一条子流程执行的输入参数来源

这样就能够将每次组装的结果累加到设备清单数组中,当最后一条子流程执行完毕所需的设备清单也就组装完成

设备清单组装完成后,就只剩下项目信息和门店信息了,根据项目-门店列表-设备清单的结构分析可知,将项目ID、门店ID、设备列表参数等请求数据在门店列表子流程中进行二次组装

最终将项目、门店、设备清单全部组装完成后结合AppKey、Token和接口地址即可调用接口传输数据

  1. 接口调试

接口的工作流节点配置大功告成后,我们还需要创建触发工作流调用接口的测试数据进行测试

在工作流中内置测试按钮,点击“立即执行”选择事先构造好的测试数据后即可触发工作流运行

对于大批量数据并发调用的测试,可在工作表中设置批量操作的触发字段调用原理与单条记录依然是一样的,此处不再赘述

  1. 附加技巧

对于token加密获取的常见方法根据接口要求的加密方法生成签名,最终将签名连同其他请求信息一起调用接口

比如下面的例子中是以 AccessKeySecret 为密钥,使用 HMAC-SHA1算法对用户请求参数(QueryString)、访问密钥ID(AccessKeyId)、签名有效时间(Expires)、签名当前时间戳(Timestamp)做哈希计算得到的签名结果

具体实现代码如下所示:

var AccessKeyId="895c84c88f88bd290d8e5766987a4a04";

var t=input.time
var ymd=t.slice(0,10)+"T"
var hms=t.slice(11)+"Z"
var times=ymd+hms
var timestamp=encodeURIComponent(times)

var str="GETapi-bj.clink.cn/cc/list_clients?AccessKeyId="+AccessKeyId+"&Expires=60&Timestamp="+timestamp+"&cnos%5B0%5D=0000&cnos%5B1%5D=0001&limit=10&offset=0&qno=0000";

var crypto=require('crypto');
function sha1(s,secret) {
 var hash = crypto.createHmac('sha1',secret);
 hash.update(s,'utf8');
 return hash.digest('base64');
};
var signstr=sha1(str,AccessKeyId)
output={"index":signstr}

获取到token签名后可以将其作为接口的传入参数配置到Webhook或者代码块中使用本例中只举了常见的哈希算法加密,其他接口的签名获取需要根据其提供的说明文档来调整,实现思路大体上是相近的,可以作为参考。

总结

通过明道云集成中心可以快捷使用各大厂商的商业接口,而对于不在范畴内的自研系统和其他接口也可以使用自定义工作流节点进行适配连接,如果您的企业存在多种系统之间数据互通的难题,不妨来尝试使用明道云零代码平台作为中台来进行处理。

关于明道云

明道云(www.mingdao.com)成立于2013年,位于上海,创始人为互联网知名人士任向晖先生。明道云是一个APaaS平台,帮助企业快速搭建个性化业务应用。用户不需要代码开发就能够搭建出用户体验上佳的销售、运营、人事、采购等核心业务应用,打通企业内部数据,也能够通过API和Webhook和其他系统对接。

明道云的自动化工作流还可以实现审批、填写等控制流程和业务自动化。如果用户企业使用钉钉或企业微信,也可以将明道云搭建的应用直接对接到工作台上。

明道云可以帮助企业大大节省软件费用、降低定制开发的成本和时间,拥有一个极度灵活和易用的数据中台,并提高整体数字化和智能化水平。目前已有上百万用户使用,付费企业超过4000家,典型客户包括:中铁三局、佛山地铁、普华永道、艾瑞咨询、迪卡侬、北京大学、四川航空、上海静安区街道、艾默生电子、西门子、杭州建筑设计研究院、七天四季酒店、希尔顿、凯宾斯基酒店、可口可乐等知名机构。了解更多