如何通过API从知行之桥上传下载PDF文件
b.向flow api 发送请求,即可获取文件内容。
c.将fileBase64节点中的内容base64解码后另存为pdf文件即可。
三、扩展资源
- Postman调用指南:使用Postman测试EDI系统API
如果您希望了解有关EDI对接的相关信息,欢迎联系我们。
一、通过API向知行之桥上传PDF文件
通过API 向知行之桥上传PDF文件分为Admin API 和Flow API 两个方法,以下将详细介绍:
1. Admin API 上传
接口调用步骤
- 定位接口
在知行之桥EDI系统的Admin API 界面中,找到上传文件的API接口(/api.rsc/files),选择POST 方法
http://localhost:8001/api.rsc/files/
- 配置端口
通过Admin API 进行上传时,需要选择一个端口,本次以Script端口为例,在知行之桥EDI系统中创建一个Script端口,命名为 ScriptPDF。
设置路径:在 设置 选项卡下,选择 操作 为:Transform。
接下来按照如下步骤配置(以Postman中的操作为例):
- 认证配置
a.Header中填写认证信息
x-rssbus-authtoken: [身份认证令牌]
x-rssbus-authtoken 的 VALUE配置为知行之桥EDI系统中的身份认证令牌,位置如下:
获取令牌:
点击知行之桥左侧菜单栏的 系统设置 ,在 用户 选项卡下点击当前用户:
在 编辑用户 弹窗中勾选 API访问,即可获取身份认证令牌,(⚠️注意:令牌仅明文显示一次,请保存后再点击“保存变更”)。
b.选择body类型为raw->application/json请求内容为:
{ "ConnectorId": "ConnectorId_1", "Folder": "Folder_1", "Filename": "Filename_1.pdf", "MessageId": "MessageId_1","Content": "PDF内容的base64 加密后的值"}
提示:
- Content 字段需使用 Base64编码(非加密),可通过在线工具或脚本生成。
- 占位符如 [端口ID] 需替换为实际值。
c. 请求成功后,在ScriptPDF端口的 输入 选项卡查看上传结果。
2. Flow API 上传
a.工作流搭建
通过Flow API 上传,通常需要两个端口进行操作,在知行之桥EDI系统中搭建如下工作流:
点击了解如何在知行之桥EDI系统中搭建 Flow API
b.脚本配置
- 在Script端口 设置 选项卡下的脚本中,写入以下脚本,用于将收到的BASE64 内容转换为PDF文档。
<arc:set attr="enc.file" value="[FilePath]" />
<arc:set attr="enc.format" value="BASE64" />
<arc:set attr="output.filename" value="[FileName].pdf" />
<arc:set attr="enc.outfile">[_connector.receivefolder | pathcombine('../tmpPDF/[output.filename]')]</arc:set>
<arc:call op="encDecode" in="enc" out="result">
<arc:set attr="output.filePath" value="[result.outfile]" />
</arc:call>
<arc:push item="output" />
c. 接下来需要将PDF 文件内容进行BASE64编码,直接将内容作为request内容。
d. 请求flow api 地址
e. 下载查看文件
二、通过API从知行之桥中下载PDF
无论是使用Admin API 还是Flow API,都需要进行IP白名单设置和权限设置。
1. Admin API下载
通过Admin API 从知行之桥中下载PDF,以Script端口为例。在知行之桥EDI系统中创建一个Script端口,命名为 ScriptPDF。
a.单个文件查询:查询某个端口内的文件时,可以通过多个查询条件进行查询,比如文件名、消息ID等等,可以使用以下API:
http://localhost:8001/api.rsc/files(ConnectorId='ConnectorId',Folder='Folder',Filename='Filename',MessageId='MessageId')
b.查询多个文件列表
http://localhost:8001/api.rsc/files/
c. 以单个文件为例:
返回的文件内容是BASE64编码后的内容,需要解密后另存为filename字段所示的文件类型。
2. Flow API 下载
通过Flow API 下载,通常需要一到两个端口进行操作,在知行之桥EDI系统中搭建如下工作流:
通过上传一个简单的XML,生成PDF格式的标签并且返回。
a.在工作流最后加一个Script端口,设置 选项卡下的 脚本 中添加下述代码,用于将得到的PDF进行BASE64编码。
<rsb:set attr="file.file" value="[FilePath]" />
<rsb:set attr="fileOut.filename" value="[FileName].xml" />
<rsb:call op="encEncode" in="file" out="out">
<rsb:set attr="fileOut.data"><Item>
<fileBase64>[out.enc:encodeddata]</fileBase64>
</Item>
</rsb:set>
</rsb:call>
<rsb:push item="fileOut" />
b.向flow api 发送请求,即可获取文件内容。
c.将fileBase64节点中的内容base64解码后另存为pdf文件即可。
三、扩展资源
- Postman调用指南:使用Postman测试EDI系统API
阅读原文