Shopify Storefront API

Storefront API 多语言上下文币种不对怎么处理

现象#

站点切到某个市场后,接口返回的价格仍是本币;或者语言变了,商品标题还是默认语言。

原因#

  • 请求头没有携带 @inContext,接口按店铺默认市场返回
  • 只传了 language 没传 country,币种不会随语言切换
  • 国家代码用了小写或三位码,未被识别

处理步骤#

  1. 在查询里显式传上下文:query @inContext(country: DE, language: DE) { ... }
  2. 国家用 ISO 两位大写码,语言用 ZH、EN 这类代码
  3. 把当前市场状态存进全局 store,所有请求统一带上,避免各页面不一致
  4. 验证时对比 price.currencyCode 与页面展示币种是否一致

验收标准#

切换市场后接口返回对应币种与语言;商品、购物车、结账三处币种一致。

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