一、通过API向知行之桥上传PDF文件
通过API 向知行之桥上传PDF文件分为Admin API 和Flow API 两个方法,以下将详细介绍:
1. Admin API 上传
接口调用步骤
- 定位接口
在知行之桥EDI系统的Admin API 界面中,找到上传文件的API接口(/api.rsc/files),选择POST 方法
1 |
http://localhost:8001/api.rsc/files/ |
- 配置端口
通过Admin API 进行上传时,需要选择一个端口,本次以Script端口为例,在知行之桥EDI系统中创建一个Script端口,命名为 ScriptPDF。
设置路径:在 设置 选项卡下,选择 操作 为:Transform。
接下来按照如下步骤配置(以Postman中的操作为例):
- 认证配置
a.Header中填写认证信息
1 |
x-rssbus-authtoken: [身份认证令牌] |
x-rssbus-authtoken 的 VALUE配置为知行之桥EDI系统中的身份认证令牌,位置如下:
获取令牌:
点击知行之桥左侧菜单栏的 系统设置 ,在 用户 选项卡下点击当前用户:
在 编辑用户 弹窗中勾选 API访问,即可获取身份认证令牌,(⚠️注意:令牌仅明文显示一次,请保存后再点击“保存变更”)。
b.选择body类型为raw->application/json请求内容为:
1 |
{ "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系统中搭建如下工作流:
b.脚本配置
- 在Script端口 设置 选项卡下的脚本中,写入以下脚本,用于将收到的BASE64 内容转换为PDF文档。
1 2 3 4 5 6 7 8 |
<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:
1 |
http://localhost:8001/api.rsc/files(ConnectorId='ConnectorId',Folder='Folder',Filename='Filename',MessageId='MessageId') |
b.查询多个文件列表
1 |
http://localhost:8001/api.rsc/files/ |
c. 以单个文件为例:
返回的文件内容是BASE64编码后的内容,需要解密后另存为filename字段所示的文件类型。
2. Flow API 下载
通过Flow API 下载,通常需要一到两个端口进行操作,在知行之桥EDI系统中搭建如下工作流:
通过上传一个简单的XML,生成PDF格式的标签并且返回。
a.在工作流最后加一个Script端口,设置 选项卡下的 脚本 中添加下述代码,用于将得到的PDF进行BASE64编码。
1 2 3 4 5 6 7 8 9 |
<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文件即可。
三、扩展资源
如果您希望了解有关EDI对接的相关信息,欢迎联系我们。
注:文案部分图片及内容来源于网络,版权归原创作者所有,如有侵犯到您的权益,请您联系我们进行删除,给您带来困扰,我们深感抱歉。