使用知行之桥®系统V2025+默认API接口

知行之桥®在为您提供强大的EDI功能的同时, 也考虑到了如何方便地与之集成。在此篇文章中,我们会通过一个例子介绍如何使用知行之桥®V2025的API功能。

浏览API 定义

进入知行之桥®,点击左侧导航栏中的"API",可以看到知行之桥®默认提供的API接口。知行之桥®EDI系统的API是以OData协议方式(OData是一种流行的REST接口的包装方式)暴露的,知行之桥®默认遵从OData V4协议,其内容均以JSON方式传输。

https://www.odata.org/

点击左侧列表中的任何一个连接,你就可以看到关于这个API的详细描述。比如以下列表中的"POST"接口,您可以通过描述页面上的集中方法对知行之桥®中的端口(Port)进行增删改查的操作。

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

用户可以用任何浏览器打开http://localhost:8001/api.rst#certificates/地址,然后就可以看到当前所有的Port及其配置了。

API 的安全认证

知行之桥® EDI系统提供了非常强大的接口功能,基本上,用户可以用它完成任何在管理界面完成的工作。正因此,知行之桥®EDI系统也提供了全面的安全认证方式。

首先,点击左侧菜单栏中的"系统设置 "-> "安全"界面,如下所示:

用户可以在这里进行IP设置,允许或限制对知行之桥® EDI系统 API 和应用程序管理界面的访问,添加受信任 IP范围或者添加禁用IP范围。

访问来源限制

默认情况下,知行之桥®只允许本机访问API。如果您希望从其他电脑/平台访问API,那您就需要将其来源IP地址加入"受信任的IP地址"表。点击其下的"添加"按钮就可以增加一个来源。注意,输入星号将会使知行之桥®允许任何来源。当然, 您可以使用类似于"192.168."这样的配置来允许一个网段的访问。

创建用户

每个用户都被授予一个身份验证令牌,可用于访问系统 API。用户可以通过系统 API 执行的特定操作反映了同一用户可以通过 UI 执行的操作。例如,无法通过 UI 删除端口的用户无法使用系统 API 删除端口。要通过系统 API 执行任意操作,请在调用 API 时使用来自 Admin 用户的身份验证令牌。

点击左侧菜单栏中的"系统设置"-> "用户"界面,点击 "添加用户"。

根据指示,填写用户名、密码,默认创建的是管理员角色的用户。注意启用"API访问"。

接下来请保存身份认证令牌(Authtoken),并将此令牌复制到安全的地方。如果授权令牌丢失,可以随时为此用户创建一个新的。这个Authtoken就可以被用于API调用的权限认证。

添加成功后即可在 用户 页面中看到新创建的用户Iris。

可以通过多种方式在API请求中使用身份认证令牌:

  • 基本身份认证:使用基本身份认证时,用户的身份认证令牌(Authtoken)作为密码。
  • HTTP 头:将带有身份认证令牌(Authtoken)的"x-cdata-authtoken"添加到 HTTP 头请求中。
  • 查询字符串参数:将身份认证令牌(Authtoken) 指定为"@authtoken",作为 HTTP 表单发布数据或查询参数的一部分。
使用Postman调用EDI系统的API

在了解了知行之桥®对于API的定义和安全机制后,下面我们将使用Postman来实现对AS2端口文件列表的获取、文件内容的获取以及文件的上传。

在知行之桥®左侧菜单栏点击工作流,在Default工作区中创建一个AS2端口(PortId=AS2_testAPI),用于和A公司做EDI报文的收发操作。

现在我们需要将生成的EDI文件上传给这个AS2端口。同时,我们也需要检查AS2端口的接收文件队列,获取最近收到的EDI文件。

获取文件列表

使用Postman获取文件列表之前,需要添加Header的属性和对应的值,如下表:

key Value
x-rssbus-authtoken 4x8T4y2w0K6z3m1J8w9e
Content-Type application/json

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

红色箭头所指位置显示"Status:200 OK"即为调用成功。用户可以在"Body"框中看到知行之桥®工作流中的所有文件。

获取特定端口下的文件列表

比如说我们要检索命名为"X12Test"的X12端口下的输出列表中的文件。

只需要将URL修改为:http://localhost:8001/api.rsc/files?ConnectorId=X12Test\&Folder=Receive,即可获取指定的文件内容,(其中X12Test是工作流端口名)如下图:

然后我们就可以在Body当中看到列表中的文件了。

获取文件内容

有了使用Postman获取文件列表的基础,如果需要获取文件内容,我们可以将URL修改为以下格式:

http://localhost:8001/api.rsc/files(ConnectorId='ConnectorId',Folder='Folder',Filename='Filename',MessageId='MessageId')

在这里我们只需要指定路径以及文件名,即可获取指定的文件内容。

例如:

http://localhost:8001/api.rsc/files(\<Connectorld='X12Test',Folder='Send',Filename='856.x12′)

表示获取端口ID为X12Test的这个端口下,Send文件夹中文件名为856.x12的文件。

如果提前不知道MessageId或者不想填写,去掉该属性也是可以的。

然后填写好端口名以及文件夹名。Send之后调用成功,在这个Body框中的"Content"即为调用到的文件内容。

(经过64转码后得到的856报文为下图)

上传推送新文件

首先在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即为调用成功)工作流当中刷新对应的输入列表,就可以看到推送的新文件了。

如在实操过程中遇到问题,或希望了解有关EDI对接的相关信息,欢迎交流。

阅读原文:知行软件 | 使用知行之桥®系统V2025+默认API接口

相关推荐
jason_yang3 小时前
俄罗斯Yandex地图实战
vue.js·api
电商api24677428101 天前
通过接口获取携程酒店详情数据的技术实现
api
一枚前端小能手4 天前
🎬 使用 Web 动画 API - 关键帧与交互控制实战指南
前端·javascript·api
╰つ栺尖篴夢ゞ5 天前
HarmonyOS之深入解析如何实现语音朗读能力
华为·api·harmonyos next·语音朗读
用户298698530145 天前
Java: 为PDF批量添加图片水印实用指南
java·后端·api
xiezhr5 天前
接口开发,咱得整得“优雅”点
java·api·代码规范
一颗宁檬不酸6 天前
ajxa实例操作
前端·ajax·api
北京聚信万通科技有限公司7 天前
HTTP/2在EDI领域中的优势:构建高效、安全、现代化的数据交换基石
edi·as2·http/2·易联edi·易联-easylink