Shopify 应用与扩展

没接 app/uninstalled 导致 token 一直 401

现象#

商家卸载应用后,后台任务仍在用旧 token 调 Admin API,日志里持续出现 401 Invalid API key or access token,重试也不会恢复。

原因#

  • 卸载瞬间 access token 失效,但本地 session 表没有删除记录
  • 没有订阅 app/uninstalled,服务端无从得知卸载事件
  • webhook 订阅建在旧 API 版本上,topic 或回调地址已失效
  • 按 shop 删除时没做域名归一化,大小写或自定义域名对不上

处理步骤#

  1. 在 toml 的 webhooks 订阅里加 app/uninstalled 主题
  2. 端点里读 X-Shopify-Shop-Domain,按 shop 删除 session 与 token
  3. 处理逻辑必须保持幂等,重复投递时也要直接返回 200
  4. 部署后在测试店铺卸载应用,看服务端日志是否收到请求
  5. 对历史残留的 session 跑一次批量清理并记录

验收标准#

卸载后日志不再出现 401,session 表中该 shop 的记录为 0 条。

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