Shopify Webhooks

改了店铺设置但 shop/update 一直没收到怎么办

现象#

在后台改了店铺名称与客服邮箱,又发布了新主题,订阅 shop/update 的端点一条请求都没有;Logs 按 Topic 过滤同样是空的。

原因#

  • shop/update 只在 Shop 资源本身变化时触发,发布主题、建市场、装应用都不改 Shop 记录
  • 订阅写在 shopify.app.toml 里,但只跑了 dev 没有 deploy,线上店铺还是旧配置
  • 服务端拿 GraphQL 枚举名 SHOP_UPDATE 做路由,header 实际是 shop/update,永远不相等
  • 后台另建的店铺级订阅与 App 订阅并存,测试时看的是另一套投递记录

处理步骤#

  1. 先进 设置 → 常规 改店铺名称并保存,这是最直接的 Shop 资源变更
  2. 打开 Dev Dashboard 的 Logs,按 Topic is shop/update 过滤
  3. 检查 shopify.app.toml 是否含该 topic,再执行 shopify app deploy
  4. handler 里打印 req.headers['x-shopify-topic'],路由按字符串 shop/update 匹配
  5. 若真正关心的是主题或市场变化,改订 themes/publish 或 markets/create

验收标准#

改一次店铺名称后 10 秒内 Logs 出现 shop/update 记录且响应 200,handler 日志里的 topic 为 shop/update。

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