Shopify - 产品变体API
问题描述:
有一种方法可以通过一次POST调用为单个产品创建多个产品变体?Shopify - 产品变体API
我知道一个产品变量可以进行:
POST /admin/products/#{id}/variants.json
{
"variant":
{
"option1": "Default Title",
"price": "1.00"
}
}
是否有可能执行一个POST到相同的产品ID创建多个变种?
答
是的。以下是用于向现有产品添加新变体的节点示例。需要注意的是,您必须使用要保留的变体的ID来填充变体阵列:
var https = require('https');
var cred = new Buffer("xxx:yyy").toString('base64');
var headers = {Authorization: "Basic "+cred, "Content-Type": "application/json"};
var productId = 1925263361;
var options = {
host: 'kotntest1.myshopify.com',
port: 443,
path: '/admin/products/'+productId +'.json',
method: 'PUT',
headers: headers
};
// Setup the request. The options parameter is
// the object we defined above.
var req = https.request(options, function(res) {
res.setEncoding('utf-8');
var responseString = '';
res.on('data', function(data) {
responseString += data;
//console.log(data);
});
res.on('end', function() {
var resultObject = JSON.parse(responseString);
console.dir(resultObject);
});
});
req.on('error', function(e) {
// TODO: handle error.
console.log(e);
});
var product = {
product:{
id: productId,
variants: [
{
id:5991257025 //existing variant id
},
{
id:5991257089 //existing variant id
},
{
id:19762423495 //existing variant id
},
// new variant details
{
title:'v4', // new variant details
option1: 'green',
option2: "Honda",
option3: 'Civic'
},{
title:'v5',
option1: 'pink',
option2: "Honda",
option3: 'Civic'
},{
title:'v6',
option1: 'yellow',
option2: "Honda",
option3: 'Civic'
},{
title:'v7',
option1: 'brown',
option2: "Honda",
option3: 'Civic'
}
]
}
};
req.write(JSON.stringify(product));
req.end();
感谢bk的回复,但我的问题是产品本身已经存在。我正在寻求为现有产品添加新的变体,因此不要认为产品API上的POST会起作用。我工作的行业是服装,设计师经常为现有产品添加颜色和/或尺寸的情况并不少见。这就是为什么我使用调用Product Variant API的例子。 –
只是使用PUT。看到我的新样本 – bknights