Webhook 节点
使用 Webhook 节点创建
webhook ,当事件发生时,它可以从应用和服务接收数据。它是一个触发节点,这意味着它可以启动 n8n 工作流。这允许服务连接到 n8n 并运行工作流。当您需要接收数据并基于该数据运行工作流时,可以使用 Webhook 节点作为工作流的触发器。Webhook 节点还支持返回工作流结束时生成的数据。这使得它非常适合构建用于处理数据并返回结果的工作流,就像 API 端点一样。
Webhook 允许您从没有专用应用触发节点的服务触发工作流。
工作流开发流程
n8n 为测试和生产环境提供了不同的
Webhook URL 。测试 URL 包含一个“监听测试事件”的选项。有关构建、测试以及将 Webhook 节点迁移到生产环境的更多信息,请参阅工作流开发。节点参数
使用这些参数来配置您的节点。
Webhook URL
Webhook 节点有两个
Webhook URL :测试和生产。n8n 在节点面板顶部显示 URL。选择
测试 URL或生产 URL来切换 n8n 显示的 URL。
- 测试:如果工作流未处于活动状态,当您选择“监听测试事件”或“执行工作流”时, n8n 会注册一个测试 webhook 。当您调用 webhook URL 时,n8n 会显示工作流中的数据。
- 生产:当您激活工作流时,n8n 会注册一个生产 Webhook。使用生产 URL 时,n8n 不会显示工作流中的数据。您仍然可以查看生产执行的工作流数据:在工作流中选择“执行”选项卡,然后选择要查看的工作流执行。
HTTP 方法
Webhook 节点支持标准
HTTP 请求方法:- 删除
- 得到
- 头
- 修补
- 邮政
-
放
小路
默认情况下,此字段包含随机生成的 webhook URL 路径,以避免与其他 webhook 节点冲突。
您可以手动指定 URL 路径,包括添加路由参数。例如,如果您使用 n8n 构建 API 原型,并且希望端点 URL 保持一致,则可能需要执行此操作。
路径字段可以采用以下格式:/:variable/path/:variable/:variable/path/:variable1/path/:variable2/:variable1/:variable2
支持的身份验证方法
您可以要求任何调用您的 Webhook 网址的服务进行身份验证。请从以下身份验证方法中进行选择:
- 基本身份验证
- 标头授权
- JWT 认证
- 没有任何
有关设置每种凭证类型的更多信息,请参阅
Webhook 凭证。回应
- 立即:Webhook 节点返回响应代码和消息工作流已开始。
- 当最后一个节点完成时:Webhook 节点返回工作流中执行的最后一个节点的响应代码和数据输出。
- 使用“响应 Webhook”节点:Webhook 节点按照响应 Webhook节点中的定义进行响应。
响应代码
自定义Webhook 节点成功执行后返回的
HTTP 响应代码。从常用响应代码中选择,或创建自定义代码。响应数据
选择响应主体中要包含的数据:
- 所有条目:Webhook 返回数组中最后一个节点的所有条目。
- 第一个条目 JSON :Webhook 返回 JSON 对象中最后一个节点的第一个条目的 JSON 数据。
- 第一个条目二进制:Webhook 返回二进制文件中最后一个节点的第一个条目的二进制数据。
- 无响应主体:Webhook 返回时没有主体。
仅适用于
响应 > 当最后一个节点完成时。节点选项
选择
“添加选项”可查看更多配置选项。可用选项取决于您的节点参数。请参阅表格了解选项可用性。- 允许的来源 (CORS) :设置允许的跨域。请输入允许跨域非预检请求的 URL 列表(以逗号分隔)。使用(默认)表示允许所有来源。
- 二进制属性:启用此设置允许 Webhook 节点接收二进制数据,例如图像或音频文件。输入要写入接收文件数据的二进制属性的名称。
- 忽略机器人:忽略来自链接预览器和网络爬虫等机器人的请求。
- IP 白名单:启用此选项可限制哪些人(或哪些内容)可以调用 Webhook 触发器 URL。请输入允许的 IP 地址列表(以逗号分隔)。从白名单之外的 IP 地址访问会引发 403 错误。如果留空,则所有 IP 地址都可以调用 Webhook 触发器 URL。
- 无响应主体:启用此选项可防止 n8n 发送带有响应的主体。
- Raw Body :指定 Webhook 节点将以原始格式接收数据,例如 JSON 或 XML。
- 响应内容类型:选择 webhook 主体的格式。
- 响应数据:通过响应发送自定义数据。
- 响应标头:在 Webhook 响应中发送额外的标头。请参阅MDN Web 文档 | 响应标头,了解更多关于响应标头的信息。
- 属性名称:默认情况下,n8n 返回所有可用数据。您可以选择返回特定的 JSON 键,以便 n8n 返回该值。
| 选项 | 所需的节点配置 |
|---|---|
| 允许来源 (CORS) | 任何 |
| 二元属性 | 可选: HTTP 方法 > POST HTTP 方法 > PATCH HTTP 方法 > PUT |
| 忽略机器人 | 任何 |
| IP白名单 | 任何 |
| 属性名称 | 两者:响应 > 当最后一个节点完成响应数据 > 第一条 JSON |
| 无响应主体 | 回应 > 立即 |
| 生肉 | 任何 |
| 响应代码 | 除响应之外的任何内容 > 使用“响应 Webhook”节点 |
| 响应内容类型 | 两者:响应 > 当最后一个节点完成响应数据 > 第一条 JSON |
| 响应数据 | 回应 > 立即 |
| 响应标头 | 任何 |
n8n 如何保护 HTML 响应
从
n8n 1.103.0 版本开始,n8n 会自动将对 webhook 的 HTML 响应包装在标签中。这是一种保护实例用户的安全机制。这具有以下含义:
- HTML 在沙盒 iframe 中呈现,而不是直接在父文档中呈现。
- 尝试访问顶级窗口或本地存储的 JavaScript 代码将会失败。
- 沙盒化的 iframe 中不支持身份验证标头(例如,基本身份验证)。您需要使用其他方法,例如在 HTML 中嵌入短期访问令牌。
- 相对 URL(例如)不起作用。请改用绝对 URL。
模板和示例
没有任何
常见问题
有关常见问题或问题以及建议的解决方案,请参阅
常见问题。