假设有这样的一个场景,目前企业A已经建立了自己的EDI系统,作为企业B的合作伙伴,需要经常向企业A请求报价以及库存信息,而企业B并没有EDI系统,只可以通过API的方式获取数据,为了使企业B可以实时地获取到自己想要的信息,无需企业A人工干预,那么以上的需求在知行之桥中如何实现呢?
答案是通过知行之桥的API端口。API端口可以在知行之桥发布自定义的API,供特定的用户和IP地址访问特定的资源,如上的需求,只需要将可以访问的数据维护在特定的数据库中,通过API端口发布,那么企业B就可以通过调用该API获取到自己想要的信息。 具体应该如何实现呢?我们来看一下详细的步骤。还是以文章开头的场景举例,需求是企业B想要从企业A处获取特定商品的库存以及价格信息。
API端口配置
首先企业A需要将相关信息同步至特定的数据库中,以下图为例,商品的编码、描述、价格、库存数量相关信息已经同步到测试sql server数据库中的item_information表中了:
在知行之桥端口列表的基础(core)分类中找到API端口,并拖拽到工作流中并命名。
单击点开API端口的配置,我们可以看到连接选项卡配置的地方与数据库端口非常相似,选择对应的数据源类型,配置好IP、账号密码、数据库等信息,就可以成功与数据库建立连接。
连接到数据库之后,我们还需要指定外部可以访问的资源,即外部可以访问的表,在【资源】选项卡配置可访问的表、允许的操作以及字段信息。操作包含GET,POST,PUT以及DELETE,当前需求只需要获取数据,所以我们勾选PUT即可。
配置好资源后,我们需要设置访问的用户,在【用户】选项卡创建用户,保存好身份验证令牌(Authtoken)。初次之外,还可以看到此处有最大请求数与最大并发请求数地配置,用户可按实际情况配置。
除了用户令牌的验证,还可以在【服务器】选项卡中设置可访问的IP列表,从网络的角度控制外部的调用,只有IP白名单中的IP地址或地址段才可以访问资源,否则将返回没有权限的报错。
以上就是全部知行之桥中API端口的配置,配置好后,需要将API文档以及上一步保存的用户令牌发送给调用方,在API文档中,可以看到资源以及接口的信息:
API调用
下面我们就模拟一下作为调用方应该如何调用知行之桥发布的这个API,本文使用postman来模拟调用的操作。与调用知行之桥AdminAPI类似,需要在Headers处配置参数x-arcesb-authtoken,值为分配的用户令牌,方法设置为GET,URL与API文档中保持一致。
配置好后,点击Send,即可在response中看到返回的json数据,包含了配置的资源中的字段,也就是我们需要的商品信息,商品的价格和库存信息我们就可以实时地获取到了。
如果想只接收物料的信息怎么办呢?可以通过URL过滤来实现,假设我们只想获取商品编号为T-A-2022X商品的信息,我们可以将URL配置为(符合RESTFul API规则):
http://localhost:8001/connector/Default/API_TEST/api.rsc/timmit_dbo_item_information?$filter=item_number eq ‘T-A-2022X’
在B2B电子数据交换中,EDI是更为通用、标准、更为成熟的解决方案,传输更加稳定,在与海外大型企业对接实现数据交换以及优化供应链方面是更全面的解决方案。但是用户难免有特定的客制化需求,此时API的灵活性便体现了出来,可以用来实现此类小功能。另外在推广EDI连接时,也需要考虑交易伙伴的IT能力,对于没有IT能力的交易伙伴,可能最理想的方案是使用WebEDI,对于有API开发能力但是没有EDI实施能力的交易伙伴,那么就需要使用API与其对接。交易伙伴有很多,如何用一个系统将他们连接起来?答案就是知行之桥,为你打通不同交易伙伴之间的数据壁垒。
以上就是通过知行之桥API端口发布API的方法,如果需要作为API客户端调用外部的接口,请使用REST端口进行配置。
更多EDI信息,请参阅: EDI是什么
阅读原文