大数跨境

在 API 版本 2027-01 中,已移除 automaticDiscounts 查询。

在 API 版本 2027-01 中,已移除 automaticDiscounts 查询。 Shopify电商独立站
2026-09-18
1
导读:在 GraphQL Admin API 的 2027-01 版本中,已弃用的自动折扣(automatic Discounts)查询已被移除。如果您的应用通过 automatic Discounts 读

GraphQL Admin API 在 2027-01 版本中移除了已弃用的 automaticDiscounts 查询。如果您的应用通过 automaticDiscounts 读取商店的自动折扣,则在升级到 2027-01 之前,您需要迁移到带有 method:automatic 过滤器的 discountNodes 查询。2026-10 及更早版本的应用在支持这些版本期间可保持不变继续运行。

变更内容

自 API 版本 2027-01 起,QueryRoot 上不再存在 automaticDiscounts。对 2027-01 包含 automaticDiscounts 的请求将返回验证错误而非数据。DiscountAutomaticConnection 和 DiscountAutomaticEdge 类型也被移除,因为架构中没有其他字段会返回它们。

请改用 discountNodes,并配合 query: "method:automatic" 使用。它返回一个 DiscountNode 对象连接,每个对象都在 discount 字段上暴露折扣本身。discountNodes 接受与已移除查询类似的过滤器,包括 status、discount_type、discount_class、created_at 和 starts_at。有关如何组合过滤器的详细信息,请参阅 Shopify API search syntax。


注意: <code><span class="PreventFireFoxApplyingGapToWBR">automatic<wbr/>Discount<wbr/>Nodes</span></code> 查询也已弃用,转而推荐使用 <code><span class="PreventFireFoxApplyingGapToWBR">discount<wbr/>Nodes</span></code>。如果您迁移到 <code><span class="PreventFireFoxApplyingGapToWBR">automatic<wbr/>Discount<wbr/>Nodes</span></code>,则在该查询被移除时,您稍后需要再次进行迁移。


您可以调用 discountNodes,通过单个查询同时读取基于代码的折扣和自动折扣,并使用单一的过滤器词汇表。

受影响对象

此移除操作会影响任何调用 automaticDiscounts 并请求 API 版本 2027-01 或更高版本的应用,包括一旦 2027-01 成为最新版本后固定于 unstable 的应用。它还影响引用 DiscountAutomaticConnection 或 DiscountAutomaticEdge 的工具和生成的类型。

只要 2026-10 或更早版本仍受支持,请求这些版本的应用将继续正常运行。已经通过 discountNodes 读取自动折扣的应用无需更改任何内容。使用 automaticDiscountNodes 的应用不受此次特定移除的影响,但应计划迁移到 discountNodes。

如果您的应用不调用 automaticDiscounts,则无需为此变更采取任何行动。

为何重要

discountNodes 这是所有折扣(包括自动折扣和基于代码的折扣)的统一查询接口。您可以在不同类型的折扣中使用相同的搜索语法和分页模式。如果您的应用同时需要这两种方法,只需读取一个分页列表,而无需合并单独的查询结果;新增的自动折扣类型也不需要额外的查询字段。

破坏性变更与迁移指南

当您请求 API 版本 2027-01 或更高版本时,任何包含 automaticDiscounts 的查询都会导致验证失败。当针对 2027-01 重新生成代码时,依赖于 DiscountAutomaticConnection 或 DiscountAutomaticEdge 的类型也会出错。

迁移步骤:

  1. 在您的应用中搜索 automaticDiscounts,包括生成的 GraphQL 类型以及对 DiscountAutomaticConnection 或 DiscountAutomaticEdge 的任何引用。
  2. 将该查询替换为 discountNodes 并传入 query: "method:automatic"。将现有的内联片段向下移动一级,置于 DiscountNode 的 discount 字段上。
  3. 针对 2027-01 重新生成您的 GraphQL 类型或架构快照,以使您的类型与新结构匹配。
  4. 在开发商店中对 2027-01 进行测试,并确认结果与您应用在 2026-10 上返回的结果一致。

以下是同一请求在变更前后的对比:

# Before, on 2026-10 and earlier query { automaticDiscounts(first: 10) { nodes { ... on DiscountAutomaticBxgy { title status } } } } # After, on 2027-01 query { discountNodes(first: 10, query: "method:automatic") { nodes { id discount { ... on DiscountAutomaticBxgy { title status } } } } }

内联片段保持不变地转移过来。您将它们从 automaticDiscounts 下的 nodes 移动到每个 DiscountNode 的 discount 字段上。如果您的应用读取多种自动折扣类型,请在 discount 上为每种类型添加一个内联片段,或通过这些类型实现的接口选择共享字段。

如果您无法在2027-01之前完成迁移,请将您的应用保留在2026-10或更早的受支持版本上,直到您完成更改,且该版本仍包含automaticDiscounts。

需采取的操作

在将应用升级到API版本2027-01之前,请更新任何调用automaticDiscounts的查询以使用带有query: "method:automatic"的discountNodes,并针对2027-01重新生成类型。如果您在不进行迁移的情况下进行升级,这些查询将返回验证错误,并且您的应用将无法再读取自动折扣信息。

您可以通过在2027-01上的开发商店中运行更新后的查询,并检查自动折扣数据是否与您在2026-10上看到的一致,来确认迁移已成功。

如果您的应用未调用automaticDiscounts,则无需更改即可升级到2027-01。

相关文档

  • GraphQL Admin API 中的折扣节点查询
  • DiscountNode 对象参考
  • 在 Shopify 应用中构建折扣功能
  • Shopify API 版本管理
【声明】内容源于网络
0
0
Shopify电商独立站
1234
内容 7146
粉丝 0
Shopify电商独立站 1234
总阅读87.4k
粉丝0
内容7.1k