没接 app/uninstalled 导致 token 一直 401
现象#
商家卸载应用后,后台任务仍在用旧 token 调 Admin API,日志里持续出现 401 Invalid API key or access token,重试也不会恢复。
原因#
- 卸载瞬间 access token 失效,但本地 session 表没有删除记录
- 没有订阅
app/uninstalled,服务端无从得知卸载事件 - webhook 订阅建在旧 API 版本上,topic 或回调地址已失效
- 按 shop 删除时没做域名归一化,大小写或自定义域名对不上
处理步骤#
- 在 toml 的 webhooks 订阅里加
app/uninstalled主题 - 端点里读
X-Shopify-Shop-Domain,按 shop 删除 session 与 token - 处理逻辑必须保持幂等,重复投递时也要直接返回 200
- 部署后在测试店铺卸载应用,看服务端日志是否收到请求
- 对历史残留的
session跑一次批量清理并记录
验收标准#
卸载后日志不再出现 401,session 表中该 shop 的记录为 0 条。
本文由 风格技术 技术团队整理,适用于 Shopify 标准版与 Plus 店铺。Shopify 平台能力迭代较快,具体操作路径与字段以官方文档和店铺后台实际版本为准。