我知道您可以在Shopify中将具有以下变体ID的产品添加到购物车中:
/cart/add?id=VARIANT_ID
我正在尝试找到一种通过SKU添加它的方法,如下所示:
/cart/add?sku=SKU
那会容易得多,我们的SKU永远不会改变。
如果不可能,是否有办法根据SKU发现变体ID?
答案 0 :(得分:1)
您总是在Shopify中购买变体。
订单本身会保留一个记录,以变体ID作为参考点。
因此简短的答案是否-您无法通过SKU添加产品。
第二个问题:
有没有一种方法可以根据SKU发现变体ID?
是的,但这实际上取决于您如何实现SKU部分。
如果您在产品页面上并且拥有SKU,则可以在过滤出变体后获得variant_id。
但是,如果您不在产品页面上,并且有500多种产品,那么最快的方法就是像这样使用GraphQL:
{
productVariants(first: 1, query: "sku:SOMESKU"){
edges {
node {
id
}
}
}
}
它将在其中返回结果的地方,例如:
{
"data": {
"productVariants": {
"edges": [
{
"node": {
"id": "gid://shopify/ProductVariant/14726421905460"
}
}
]
}
},
"extensions": {
"cost": {
"requestedQueryCost": 3,
"actualQueryCost": 3,
"throttleStatus": {
"maximumAvailable": 1000,
"currentlyAvailable": 997,
"restoreRate": 50
}
}
}
}
然后您将返回的变体ID传递到购物车。