如何通过API从知行之桥上传下载PDF文件

b.向flow api 发送请求,即可获取文件内容。

c.将fileBase64节点中的内容base64解码后另存为pdf文件即可。

三、扩展资源

如果您希望了解有关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文件即可。

三、扩展资源

阅读原文

相关推荐
闲人编程1 小时前
用Python和Telegram API构建一个消息机器人
网络·python·机器人·api·毕设·telegram·codecapsule
課代表1 小时前
VB.NET 操作 INI 文件类
api·配置文件·文本·vb.net·ini·kernel32·
知行EDI4 小时前
汽车EDI:基于知行之桥的 Gnotec EDI解决方案
汽车·edi·知行之桥·知行edi
易连EDI—EasyLink9 小时前
AS2协议的实时性:重构制造业供应链协同效率
edi·电子数据交换·as2·易连edi
hu55667981 天前
Adobe Acrobat DC PDF如何批量文本替换
adobe·pdf
万邦科技Lafite1 天前
如何通过第三方API接口获取拼多多店铺信息?
api·开放api·电商开放平台·拼多多开放平台
天远云服1 天前
从异步调用到风控应用:Node.js开发者接入天远API全流程
api
Datawhale1 天前
《Hello-Agents》完整PDF首发,智能体教程免费下载!
pdf
hnxaoli1 天前
win10程序(十四)pdf转docx简易版
开发语言·python·pdf
CodeCraft Studio1 天前
PDF处理控件Aspose.PDF教程:在Python中向PDF文档添加页面
开发语言·python·pdf