在很多 API 集成项目中,用户通过调用知行之桥的 API 接口向 EDI 系统推送数据时,经常会遇到几个常见问题:
- 我怎么知道接口调用是否成功?
- 数据有没有成功推送到知行之桥?
- 推送之后,知行之桥会返回怎样的响应结果?
为了解决这些集成过程中的可视化反馈与状态确认问题,知行之桥提供了 Webhook 端口功能。
通过 Webhook,系统可以在每次接口调用或数据推送后,主动向用户端返回明确的响应信息,不仅能实时反馈调用结果,还可以根据用户需求,自定义返回的响应内容。
接下来,我将基于 知行之桥 EDI 系统 V2025,为大家演示 Webhook 端口的使用方式和典型应用场景。
一、Webhook端口功能介绍
在知行之桥中,Webhook 端口 允许外部系统通过 HTTP POST 或 PUT 请求,将数据直接发送到知行之桥的工作流中。
每个 Webhook 端口都对应一个对外公开的访问端点,外部客户端可以向该端点提交 XML 或 JSON 格式的数据文件。
这些文件会自动写入端口的输出区域,并继续传递给工作流中已连接的后续端口,实现数据的自动接收与处理。
1.认证
在Webhook端口,可以授权用户使用身份验证令牌访问 API 资源,提供 HTTP 身份验证中的身份验证令牌,如下所示。

点击"添加",勾选启用POST、PUT权限。

"身份验证令牌(Authtoken)"需要在添加用户时妥善保管,出于安全考虑,这是身份认证令牌(Authtoken)最后一次明文。保存此新用户之前,请将此授权令牌复制到安全的地方。如果授权令牌丢失,可以随时为该用户创建一个新的。
在知行之桥EDI系统V2025中,支持自定义每小时最大请求数以及最大并发请求数,默认无限制请求。
以上信息配置完成后,点击右下角的"保存变更"。在 用户 页面即可看到新创建的用户Iris。

2.服务器
在Webhook端口的"服务器 "页面,点击"+添加",添加受信任的IP地址,使用"*"表示允许任何 IP 地址访问。

二、使用Postman调用实例
在"工作流"页面搜索并创建 Webhook 端口。

在Webhook端口的"设置"页面,显示有Webhook端口URL,将其复制到Postman中。

选择PUT或POST方法,在"Headers"中添加属性"x-CData-authtoken",值为添加用户时保存好的身份验证令牌,以及属性"Content-Type",值为"application/xml"。

在"Body"中,选择"raw",再选择主体数据的格式,示例中是XML格式。用户可将要发送给交易伙伴的业务数据直接写入该请求主体中,示例如下。

之后点击Send,发送之后可以去知行之桥的Webhook端口的输出页面查看,无论调用成功与否,在该页面都会显示相应的信息。

调用失败时,文件会显示Error,且文件内容为空。下载消息日志,可以查看到调用失败的错误原因提示:

日志中的报错提示与POSTMAN中显示的相同。

调用成功时,文件会显示Success,点击文件名即可预览文件,点击"下载消息",下载文件,文件内容便是在Postman调用时,请求的主体内容,用户便实现了成功将业务数据推送至EDI系统的操作。

下载消息日志,也可以查看到调用成功的提示。

三、自定义响应
除了上述的调用方式,也可以通过使用响应(Response)事件来自定义响应,以满足用户的自定义需求。指定时,端口期望通过 _response 提供自定义响应。 例如,将传入请求的参数通过消息头部进行显示,并沿工作流向下传递。可在Webhook端口的"事件"页面的"响应(Response)"栏中编写脚本如下:
<arc:set attr="_message.header:MySpecialHeader" value="[_httpheaders.MyWebhookHeader]" />
<arc:set attr="_message.header:Content-Type" value="application/xml" />
<arc:set attr="_response.write" value="<Status>Successfully processed message with MySpecialHeader=[_message.header:MySpecialHeader]</Status>" />

其中,MyWebhookHeader不仅会显示为Webhook端口接收到的消息头部参数,还会作为用户调用成功之后收到响应中的自定义标识信息。
在Postman中调用时填写Headers信息如下,将MyWebhookHeader的自定义值填入其中:

调用成功,得到的响应便如下所示:

Webhook端口接收到的消息头部会显示MyWebhookHeader及其值:

该消息头部会随着消息流入工作流中,Webhook端口之后所连接的端口都可引用该参数。
了解更多 EDI 信息,请参阅: EDI 是什么?