Shopify Webhooks

创建 Webhook 订阅提示地址必须 HTTPS 怎么改

现象#

调 GraphQL 建订阅时返回 userErrors,message 指向地址不合法,webhookSubscription 为 null;把地址换成 http:// 开头或 IP 直连也一样失败。

原因#

  • uri 只接受 HTTPS、pubsub:// 与 EventBridge ARN 三种形式,http 与 IP 直连会被拒
  • 旧教程仍在传 callbackUrl,该字段在当前版本已标 Deprecated,应改用 uri
  • 证书链不完整或自签时,创建能通过但首次投递就失败,看起来像地址问题
  • 地址带查询串或非 443 端口时,网关 301 跳转,而 3xx 本身会被判投递失败

处理步骤#

  1. 把输入字段改为 uri,值以 https:// 开头,去掉 http 与端口
  2. 用 curl -I https://your-domain/webhooks 确认证书链完整、返回 200
  3. 读 userErrors { field message },按 field 判断是 topic 还是 uri 出错
  4. 本地调试不要填 localhost,改用 CLI 的相对路径 uri = "/webhooks"
  5. 上线前用 shopify app webhook trigger 验证一次真实投递

验收标准#

mutation 返回的 webhookSubscription.id 非空、userErrors 为空,Logs 首次投递的 Response 为 200。

本文由 风格技术 技术团队整理,适用于 Shopify 标准版与 Plus 店铺。Shopify 平台能力迭代较快,具体操作路径与字段以官方文档和店铺后台实际版本为准。