我知道您可以在Shopify中添加一个产品,并使用这样的变体ID:
/cart/add?id=VARIANT_ID
我正在尝试找到一种方法来添加Sku,类似的东西:
/cart/add?sku=SKU
这要容易得多,我们的sku永远不会改变。
如果不可能,是否可以根据SKU发现变体ID?
您总是在Shopify中购买一个变体。
该顺序本身将记录保存到变体ID作为参考点。
所以简短的答案是否 - 您无法通过SKU添加产品。
为您第二个问题:
是否有一种方法可以根据SKU发现变体ID?
是的,但这确实取决于您如何实现SKU部分。
如果您在产品页面上并且有SKU,则如果您过滤掉variants,则可以获取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传递给购物车。