响应Webhook#
使用Respond to Webhook节点来控制对传入webhook的响应。该节点与Webhook节点配合使用。
对第一个数据项运行一次
Respond to Webhook节点仅运行一次,使用第一个传入的数据项。更多信息请参阅返回多个数据项。
如何使用响应Webhook#
要使用响应Webhook节点:
- 添加一个Webhook节点作为工作流的触发节点。
- 在Webhook节点中,将Respond设置为使用'Respond to Webhook'节点。
- 在工作流的任意位置添加Respond to Webhook节点。若需返回其他节点的数据,请将该节点置于那些节点之后。
节点参数#
使用以下参数配置节点行为。
响应方式#
选择要在webhook响应中发送的数据。
- 所有传入项: 返回输入中的所有JSON项。
- 二进制: 返回在响应数据源中定义的二进制文件。
- 首个传入项: 返回首个传入项的JSON数据。
- JSON: 使用响应体中定义的JSON对象进行响应。
- 无数据: 无响应负载。
- 重定向: 跳转到重定向URL中设置的网址。
- 文本: 使用响应正文中设置的文本进行响应。
节点选项#
选择添加选项来查看和设置选项。
- 响应码: 设置要使用的响应码。
- 响应头: 定义要发送的响应头信息。
- 响应数据存放字段: 当选择所有输入项或首个输入项作为响应方式时可用。设置用于存放响应数据的字段名称。
模板和示例#
工作流行为#
使用Respond to Webhook节点时,工作流的行为如下:
- 工作流未执行"响应Webhook"节点即完成:它返回一个带有200状态码的标准消息。
- 在第一个Respond to Webhook节点执行前工作流出错:工作流返回带有500状态码的错误信息。
- 第二个Respond to Webhook节点在第一个之后执行:工作流会忽略它。
- 当Respond to Webhook节点执行但未收到webhook时:工作流会忽略该Respond to Webhook节点。
返回多个数据项(已弃用)#
在1.22.0版本中已弃用
n8n 1.22.0版本新增了通过所有传入项选项返回所有数据项的支持。n8n建议升级至最新版本,而非使用本节描述的变通方案。
Respond to Webhook节点仅运行一次,使用第一个传入的数据项。这包括在使用表达式时。您无法通过Loop节点强制循环:工作流会运行,但webhook响应仍仅包含第一次执行的结果。
如果需要返回多个数据项,请选择以下选项之一:
- 不使用Respond to Webhook节点,而是在Webhook节点的Respond中使用When Last Node Finishes选项。当您想要返回工作流输出的最终数据时使用此选项。
- 在将数据传递给"Respond to Webhook"节点之前,使用Aggregate节点将多个项目转换为单个项目。将Aggregate设置为All Item Data (Into a Single List)。