创建 Webhook 订阅提示地址必须 HTTPS 怎么改
现象#
调 GraphQL 建订阅时返回 userErrors,message 指向地址不合法,webhookSubscription 为 null;把地址换成 http:// 开头或 IP 直连也一样失败。
原因#
- uri 只接受 HTTPS、pubsub:// 与 EventBridge ARN 三种形式,http 与 IP 直连会被拒
- 旧教程仍在传 callbackUrl,该字段在当前版本已标 Deprecated,应改用 uri
- 证书链不完整或自签时,创建能通过但首次投递就失败,看起来像地址问题
- 地址带查询串或非 443 端口时,网关 301 跳转,而 3xx 本身会被判投递失败
处理步骤#
- 把输入字段改为
uri,值以https://开头,去掉 http 与端口 - 用
curl -I https://your-domain/webhooks确认证书链完整、返回 200 - 读
userErrors { field message },按 field 判断是 topic 还是 uri 出错 - 本地调试不要填 localhost,改用 CLI 的相对路径
uri = "/webhooks" - 上线前用
shopify app webhook trigger验证一次真实投递
验收标准#
mutation 返回的 webhookSubscription.id 非空、userErrors 为空,Logs 首次投递的 Response 为 200。
本文由 风格技术 技术团队整理,适用于 Shopify 标准版与 Plus 店铺。Shopify 平台能力迭代较快,具体操作路径与字段以官方文档和店铺后台实际版本为准。