Webhook节点#
使用Webhook节点创建webhooks,它可以在事件发生时接收来自应用程序和服务的数据。这是一个触发器节点,意味着它可以启动一个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请求方法:
- DELETE
- GET
- HEAD
- PATCH
- POST
-
PUT
Webhook最大负载
Webhook的最大负载大小为16MB。 如果您是自托管n8n,可以使用端点环境变量
N8N_PAYLOAD_SIZE_MAX来修改此限制。
路径#
默认情况下,此字段包含随机生成的webhook URL路径,以避免与其他webhook节点发生冲突。
您可以手动指定URL路径,包括添加路由参数。例如,如果您使用n8n来原型化API并希望保持一致的端点URL,则可能需要这样做。
路径字段可以采用以下格式:
/:variable/path/:variable/:variable/path/:variable1/path/:variable2/:variable1/:variable2
支持的认证方法#
您可以为调用您webhook URL的任何服务要求身份验证。从以下身份验证方法中选择:
- 基本认证
- 头部认证
- JWT 认证
- 无
有关设置每种凭证类型的更多信息,请参阅Webhook凭证。
响应#
- 立即: Webhook节点返回响应代码和消息工作流已启动。
- 当最后一个节点完成时: Webhook节点返回响应代码以及工作流中最后执行的节点输出的数据。
- 使用'响应Webhook'节点: Webhook节点会按照Respond to Webhook节点中的定义进行响应。
响应代码#
自定义Webhook节点在成功执行后返回的HTTP响应代码。可从常见响应代码中选择或创建自定义代码。
响应数据#
选择要在响应体中包含的数据:
- 所有条目: Webhook 会返回最后一个节点中的所有条目,以数组形式呈现。
- First Entry JSON: Webhook 返回最后一个节点中第一个条目的 JSON 数据,格式为 JSON 对象。
- First Entry Binary: Webhook 返回最后一个节点中第一个条目的二进制数据,以二进制文件形式提供。
- 无响应体: Webhook返回时不包含响应体。
仅适用于响应 > 当最后一个节点完成时。
节点选项#
选择添加选项以查看更多配置选项。可用选项取决于您的节点参数。请参考表格了解选项可用性。
- 允许的来源 (CORS): 设置允许的跨域域名。输入一个逗号分隔的URL列表,这些URL被允许进行跨域非预检请求。使用
*(默认值)表示允许所有来源。 - 二进制属性: 启用此设置允许Webhook节点接收二进制数据,如图像或音频文件。输入二进制属性的名称以将接收到的文件数据写入其中。
- 忽略机器人: 忽略来自链接预览器和网络爬虫等机器人的请求。
- IP白名单: 启用此选项可限制谁(或什么)可以调用Webhook触发器URL。输入允许的IP地址列表,以逗号分隔。来自白名单之外的IP访问将抛出403错误。如果留空,则所有IP地址均可调用webhook触发器URL。
- 无响应体: 启用此选项可防止n8n在响应中发送正文。
- 原始正文: 指定Webhook节点将以原始格式接收数据,例如JSON或XML。
- 响应内容类型: 选择webhook正文的格式。
- 响应数据: 发送自定义数据与响应一起返回。
- 响应头: 在Webhook响应中发送额外的头信息。参考MDN Web Docs | Response header了解更多关于响应头的信息。
- 属性名称: 默认情况下,n8n会返回所有可用数据。您可以选择返回特定的JSON键,这样n8n就会返回对应的值。
| 选项 | 必需节点配置 |
|---|---|
| 允许的来源 (CORS) | 任何 |
| 二进制属性 | 可选值: HTTP方法 > POST HTTP方法 > PATCH HTTP方法 > PUT |
| 忽略机器人 | 任何 |
| IP白名单 | 任意 |
| 属性名称 | 两者: 响应 > 当最后一个节点完成时 响应数据 > 第一条JSON记录 |
| 无响应体 | 响应 > 立即 |
| 原始请求体 | 任意 |
| 响应代码 | 除响应外的任何代码 > 使用'响应Webhook'节点 |
| 响应内容类型 | 两者: 响应 > 当最后一个节点完成时 响应数据 > 第一条JSON记录 |
| 响应数据 | 响应 > 立即 |
| 响应头 | 任意 |
模板和示例#
常见问题#
关于常见问题或疑问及建议解决方案,请参阅常见问题。