[示例] 使用 RSSBus Connect™ 系统默认 API 接口

RSSBus Connect™在为您提供强大的EDI功能的同时, 也考虑到了如何方便的与之集成. 在此篇文章中, 我们会通过一个例子为您说明关于RSSBus Connect™的API功能的使用.


浏览API定义

进入RSSBus Connect™的管理界面, 点击导航栏中的”API”. 您就可以看到RSSBus Connect™默认提供的API接口.

api ui.png

从上图可一看到, RSSBus Connect™的API是以OData协议方式暴露的. OData是一种流行的REST接口的包装方式. RSSBus Connect™默认遵从与OData V4协议. 其内容均以JSON方式传输.

点击左边列表中的任何一个连接, 你就可以看到关于这个API的详细描述. 比如下图中的”ports”接口. 您可以通过描述页面上的集中方法对RSSBus Connect™中的端口(Port)进行增删改查的操作.

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

您可以用任何浏览器打开http://localhost:8001/api.rsc/ports/地址. 然后您就可以看到当前所有的Port及其配置了.

api ports.png

API的安全认证

可以看到, RSSBus Connect™提供了非常强大的接口功能. 基本上, 您可以用它完成任何在管理界面完成的工作. 正因此, RSSBus Connect™也提供了全面的安全认证方式.

首先, 进入管理界面的 “PROFILE” -> “Security”界面. 如下, 您可以在这里创建/修改方位API的用户和IP地址.

security.png

创建用户

这里的用户不同于您用来登录管理界面的用户. 它只能被用于API的访问.

点击”User Permissions”表下方的”Add”按钮, 您就可以开始创建用户了. 这里, 您需要输入的是用户名称和他的访问权限. 对于权限, 您可以参考上面我们列出的表格. 几种方法分别这对于增删改查四种操作.

保存之后, 您刚创建的用户就会出现在表中. 并且他会被赋予一个随机的Authtoken. 这个Authtoken就可以被用于API调用的权限认证.

访问来源限制

默认情况下, RSSBus Connect™只允许本机访问API. 如果您希望从其他电脑/平台访问API. 那您就需要将其来源IP地址加入”Trusted IP Address”表. 点击其下的”Add”按钮就可以增加一个来源. 注意, 输入”“将会使RSSBus Connect™允许任何来源. 当然, 您可以使用类似于”192.168.“这样的配置来允许一个网段的访问.

示例

这里, 我们用一个例子来说明如何用C#调用RSSBus Connect™的接口. 假设, 我们的RSSBus Connect™已有一个AS2端口(PortId=TestAS2), 其用于和A公司做EDI报文的收发操作. 现在我们需要将ERP生成的EDI文件上传给这个AS2端口, 置于其待发送队列. 于此同时, 我们也需要检查AS2端口的接收文件队列, 获取最近收到的EDI文件.

首先的, 我们通过浏览 http://localhost:8001/api.rst#files 地址,了解了files接口的详细信息.

获取文件列表

我们知道通过 GET http://localhost:8001/api.rsc/files/ 可以获取所有文件. 但, 在这里我们需要制定PortId和Folder参数来仅获取我们感兴趣的内容. 所以, 我们需要 GET http://localhost:8001/api.rsc/files?PortId=TestAS2&Folder=Receive. 即, 指定PortId为TestAS2, Folder为Receive. 下面是使用C#代码的例子.

获取文件内容

通过上面的代码, 我们获得了接收文件的列表. 然后我们就可以用 GET http://localhost:8001/api.rsc/files(<PortId=(PortId),Folder=(Folder),Filename=(Filename),MessageId=(MessageId)>) 这个API来获取指定文件的内容了. 比如: http://localhost:8001/api.rsc/files(PortId=’TestAS2′,Folder=’Receive’,Filename=’test_data_1.edi’,MessageId=”). 下面是使用C#代码的例子.

上传文件

接下来, 如果我们需要将文件上传到AS2端口的待发送队列, 我们就要使用 POST http://localhost:8001/api.rsc/files/ 接口. 而,文件的内容和文件名需要通过JSON格式发送. 如下:

其中, Content是文件内容的BASE64编码. 下面是使用C#代码的例子. 注意, 您的用户需要POST权限才能使用POST方法.

下载C#示例工程

该Demo实现的是调用Sendfile API,下载示例工程

生成其他语言代码

为了适应不同开发环境的示例代码要求,我们将借助 Postman 工具,生成不同开发语言的示例代码。

以上传文件至 AS2 端口为例,端口ID 为 TestAS2,确保该端口存在于 EDI 环境。我们先用 Postman 工具使用 POST http://localhost:8001/api.rsc/files/ 接口,而文件的内容和文件名都需要通过 JSON 格式发送。

开始之前,先下载 Postman 工具

启用 Postman 之前,先根据上述的 API 的安全认证指导,进入管理界面的 “PROFILE” -> “Admin API”界面,创建用户,以及允许访问。

接下来,在 Postman 工具选择请求类型 POST,以及填写上传文件接口,同时还需要添加Header 属性和对应的值,如下图:

edi

然后添加上述 JSON 内容至 Body,内容类型选择 JSON(application/json),点击 Send,如下图结果显示,调 API 成功且已成功上传文件。

edi

最后一步,点击 Postman 当前页面的 code功能,弹出如下框,根据选择语言类型,获取调用 API 示例工程代码。

edi

如果我们选择 Java -> ok Http库,Java 示例代码如下:

了解更多,请您电话 150-0298-3180 / 177-8250-8152 或邮件 edi@kasoftware.cn 联系我们,获取 30 天全功能 免费试用 版本。
文章分类 示例工程