Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(Node.js) Shopify Create a new product with multiple product variantsCreate a new product with multiple product variants
var os = require('os'); if (os.platform() == 'win32') { if (os.arch() == 'ia32') { var chilkat = require('@chilkat/ck-node21-win-ia32'); } else { var chilkat = require('@chilkat/ck-node21-win64'); } } else if (os.platform() == 'linux') { if (os.arch() == 'arm') { var chilkat = require('@chilkat/ck-node21-arm'); } else if (os.arch() == 'x86') { var chilkat = require('@chilkat/ck-node21-linux32'); } else { var chilkat = require('@chilkat/ck-node21-linux64'); } } else if (os.platform() == 'darwin') { if (os.arch() == 'arm64') { var chilkat = require('@chilkat/ck-node21-mac-m1'); } else { var chilkat = require('@chilkat/ck-node21-macosx'); } } function chilkatExample() { var rest = new chilkat.Rest(); var success; rest.SetAuthBasic("SHOPIFY_PRIVATE_API_KEY","SHOPIFY_PRIVATE_API_KEY"); success = rest.Connect("chilkat.myshopify.com",443,true,true); if (success !== true) { console.log(rest.LastErrorText); return; } // The following code creates the JSON request body. // The JSON created by this code is shown below. var jsonReq = new chilkat.JsonObject(); jsonReq.UpdateString("product.title","Burton Custom Freestyle 151"); jsonReq.UpdateString("product.body_html","<strong>Good snowboard!</strong>"); jsonReq.UpdateString("product.vendor","Burton"); jsonReq.UpdateString("product.product_type","Snowboard"); jsonReq.UpdateString("product.variants[0].option1","First"); jsonReq.UpdateString("product.variants[0].price","10.00"); jsonReq.UpdateString("product.variants[0].sku","123"); jsonReq.UpdateString("product.variants[1].option1","Second"); jsonReq.UpdateString("product.variants[1].price","20.00"); jsonReq.UpdateString("product.variants[1].sku","123"); // The JSON request body created by the above code: // { // "product": { // "title": "Burton Custom Freestyle 151", // "body_html": "<strong>Good snowboard!<\/strong>", // "vendor": "Burton", // "product_type": "Snowboard", // "variants": [ // { // "option1": "First", // "price": "10.00", // "sku": "123" // }, // { // "option1": "Second", // "price": "20.00", // "sku": "123" // } // ] // } // } var sbReq = new chilkat.StringBuilder(); jsonReq.EmitSb(sbReq); rest.AddHeader("Content-Type","application/json"); var sbJson = new chilkat.StringBuilder(); success = rest.FullRequestSb("POST","/admin/products.json ",sbReq,sbJson); if (success !== true) { console.log(rest.LastErrorText); return; } if (rest.ResponseStatusCode !== 201) { console.log("Received error response code: " + rest.ResponseStatusCode); console.log("Response body:"); console.log(sbJson.GetAsString()); return; } var json = new chilkat.JsonObject(); json.LoadSb(sbJson); // The following code parses the JSON response. // A sample JSON response is shown below the sample code. var productId; var productTitle; var productBody_html; var productVendor; var productProduct_type; var productCreated_at; var productHandle; var productUpdated_at; var productPublished_at; var productTemplate_suffix; var productPublished_scope; var productTags; var productImage; var i; var count_i; var id; var product_id; var title; var price; var sku; var position; var grams; var inventory_policy; var compare_at_price; var fulfillment_service; var inventory_management; var option1; var option2; var option3; var created_at; var updated_at; var taxable; var barcode; var image_id; var inventory_quantity; var weight; var weight_unit; var old_inventory_quantity; var requires_shipping; var name; var j; var count_j; var strVal; productId = json.IntOf("product.id"); productTitle = json.StringOf("product.title"); productBody_html = json.StringOf("product.body_html"); productVendor = json.StringOf("product.vendor"); productProduct_type = json.StringOf("product.product_type"); productCreated_at = json.StringOf("product.created_at"); productHandle = json.StringOf("product.handle"); productUpdated_at = json.StringOf("product.updated_at"); productPublished_at = json.StringOf("product.published_at"); productTemplate_suffix = json.IsNullOf("product.template_suffix"); productPublished_scope = json.StringOf("product.published_scope"); productTags = json.StringOf("product.tags"); productImage = json.IsNullOf("product.image"); i = 0; count_i = json.SizeOfArray("product.variants"); while (i < count_i) { json.I = i; id = json.IntOf("product.variants[i].id"); product_id = json.IntOf("product.variants[i].product_id"); title = json.StringOf("product.variants[i].title"); price = json.StringOf("product.variants[i].price"); sku = json.StringOf("product.variants[i].sku"); position = json.IntOf("product.variants[i].position"); grams = json.IntOf("product.variants[i].grams"); inventory_policy = json.StringOf("product.variants[i].inventory_policy"); compare_at_price = json.IsNullOf("product.variants[i].compare_at_price"); fulfillment_service = json.StringOf("product.variants[i].fulfillment_service"); inventory_management = json.IsNullOf("product.variants[i].inventory_management"); option1 = json.StringOf("product.variants[i].option1"); option2 = json.IsNullOf("product.variants[i].option2"); option3 = json.IsNullOf("product.variants[i].option3"); created_at = json.StringOf("product.variants[i].created_at"); updated_at = json.StringOf("product.variants[i].updated_at"); taxable = json.BoolOf("product.variants[i].taxable"); barcode = json.IsNullOf("product.variants[i].barcode"); image_id = json.IsNullOf("product.variants[i].image_id"); inventory_quantity = json.IntOf("product.variants[i].inventory_quantity"); weight = json.IntOf("product.variants[i].weight"); weight_unit = json.StringOf("product.variants[i].weight_unit"); old_inventory_quantity = json.IntOf("product.variants[i].old_inventory_quantity"); requires_shipping = json.BoolOf("product.variants[i].requires_shipping"); i = i+1; } i = 0; count_i = json.SizeOfArray("product.options"); while (i < count_i) { json.I = i; id = json.IntOf("product.options[i].id"); product_id = json.IntOf("product.options[i].product_id"); name = json.StringOf("product.options[i].name"); position = json.IntOf("product.options[i].position"); j = 0; count_j = json.SizeOfArray("product.options[i].values"); while (j < count_j) { json.J = j; strVal = json.StringOf("product.options[i].values[j]"); j = j+1; } i = i+1; } i = 0; count_i = json.SizeOfArray("product.images"); while (i < count_i) { json.I = i; i = i+1; } // A sample JSON response body that is parsed by the above code: // { // "product": { // "id": 1071559755, // "title": "Burton Custom Freestyle 151", // "body_html": "<strong>Good snowboard!<\/strong>", // "vendor": "Burton", // "product_type": "Snowboard", // "created_at": "2017-09-22T14:48:54-04:00", // "handle": "burton-custom-freestyle-151", // "updated_at": "2017-09-22T14:48:55-04:00", // "published_at": "2017-09-22T14:48:54-04:00", // "template_suffix": null, // "published_scope": "global", // "tags": "", // "variants": [ // { // "id": 1070325225, // "product_id": 1071559755, // "title": "First", // "price": "10.00", // "sku": "123", // "position": 1, // "grams": 0, // "inventory_policy": "deny", // "compare_at_price": null, // "fulfillment_service": "manual", // "inventory_management": null, // "option1": "First", // "option2": null, // "option3": null, // "created_at": "2017-09-22T14:48:54-04:00", // "updated_at": "2017-09-22T14:48:54-04:00", // "taxable": true, // "barcode": null, // "image_id": null, // "inventory_quantity": 1, // "weight": 0.0, // "weight_unit": "lb", // "old_inventory_quantity": 1, // "requires_shipping": true // }, // { // "id": 1070325226, // "product_id": 1071559755, // "title": "Second", // "price": "20.00", // "sku": "123", // "position": 2, // "grams": 0, // "inventory_policy": "deny", // "compare_at_price": null, // "fulfillment_service": "manual", // "inventory_management": null, // "option1": "Second", // "option2": null, // "option3": null, // "created_at": "2017-09-22T14:48:54-04:00", // "updated_at": "2017-09-22T14:48:54-04:00", // "taxable": true, // "barcode": null, // "image_id": null, // "inventory_quantity": 1, // "weight": 0.0, // "weight_unit": "lb", // "old_inventory_quantity": 1, // "requires_shipping": true // } // ], // "options": [ // { // "id": 1022828915, // "product_id": 1071559755, // "name": "Title", // "position": 1, // "values": [ // "First", // "Second" // ] // } // ], // "images": [ // ], // "image": null // } // } console.log("Example Completed."); } chilkatExample(); |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.