使用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,下载示例工程

文章分类 知识库