Shopify Admin API

Shopify mutation 返回 200 但数据没变怎么查

现象#

创建/更新商品的 mutation 返回 HTTP 200,业务代码当成功处理,实际后台没有任何变化。

原因#

  • GraphQL 的业务错误在 userErrors 里,HTTP 状态仍是 200
  • 只判断了 data 是否存在,没检查 userErrors 数组
  • 字段类型不匹配(如价格传了字符串带符号)被静默拒绝

处理步骤#

  1. 每个 mutation 都请求 userErrors { field message code }
  2. 统一封装:userErrors 非空即抛错并记录 code
  3. 价格用字符串 "19.99",ID 用 GID 而不是数字
  4. 对关键写入做回读校验,确认落库成功

验收标准#

失败时能拿到具体字段与错误码,日志可定位;成功写入后回读数据一致。

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