创建您的第一个 Webhook
本指南将引导您从一个空白的应用程序开始,逐步构建一个Shopify Flow工作流程,该工作流程会在您的系统发出指令时运行。大约需要十分钟。
1. 创建一个 Webhook
Webhook -> 创建 Webhook。该页面首先询问将由什么触发此 Webhook,并据此进行配置:
| 您的答案 | 您将获得 |
|---|---|
| 自动化工具(n8n、Make、Zapier、自定义代码) | 一个生成的令牌,可直接粘贴到工具中 |
| 一项对 Webhook 进行签名的服务(Stripe、GitHub 等) | 您所选服务的签名验证 - - 请参阅 验证已签名的 Webhook |
| 浏览器或店面脚本 | 已启用 CORS - - 请参阅 CORS、应用代理 URL 和浏览器调用 |
| 无 - 按计划运行 | 一个按定时器间隔从指定 URL 获取数据的 Webhook;接下来将打开其“计划”选项卡 - - 参见 定时URL轮询 |
| 其他,或稍后再决定 | 您可自行选择身份验证方式 |
给它起一个你以后能认出来的名字(例如“钱包卡提醒”、“联系表单”),然后保存。所有设置之后都可以修改。
现在,您已获得一个以短代码结尾的 Webhook URL,例如 https://.../webhook/ab12cd34。该 URL 即是您的系统发送 POST 请求的端点。


2. 选择呼叫者证明身份的方式
打开 Webhook 并选择一种身份验证方法。完整对比请参见 身份验证 - - 简而言之:
- 静态令牌 - - 几乎适合所有人。点击“生成”按钮,复制令牌,
将其包含在
X-Api-Key标头中。 - HMAC SHA-256 - - 适用于对请求进行签名的发送方(如 Stripe、GitHub 及类似服务)。
- 无 - - 仅供测试。任何拥有该 URL 的人都可以触发您的工作流程。
3. 请告诉我们您关注哪些领域
在**“高级设置**”下,可从您的 JSON 负载中映射最多四个字段。如果您的系统发送:

json
{ "customer": { "email": "someone@example.com" }, "orderId": "1001" }将 fieldOne 映射到 orderId,将 fieldTwo 映射到 customer.email - - 嵌套路径使用点分隔。详细信息请参见 负载映射和流变量。
4. 发送测试请求

bash
curl -X POST https://your-app-url/webhook/ab12cd34 \
-H "Content-Type: application/json" \
-H "X-Api-Key: your-token" \
-d '{"orderId":"1001","customer":{"email":"someone@example.com"}}'打开**“历史记录**”。您应该能看到该请求及其状态、头部和负载。如果未显示,请访问 历史与故障排除,该页面列出了所有拒绝原因。
5. 构建 Shopify Flow 工作流程
在 Shopify Flow 中,创建一个以**“Webhook 触发器**”为起点的工作流程。
- 添加触发器,然后单击**“记录事件**”。
- 回到这里,在**“历史记录**”中打开该调用,然后点击**“重放”**。Shopify Flow 现在有一个 可供操作的真实示例负载 - - 这比猜测字段名要容易得多。
- 添加条件:
Webhook ID等于您的 Webhook ID(显示在 Webhook 页面上)。 每个 Webhook 触发器工作流程都会接收来自您_所有_ Webhook 的事件,因此这 正是该条件使得工作流程仅对此项做出响应。 - 请将您的操作添加到
{{fieldOne}}至{{fieldFour}}。 - 启用该工作流程。






6. 上线
将您的实际系统指向该 Webhook URL。在**“历史记录**”中查看前几次调用,以确认它们已成功到达并执行成功。
如果发件人在超时后重试,请启用重复配送防护,以防止重试导致工作流程被执行两次。


