[Share] 如何通过Postman调用EDI系统的API?

知行EDI系统主要是用来实现贸易双方的数据交换的过程,这个过程中,贸易双方往往需要根据国际通用的消息格式收发信息,我们称符合国际规范的消息文件为EDI报文,然而不同的公司会结合ERP的接口情况选择不同的集成方式,例如调用API,使用数据库中间表,自定义XML,CSV,Excel等方式实现与ERP系统的集成,调用API的方式很常见,而且在知行EDI系统上所有的功能操作,都可以通过调用API来进行控制。下面我们会通过一个例子为您说明如何使用Postman 调用知行EDI系统的API。一方面您可以测试知行EDI系统的API功能;另一方面,当您使用C#,Java等语言调用API时若有报错,可通过Postman进行问题定位,判断是系统暴露API的问题,还是代码的问题。

扩展阅读:如何通过C#调用EDI系统的API?

1. EDI系统的API定义

进入知行EDI系统™的管理界面,点击右上角导航栏中的”API”。您就可以看到知行EDI系统™默认提供的API接口,如下图所示:

API

从图中我们可以看到,知行EDI系统™的API是以OData协议方式暴露的。OData是一种流行的REST接口的包装方式。知行EDI系统™默认遵从OData V4协议,其内容均以JSON方式传输。 点击左边列表中的任何一个链接,可以看到关于这个API的详细描述。例如下图中的“ports”接口,您可以通过描述页面上的方法对知行EDI系统™中的端口(Port)进行增删改查的操作。 API

其中,各个方法的功能如下表所示:

HTTP方法 URL 操作
GET http://localhost:8001/api.rsc/ports/ 获取当前所有的Port及其配置, 支持$fileter等OData查询。
GET http://localhost:8001/api.rsc/ports() 获取指定PortId的Port及其配置。
POST http://localhost:8001/api.rsc/ports/ 创建一个新的Port, 其配置由Post请求的Body指定。
PUT http://localhost:8001/api.rsc/ports/ 修改指定PortId的Port, 其新配置由Post请求的Body指定。
DELETE http://localhost:8001/api.rsc/ports/ 删除指定PortId的Port。

2. 知行EDI系统的安全认证

可以看到,知行EDI系统™提供了非常强大的接口功能。基本上,您可以用它完成任何在管理界面完成的工作。正因此,知行EDI系统™也提供了全面的安全认证方式。 首先, 进入管理界面的 “PROFILE” -> “Security”界面,如下图,您可以在这里创建/修改调用API的用户和IP地址。 API

如上图,创建用户时,只需点击”User Permissions”下方的”Add”按钮,就可以开始创建用户了。这里, 需要输入的是用户名称和其他的访问权限。对于权限,您可以参考上面我们列出的表格。几种方法分别这对于增删改查四种操作。保存之后, 您刚创建的用户就会出现在表中,并且他会被赋予一个随机的Authtoken。 这个Authtoken就可以被用于API调用的权限认证。另外,这里创建的用户,不同于知行EDI系统的登录用户,该用户只被用于知行EDI系统的API访问。

默认情况下,知行EDI系统™只允许本机访问API。 如果您希望从其他电脑/平台访问API。 那您就需要将其来源IP地址加入”Trusted IP Address”表。点击其下的”Add”按钮就可以增加一个来源IP地址。 注意, 输入”* ”将会使知行EDI系统™允许任何来源。 当然, 您可以使用类似于”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 6z2O1e2e5K5r3x2D1w4o
Content-Type application/json

这里的x-rssbus-authtoken属性的值即刚刚为用户Celine分配的随机Authtoken。 我们选择Http请求的类型为Get,将URL:http://localhost:8001/api.rsc/files?PortId=AS2_testAPI&Folder=Receive.输入到对应的链接栏中,点击send,将看到下方的Body中返回的JSON格式的文件列表,如下图: API

对比下图所示的知行EDI系统管理界面的文件,我们可以看到通过Postman成功获取了AS2端口的文件列表。

API

3.2 获取文件内容

有了使用Postman获取文件列表的基础,我们只需要将URL修改为:http://localhost:8001/api.rsc/files(<PortId=(PortId),Folder=(Folder),Filename=(Filename),MessageId=(MessageId)>) 的格式,即可获取指定的文件内容,如下图:

API

3.2 上传文件

上传文件到AS2端口,就需要使用POST请求,此时我们将请求方式选为POST,并在链接栏输入URL:http://localhost:8001/api.rsc/files/ , 而文件的内容需要在Body中,以JSON的格式发送,如下图:

API

这时查看知行EDI系统管理界面AS2端口的Input界面,如下图,发现已经成功上传了文件名为test.edi的文件。

API


4. 关于Postman

Postman是一款模拟http请求的工具软件,支持多种Http请求方式,为程序开发人员提供了一种测试工具。 Postman的官网下载链接:https://www.postman.com/downloads/。

了解更多EDI,请您电话 150-0298-3180 / 177-8250-8152 或邮件 edi@kasoftware.cn 联系我们,获取 30 天全功能 免费试用 版本EDI软件。
标签: , , ,
文章分类 share 知识分享, 动态

发表评论

电子邮件地址不会被公开。

您可以使用这些HTML标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">