2016-04-20 194 views
0

有一種方法可以通過一次POST調用爲單個產品創建多個產品變體?Shopify - 產品變體API

我知道一個產品變量可以進行:

POST /admin/products/#{id}/variants.json 
{ 
    "variant": 
    { 
     "option1": "Default Title", 
     "price": "1.00" 
    } 
} 

是否有可能執行一個POST到相同的產品ID創建多個變種?

回答

0

是的。以下是用於向現有產品添加新變體的節點示例。需要注意的是,您必須使用要保留的變體的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(); 
+0

感謝bk的回覆,但我的問題是產品本身已經存在。我正在尋求爲現有產品添加新的變體,因此不要認爲產品API上的POST會起作用。我工作的行業是服裝,設計師經常爲現有產品添加顏色和/或尺寸的情況並不少見。這就是爲什麼我使用調用Product Variant API的例子。 –

+0

只是使用PUT。看到我的新樣本 – bknights