截至 API 版本 2027-01,GraphQL Admin API 中已移除 metafieldInteger 集合源条件输入和类型。如果您使用 metafieldInteger 来创建或读取集合源条件,则需要在升级到 API 版本 2027-01 之前迁移到 metafieldInt。
变更内容
通过 metafieldInt,整数元字段条件上的 value 字段的类型从 Int 更改为 String,以与 Storefront API 上元字段的 value 字段保持一致。有关详细信息,请参阅 Storefront Metafield.value 字段参考。
以下类型和字段将被替换:
- CollectionSourceInclusionConditionMetafieldInteger 被替换为 CollectionSourceInclusionConditionMetafieldInt
- CollectionSourceInclusionConditionMetafieldIntegerRelation 被替换为 CollectionSourceInclusionConditionMetafieldIntRelation
- CollectionSourceInclusionConditionInput.metafieldInteger 被替换为 CollectionSourceInclusionConditionInput.metafieldInt
- CollectionSourceInclusionConditionUpdateInput.metafieldInteger 被替换为 CollectionSourceInclusionConditionUpdateInput.metafieldInt
关系枚举成员保持不变(EQUALS、GREATER_THAN、LESS_THAN)。行为上的差异在于 value 现在是 String 而不是 Int。
写入操作
这些示例展示了从 metafieldInteger 切换到 metafieldInt 的必需操作以及 value 文字类型的变更。
之前:
conditionsToCreate: [{ metafieldInteger: { definitionId: "gid://shopify/MetafieldDefinition/1", relation: GREATER_THAN, value: 2000 } }]之后:
conditionsToCreate: [{ metafieldInt: { definitionId: "gid://shopify/MetafieldDefinition/1", relation: GREATER_THAN, value: "2000" } }]读取操作
此示例展示了在读取集合源条件时所需使用的更新后的类型条件。
之前:
... on CollectionSourceInclusionConditionMetafieldInteger { relation value }之后:
... on CollectionSourceInclusionConditionMetafieldInt { relation value }需要采取的操作
在迁移到 API 版本 2027-01 之前,您需要:
- 更新所有引用 metafieldInteger 的管理员 GraphQL 查询和变更,使其使用 metafieldInt。
- 确保所有整数元字段条件的 value 字段均为字符串。
如果在您使用 API 版本 2027-01 之前未更新应用,发送 metafieldInteger 的变更将验证失败,而选择 CollectionSourceInclusionConditionMetafieldInteger 的查询将返回错误。您可以在升级到 2027-01 之前在 2026-10 上测试 metafieldInt 的行为。
metafieldInteger 在最高至包括 2026-10 的 API 版本中继续有效。在 2026-10 上,当存在时,整数元字段条件解析为 CollectionSourceInclusionConditionMetafieldInt。在 API 版本 2027-01 中,metafieldInteger 不再可用。
相关文档
- 集合源包含条件输入
- 集合源包含条件更新输入
- 集合源包含条件元字段 Int 类型参考
- GraphQL Admin API 参考

