You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用GraphQL更新Shopify无变体商品的价格?

解决Shopify无变体商品价格的GraphQL更新问题

无变体商品本质上确实带有一个默认变体,你需要先获取这个默认变体的全局ID,再用你熟悉的productVariantUpdate mutation来更新价格,具体步骤如下:

1. 查询获取无变体商品的默认变体ID

通过商品的全局ID查询它的变体列表(无变体商品只会返回1个默认变体),示例GraphQL查询:

query getProductDefaultVariant($productId: ID!) {
  product(id: $productId) {
    variants(first: 1) {
      edges {
        node {
          id
          price
        }
      }
    }
  }
}

对应的Python变量示例:

variables = {
    "productId": "gid://shopify/Product/你的商品全局ID"
}

执行这个查询后,从返回结果的product.variants.edges[0].node.id就能拿到默认变体的全局ID。

2. 使用变体ID更新价格

复用你已有的productVariantUpdate mutation,注意变量名要和mutation定义的$input1对应(你之前的变量里写的input2是错误的,会导致参数不匹配),示例代码:

mutation productVariantUpdate($input1: ProductVariantInput!) {
  item1: productVariantUpdate(input: $input1) {
    productVariant {
      id,
      price
    }
    userErrors {
      field
      message
    }
  }
}
variables = {
    "input1": {"id": "gid://shopify/ProductVariant/刚才拿到的默认变体ID", "price": 15.20}
}

执行这个mutation就能完成无变体商品的价格更新了。

内容的提问来源于stack exchange,提问作者CryptoTex

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 17:40:58