文档触发器
本页目录

Webhook

通过 HTTP 请求启动工作流,并选择响应的内容和时机。

Webhook 将收到的 HTTP 请求作为一次运行的入口。需要将工作流发布到能够对外提供 Webhook 地址的部署环境。

声明请求

选择 HTTP 方法,并声明请求体字段。公开编排接口通过 config.body 接收按名称组织的字段定义。

{
  "op": "node.add", "as": "webhook", "type": "webhook", "name": "Receive a ticket",
  "config": {
    "method": "POST",
    "body": { "message": { "schema": { "type": "string" }, "nullable": false } }
  }
}

请求数据通过触发器声明的输出提供。读取请求体字段时,从 body 输出中按直接属性名选择。请求不会自动把值绑定到任意下游输入。

选择响应模式

  • 立即响应:省略 options.responseBody,使用已配置的即时响应。
  • 工作流输出:选择 kind: "workflow-outputs",等待整次运行成功后返回全部工作流输出或其中一个字段。
  • 响应节点:选择 kind: "webhook-response",指定一个可达节点,在它第一次成功完成时返回响应。
POST Webhook 将声明的 message 传给代码节点;Webhook 响应节点返回确认消息,后续任务仍可继续。

POST Webhook 将声明的 message 传给代码节点;Webhook 响应节点返回确认消息,后续任务仍可继续。
输入
POST 请求体:{"message":"Please check my order"}
预期结果
HTTP 202,文本为 "Received: Please check my order",并包含 X-Workflow: ticket-intake。
运行前准备
将工作流发布到对外提供 Webhook 地址的部署环境。
下载工作流

动态响应限制

动态响应超时范围为 1,000–60,000 毫秒,默认为 30,000 毫秒,排队和等待时间也计入其中。HTTP 超时不会取消已经接收的运行。

工作流输出模式中,字符串按文本返回,其他 JSON 值按 JSON 返回。选定输出缺失或运行未成功时会返回错误。状态码和响应头也可按文档规定的约束,从工作流输出中选择。

切换模式时,应明确清除相应字段。固定响应文本、状态码和响应头即使当前未生效,也可能仍保留配置。清除一个嵌套字段,不等于清除了其他响应策略。

CORS、响应头限制、请求限制和对外地址配置,均以部署端规则为准。提前确认请求的用法见 Webhook 响应。

资料来源

搜索