知行EDI系统(以下简称知行之桥)主要是用来实现贸易双方的数据交换的过程,这个过程中,贸易双方往往需要根据国际通用的消息格式收发信息,我们称符合国际规范的消息文件为EDI报文,然而不同的公司会结合ERP的接口情况选择不同的集成方式,例如调用API,使用数据库中间表,自定义XML,CSV,Excel等方式实现与ERP系统的集成。其中调用API的方式很常见,而且在知行之桥上所有的功能操作,都可以通过调用API来进行控制。下面我们会通过一个例子为您说明如何使用Postman 调用知行之桥的API。一方面您可以测试知行之桥的API功能;另一方面,当您使用C#,Java等语言调用API时若有报错,可通过Postman进行问题定位,判断是系统暴露API的问题,还是代码的问题。
扩展阅读:如何通过C#调用EDI系统的API?
1. EDI系统的API定义
进入知行之桥的管理界面,点击右上角导航栏中的”API”。您就可以看到知行之桥默认提供的API接口,如下图所示:
从图中我们可以看到,知行之桥的API是以OData协议方式暴露的。OData是一种流行的REST接口的包装方式。知行之桥默认遵从OData V4协议,其内容均以JSON方式传输。点击左边列表中的任何一个链接,可以看到关于这个API的详细描述。例如下图中的“connectors”接口,您可以通过描述页面上的方法对知行之桥中的端口进行增删改查的操作。
其中,各个方法的功能如下表所示:
HTTP方法 | URL | 操作 |
---|---|---|
GET | http://localhost:8001/api.rsc/connectors/ | 获取当前所有的端口及其配置, 支持$fileter等OData查询。 |
GET | http://localhost:8001/api.rsc/connectors(ConnectorId) | 获取指定ConnectorId的端口及其配置。 |
POST | http://localhost:8001/api.rsc/connectors/ | 创建一个新的端口, 其配置由Post请求的Body指定。 |
PUT | http://localhost:8001/api.rsc/connectors(ConnectorId) | 修改指定ConnectorId的端口, 其新配置由Post请求的Body指定。 |
DELETE | http://localhost:8001/api.rsc/connectors(ConnectorId) | 删除指定ConnectorId的端口。 |
2. 知行之桥的安全认证
可以看到,知行之桥提供了非常强大的接口功能。基本上,您可以用它完成任何在管理界面完成的工作。正因如此,知行之桥也提供了全面的安全认证方式。首先,进入“系统设置”的“用户”界面,如下图,您可以在这里创建/修改调用API的用户和IP地址。
如上图,创建用户时,只需点击下方的”+添加”按钮,就可以开始创建用户了。需要设置用户名和密码,并选择用户对应的角色。对应角色权限如下图所示:
默认情况下,知行之桥只允许本机访问API。 如果您希望从其他电脑/平台访问API。那您就需要将其来源IP地址加入”系统API”下的“受信任的IP地址”。点击其下的”添加”按钮就可以增加一个来源IP地址。 注意, 输入”* ”将会使知行之桥允许任何来源。当然, 您可以使用类似于”192.168.* “这样的配置来允许一个网段的访问。
3. 使用Postman调用EDI系统的API
在了解了知行EDI系统对于API的定义和安全机制后,下面我们将使用Postman来实现对AS2端口文件列表的获取、文件内容的获取以及文件的上传。此时我们假设,知行EDI系统™已有一个AS2端口(PortId=AS2_testAPI),其用于和A公司做EDI报文的收发操作。现在我们需要将生成的EDI文件上传给这个AS2端口。同时,我们也需要检查AS2端口的接收文件队列,获取最近收到的EDI文件。
3.1 获取文件列表
使用Postman获取文件列表之前,需要添加Header的属性和对应的值,如下表:
key | Value |
---|---|
x-rssbus-authtoken | 4g8R5r5c4F9z9f3T6s8f |
Content-Type | application/json |
这里的x-rssbus-authtoken属性的值即刚刚为用户分配的随机Authtoken。我们选择http请求的类型为Get,将URL:http://localhost:8001/api.rsc/files输入到对应的链接栏中,点击send,将看到下方的Body中返回的JSON格式的文件列表,如下图:
红色剪头所指地方显示“Status:200 OK”即为调用成功。
也可以在“Body”框中看到知行之桥工作流中的所有文件了。
3.2 获取特定端口下的文件
比如说我们要检索命名为“X121”的X12端口下的输出列表中的文件。
只需要将URL修改为:http://localhost:8001/api.rsc/files?ConnectorId=X121&Folder=Receive,即可获取指定的文件内容,(其中X121是工作流端口名)如下图:
3.3 获取文件内容
有了使用Postman获取文件列表的基础,我们只需要将URL修改为:http://localhost:8001/api.rsc/files(<Connectorld=(Connectorld),Folder=(Folder),Filename=(Filename),MessageId=(MessageId)>) 的格式,在这里我们只需要指定路径以及文件名,即可获取指定的文件内容。
如果提前不知道MessageId或者不想填写,去掉该属性也是可以的。
然后填写好端口名以及文件夹名。Send之后调用成功,在这个Body框中的“Content”即为调用到的文件内容。(经过被64转码后得到的为下图)
3.4 上传推送新文件
首先在API界面复制POST方法的URL,复制到postman的链接栏。
上传文件到AS2端口,就需要使用POST请求,并将在API界面复制POST方法的URL:http://localhost:8001/api.rsc/files/ ,复制到postman的链接栏,而文件的内容需要在Body中,以JSON的格式发送。(除了GET方法以外,其余POST、PUT、DELETE都需要填写固定的属性)如下图:
接下来点击Body,选择raw,选择JSON,将文件的内容写入到Body框当中。
可以看到在这段内容当中,指定了新文件名为“test.x12”同时指定了端口名和文件夹名及路径。
点击Send(看到Status:200 OK即为调用成功)工作流当中刷新对应的输入列表,就可以看到推送的新文件了。
4. 关于Postman
Postman是一款模拟http请求的工具软件,支持多种Http请求方式,为程序开发人员提供了一种测试工具。 Postman的官网下载链接:https://www.postman.com/downloads/。
注:文案部分图片及内容来源于网络,版权归原创作者所有,如有侵犯到您的权益,请您联系我们进行删除,给您带来困扰,我们深感抱歉。
发表评论
要发表评论,您必须先登录。