截至 Storefront API 2026-10 版本,@inContext 指令接受一个可选的 channelId 参数。使用 channelId 可将特定销售渠道的上下文应用于整个查询,包括渠道特定的产品可用性和定价。
示例:
query Product($handle: String!, $channelId: ID!) @inContext(channelId: $channelId) { product(handle: $handle) { id title availableForSale priceRange { minVariantPrice { amount currencyCode } } } }为何正在发生变化
现有的 @inContext 指令允许您设置买家上下文,例如 country 和 language。借助 channelId,您现在可以:
- 在获取产品、价格和库存时,针对特定渠道(例如市场或自定义销售渠道)。
- 构建具备渠道感知能力的前端商店,为每个渠道展示正确的目录、定价和营销规则。
- 通过依赖 API 应用特定于渠道的行为,减少应用中的自定义逻辑。
要求
访问要求: 您只能传递由发出请求的 API 客户端创建的销售渠道 ID。
回退行为: 如果您省略 channelId,Storefront API 将使用该 API 客户端拥有的第一个销售渠道。当您的应用拥有多个销售渠道或需要选择特定渠道时,请显式传递 channelId。
了解更多关于 上下文查询 的信息。

