从 API 版本 2026-07 开始,GraphQL Admin API 支持基于市场的配送配置。您现在可以直接在市场中配置配送,这有助于应用为不同市场采用不同的配送策略,而无需创建单独的配送配置文件资源。
变更内容
Market 对象现在包含一个用于市场配送设置的 delivery 字段。请使用 Market.delivery.shipping 来读取市场的配送配置。 Market 对象现在包含一个 delivery 字段用于市场配送设置。请使用 Market.delivery.shipping 来读取市场的配送配置。
使用现有的 marketCreate 和 marketUpdate 突变(mutation)来创建、更新或删除市场的配送配置:
- 使用 MarketCreateInput.delivery.shipping 在创建市场时添加配送配置。
- 使用 MarketUpdateInput.delivery.shipping 在现有市场上更新配送配置。
- 使用 MarketUpdateInput.delivery.removeShipping 删除市场级别的配送配置,使市场从其父级继承配送设置。
配送选项通过 DeliveryOptionDefinitionCreateInput 和 DeliveryOptionDefinitionUpdateInput。API 支持以下选项类型:
- DeliveryFlatRateOptionDefinition 用于固定运费的配送选项。
- DeliveryValueBasedOptionDefinition 用于基于购物车价值的费率。
- DeliveryWeightBasedOptionDefinition 用于基于包裹重量的费率。
- DeliveryCarrierCalculatedOptionDefinition 用于由承运商服务计算的费率。
每个配送选项都包含诸如 currency 和 isActive等字段。您可以选择配置免费配送门槛,使用 freeDeliveryMinimumValue。平面和基于价值的选项可以包含一个或多个费率组。基于重量的选项恰好包含一个基于重量的费率组,而由承运商计算的选项包含单个由承运商计算的费率组。
您可以执行的操作
- 为特定市场配置配送选项。
- 按市场提供不同的固定、基于价值、基于重量或由承运商计算的费率。
- 将费率组限制为特定的产品集合或原产地位置。
- 未配置的市场自然继承其父级市场的配送设置。
- 通过设置 isEnabled 为 false。
您需要了解的信息
- 查询需要 read_markets 权限。
- 变更操作需要同时具备 read_markets 和 write_markets 权限。
- 空 null 值表示该市场从其父级继承配送方式。对于没有父级的市场,配送方式将继承商店默认的无配送设置。 Market.delivery.shipping 这意味着该市场的客户在结账时将看不到配送选项。这也会禁用任何可能适用于此市场的由应用管理的配送选项。
- isEnabled: false 这意味着该市场的客户在结账时将看不到配送选项。同时,这也禁用了可能适用于该市场的任何应用管理的配送选项。
- 市场配送配置没有根查询或独立的变更操作。请通过 Market、 marketCreate以及 marketUpdate来读取和写入配送配置。
示例查询
此查询读取市场的配送配置,包括是否启用了配送、配置了多少个活动的配送选项,以及每个固定费率选项的详细信息。
{ market(id: "gid://shopify/Market/123") { delivery { shipping { isEnabled optionDefinitionsCount { count } optionDefinitions(first: 10) { nodes { __typename currency isActive freeDeliveryMinimumValue { amount currencyCode } ... on DeliveryFlatRateOptionDefinition { name rateGroups(first: 10) { nodes { conditions { collectionsCount { count } originLocationsCount { count } } rate { price { amount currencyCode } transitTimeMinSeconds transitTimeMaxSeconds } } } } } } } } } }示例变更
此变更更新现有市场以启用配送,并添加一个具有固定价格和预计运输时间的标准固定费率配送选项。
mutation { marketUpdate( id: "gid://shopify/Market/123" input: { delivery: { shipping: { isEnabled: true optionDefinitionsToCreate: [ { flatRate: { name: "Standard Delivery" currency: USD rateGroups: [ { rate: { price: { amount: "5.99", currencyCode: USD } transitTimeMinSeconds: 432000 transitTimeMaxSeconds: 604800 } } ] } } ] } } } ) { market { id delivery { shipping { isEnabled optionDefinitions(first: 10) { nodes { __typename currency isActive } } } } } userErrors { field message } } }示例:禁用市场的配送功能
使用 isEnabled: false 当市场应保留其市场级别的配送配置,但在结账时不显示配送选项时,请使用 is Enabled: false。
mutation { marketUpdate( id: "gid://shopify/Market/123" input: { delivery: { shipping: { isEnabled: false } } } ) { market { id delivery { shipping { isEnabled } } } userErrors { field message } } }示例:移除市场级别的配送配置
使用 removeShipping: true 当市场应从其父级继承配送设置,而不是使用自己的配送配置时,请使用 remove Shipping: true。
mutation { marketUpdate( id: "gid://shopify/Market/123" input: { delivery: { removeShipping: true } } ) { market { id delivery { shipping { isEnabled } } } userErrors { field message } } }示例:添加基于价值的配送选项
此变更创建一个运费取决于购物车价值的配送选项。
mutation { marketUpdate( id: "gid://shopify/Market/123" input: { delivery: { shipping: { optionDefinitionsToCreate: [ { valueBased: { name: "Cart Value Shipping" currency: USD isActive: true rateGroups: [ { rates: [ { price: { amount: "9.99", currencyCode: USD } minValue: { amount: "0.00", currencyCode: USD } maxValue: { amount: "49.99", currencyCode: USD } } { price: { amount: "0.00", currencyCode: USD } minValue: { amount: "50.00", currencyCode: USD } } ] } ] } } ] } } } ) { market { id } userErrors { field message } } }示例:添加基于重量的配送选项
基于重量的选项采用类似的形式,但只能接受单个费率组。该费率组可以包含基于重量的费率。
mutation { marketUpdate( id: "gid://shopify/Market/123" input: { delivery: { shipping: { optionDefinitionsToCreate: [ { weightBased: { name: "Weight-Based Shipping" currency: USD isActive: true rateGroups: [ { rates: [ { price: { amount: "12.99", currencyCode: USD } minWeight: { value: 0, unit: POUNDS } } ] } ] } } ] } } } ) { market { id } userErrors { field message } } }示例:添加由承运商计算的配送选项
由承运商计算的选项也仅接受引用现有承运商服务的单个费率组。
mutation { marketUpdate( id: "gid://shopify/Market/123" input: { delivery: { shipping: { optionDefinitionsToCreate: [ { carrierCalculated: { currency: USD isActive: true rateGroups: [ { carrierServiceId: "gid://shopify/DeliveryCarrierService/987" autoIncludeNewServices: true percentageAdjustment: 10 } ] } ] } } } ) { market { id } userErrors { field message } } }示例:更新现有的固定费率配送选项
使用 optionDefinitionsToUpdate 并传入配送选项 ID。对于固定费率选项,您还可以更新单个费率组。
mutation { marketUpdate( id: "gid://shopify/Market/123" input: { delivery: { shipping: { optionDefinitionsToUpdate: [ { flatRate: { id: "gid://shopify/DeliveryFlatRateOptionDefinition/456" name: "Standard Delivery" isActive: true rateGroupsToUpdate: [ { id: "gid://shopify/DeliveryFlatRateGroup/789" rate: { price: { amount: "6.99", currencyCode: USD } transitTimeMinSeconds: 432000 transitTimeMaxSeconds: 604800 } } ] } } ] } } } ) { market { id } userErrors { field message } } }示例:删除配送选项
使用 optionDefinitionsToDelete 并传入配送选项 ID。
mutation { marketUpdate( id: "gid://shopify/Market/123" input: { delivery: { shipping: { optionDefinitionsToDelete: [ "gid://shopify/DeliveryFlatRateOptionDefinition/456" ] } } } ) { market { id } userErrors { field message } } }相关文档
核心对象和接口:
- Market
- MarketDeliveryConfigurations
- ShippingConfiguration
- DeliveryOptionDefinition
- DeliveryFlatRateOptionDefinition
- DeliveryValueBasedOptionDefinition
- DeliveryWeightBasedOptionDefinition
- DeliveryCarrierCalculatedOptionDefinition
费率组、费率和条件:
- DeliveryOptionDefinitionRateGroup
- DeliveryFlatRateGroup
- DeliveryValueBasedRateGroup
- DeliveryWeightBasedRateGroup
- DeliveryCarrierCalculatedRateGroup
- DeliveryRate
- DeliveryRateGroupConditions
变更操作和输入:
- marketCreate
- marketUpdate
- MarketCreateInput
- MarketUpdateInput
- MarketDeliveryConfigurationsCreateInput
- MarketDeliveryConfigurationsUpdateInput
- ShippingConfigurationCreateInput
- ShippingConfigurationUpdateInput
- DeliveryOptionDefinitionCreateInput
- DeliveryOptionDefinitionUpdateInput

