在 Shopify 中通过 SKU 而不是 Variant ID 添加产品

In Shopify add a product via SKU rather than Variant ID

我知道在 Shopify 中,您可以使用如下变体 ID 将产品添加到购物车:

/cart/add?id=VARIANT_ID

我正在尝试找到一种通过 SKU 添加它的方法,如下所示:

/cart/add?sku=SKU

那会容易得多,我们的 SKU 永远不会改变。

如果这不可能,有没有办法根据 SKU 发现变体 ID?

您总是在 Shopify 中购买变体。

订单本身会记录变体 ID 作为参考点。

所以简短的回答是 - 您不能通过 SKU 添加产品。

第二个问题:

is there a way to discover the variant id based on SKU?

是的,但这实际上取决于您如何实施 SKU 部分。

如果您在产品页面上并且拥有 SKU,那么如果您过滤掉变体,您可以获得 variant_id。

但是如果您不在产品页面上,并且您有 500 多种产品,那么最快的方法是像这样使用 GraphQL:

{ 
  productVariants(first: 1, query: "sku:SOMESKU"){
    edges {
      node {
        id
      }
    }
  }
}

它将 return 结果如下:

{
  "data": {
    "productVariants": {
      "edges": [
        {
          "node": {
            "id": "gid://shopify/ProductVariant/14726421905460"
          }
        }
      ]
    }
  },
  "extensions": {
    "cost": {
      "requestedQueryCost": 3,
      "actualQueryCost": 3,
      "throttleStatus": {
        "maximumAvailable": 1000,
        "currentlyAvailable": 997,
        "restoreRate": 50
      }
    }
  }
}

您会将 returned 变体 ID 传递给购物车。