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
(Lianja) Shopify Create a new product with multiple product variantsCreate a new product with multiple product variants
loRest = createobject("CkRest") loRest.SetAuthBasic("SHOPIFY_PRIVATE_API_KEY","SHOPIFY_PRIVATE_API_KEY") llSuccess = loRest.Connect("chilkat.myshopify.com",443,.T.,.T.) if (llSuccess <> .T.) then ? loRest.LastErrorText release loRest return endif // The following code creates the JSON request body. // The JSON created by this code is shown below. loJsonReq = createobject("CkJsonObject") loJsonReq.UpdateString("product.title","Burton Custom Freestyle 151") loJsonReq.UpdateString("product.body_html","<strong>Good snowboard!</strong>") loJsonReq.UpdateString("product.vendor","Burton") loJsonReq.UpdateString("product.product_type","Snowboard") loJsonReq.UpdateString("product.variants[0].option1","First") loJsonReq.UpdateString("product.variants[0].price","10.00") loJsonReq.UpdateString("product.variants[0].sku","123") loJsonReq.UpdateString("product.variants[1].option1","Second") loJsonReq.UpdateString("product.variants[1].price","20.00") loJsonReq.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" // } // ] // } // } loSbReq = createobject("CkStringBuilder") loJsonReq.EmitSb(loSbReq) loRest.AddHeader("Content-Type","application/json") loSbJson = createobject("CkStringBuilder") llSuccess = loRest.FullRequestSb("POST","/admin/products.json ",loSbReq,loSbJson) if (llSuccess <> .T.) then ? loRest.LastErrorText release loRest release loJsonReq release loSbReq release loSbJson return endif if (loRest.ResponseStatusCode <> 201) then ? "Received error response code: " + str(loRest.ResponseStatusCode) ? "Response body:" ? loSbJson.GetAsString() release loRest release loJsonReq release loSbReq release loSbJson return endif loJson = createobject("CkJsonObject") loJson.LoadSb(loSbJson) // The following code parses the JSON response. // A sample JSON response is shown below the sample code. lnProductId = loJson.IntOf("product.id") lcProductTitle = loJson.StringOf("product.title") lcProductBody_html = loJson.StringOf("product.body_html") lcProductVendor = loJson.StringOf("product.vendor") lcProductProduct_type = loJson.StringOf("product.product_type") lcProductCreated_at = loJson.StringOf("product.created_at") lcProductHandle = loJson.StringOf("product.handle") lcProductUpdated_at = loJson.StringOf("product.updated_at") lcProductPublished_at = loJson.StringOf("product.published_at") llProductTemplate_suffix = loJson.IsNullOf("product.template_suffix") lcProductPublished_scope = loJson.StringOf("product.published_scope") lcProductTags = loJson.StringOf("product.tags") llProductImage = loJson.IsNullOf("product.image") i = 0 lnCount_i = loJson.SizeOfArray("product.variants") do while i < lnCount_i loJson.I = i lnId = loJson.IntOf("product.variants[i].id") lnProduct_id = loJson.IntOf("product.variants[i].product_id") lcTitle = loJson.StringOf("product.variants[i].title") lcPrice = loJson.StringOf("product.variants[i].price") lcSku = loJson.StringOf("product.variants[i].sku") lnPosition = loJson.IntOf("product.variants[i].position") lnGrams = loJson.IntOf("product.variants[i].grams") lcInventory_policy = loJson.StringOf("product.variants[i].inventory_policy") llCompare_at_price = loJson.IsNullOf("product.variants[i].compare_at_price") lcFulfillment_service = loJson.StringOf("product.variants[i].fulfillment_service") llInventory_management = loJson.IsNullOf("product.variants[i].inventory_management") lcOption1 = loJson.StringOf("product.variants[i].option1") llOption2 = loJson.IsNullOf("product.variants[i].option2") llOption3 = loJson.IsNullOf("product.variants[i].option3") lcCreated_at = loJson.StringOf("product.variants[i].created_at") lcUpdated_at = loJson.StringOf("product.variants[i].updated_at") llTaxable = loJson.BoolOf("product.variants[i].taxable") llBarcode = loJson.IsNullOf("product.variants[i].barcode") llImage_id = loJson.IsNullOf("product.variants[i].image_id") lnInventory_quantity = loJson.IntOf("product.variants[i].inventory_quantity") lnWeight = loJson.IntOf("product.variants[i].weight") lcWeight_unit = loJson.StringOf("product.variants[i].weight_unit") lnOld_inventory_quantity = loJson.IntOf("product.variants[i].old_inventory_quantity") llRequires_shipping = loJson.BoolOf("product.variants[i].requires_shipping") i = i + 1 enddo i = 0 lnCount_i = loJson.SizeOfArray("product.options") do while i < lnCount_i loJson.I = i lnId = loJson.IntOf("product.options[i].id") lnProduct_id = loJson.IntOf("product.options[i].product_id") lcName = loJson.StringOf("product.options[i].name") lnPosition = loJson.IntOf("product.options[i].position") j = 0 lnCount_j = loJson.SizeOfArray("product.options[i].values") do while j < lnCount_j loJson.J = j lcStrVal = loJson.StringOf("product.options[i].values[j]") j = j + 1 enddo i = i + 1 enddo i = 0 lnCount_i = loJson.SizeOfArray("product.images") do while i < lnCount_i loJson.I = i i = i + 1 enddo // 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 // } // } ? "Example Completed." release loRest release loJsonReq release loSbReq release loSbJson release loJson |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.