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
(Visual Basic 6.0) Shopify Add a metafield to an existing productAdd a metafield to an existing product
Dim rest As New ChilkatRest Dim success As Long success = rest.SetAuthBasic("SHOPIFY_PRIVATE_API_KEY","SHOPIFY_PRIVATE_API_KEY") success = rest.Connect("chilkat.myshopify.com",443,1,1) If (success <> 1) Then Debug.Print rest.LastErrorText Exit Sub End If ' The following code creates the JSON request body. ' The JSON created by this code is shown below. Dim jsonReq As New ChilkatJsonObject success = jsonReq.UpdateNumber("product.id","632910392") success = jsonReq.UpdateString("product.metafields[0].key","new") success = jsonReq.UpdateString("product.metafields[0].value","newvalue") success = jsonReq.UpdateString("product.metafields[0].value_type","string") success = jsonReq.UpdateString("product.metafields[0].namespace","global") ' The JSON request body created by the above code: ' { ' "product": { ' "id": 632910392, ' "metafields": [ ' { ' "key": "new", ' "value": "newvalue", ' "value_type": "string", ' "namespace": "global" ' } ' ] ' } ' } Dim sbReq As New ChilkatStringBuilder success = jsonReq.EmitSb(sbReq) success = rest.AddHeader("Content-Type","application/json") Dim sbJson As New ChilkatStringBuilder success = rest.FullRequestSb("PUT","/admin/products/#{id}.json",sbReq,sbJson) If (success <> 1) Then Debug.Print rest.LastErrorText Exit Sub End If If (rest.ResponseStatusCode <> 200) Then Debug.Print "Received error response code: " & rest.ResponseStatusCode Debug.Print "Response body:" Debug.Print sbJson.GetAsString() Exit Sub End If Dim json As New ChilkatJsonObject success = json.LoadSb(sbJson) ' The following code parses the JSON response. ' A sample JSON response is shown below the sample code. Dim productId As Long Dim productTitle As String Dim productBody_html As String Dim productVendor As String Dim productProduct_type As String Dim productCreated_at As String Dim productHandle As String Dim productUpdated_at As String Dim productPublished_at As String Dim productTemplate_suffix As Long Dim productPublished_scope As String Dim productTags As String Dim productImageId As Long Dim productImageProduct_id As Long Dim productImagePosition As Long Dim productImageCreated_at As String Dim productImageUpdated_at As String Dim productImageWidth As Long Dim productImageHeight As Long Dim productImageSrc As String Dim i As Long Dim count_i As Long Dim id As Long Dim product_id As Long Dim title As String Dim price As String Dim sku As String Dim position As Long Dim grams As Long Dim inventory_policy As String Dim compare_at_price As Long Dim fulfillment_service As String Dim inventory_management As String Dim option1 As String Dim option2 As Long Dim option3 As Long Dim created_at As String Dim updated_at As String Dim taxable As Long Dim barcode As String Dim image_id As Long Dim inventory_quantity As Long Dim weight As Long Dim weight_unit As String Dim old_inventory_quantity As Long Dim requires_shipping As Long Dim name As String Dim j As Long Dim count_j As Long Dim strVal As String Dim width As Long Dim height As Long Dim src As String Dim intVal As Long 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") productImageId = json.IntOf("product.image.id") productImageProduct_id = json.IntOf("product.image.product_id") productImagePosition = json.IntOf("product.image.position") productImageCreated_at = json.StringOf("product.image.created_at") productImageUpdated_at = json.StringOf("product.image.updated_at") productImageWidth = json.IntOf("product.image.width") productImageHeight = json.IntOf("product.image.height") productImageSrc = json.StringOf("product.image.src") i = 0 count_i = json.SizeOfArray("product.variants") Do 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.StringOf("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.StringOf("product.variants[i].barcode") image_id = json.IntOf("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 Loop i = 0 count_i = json.SizeOfArray("product.options") Do 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") Do While j < count_j json.J = j strVal = json.StringOf("product.options[i].values[j]") j = j + 1 Loop i = i + 1 Loop i = 0 count_i = json.SizeOfArray("product.images") Do While i < count_i json.I = i id = json.IntOf("product.images[i].id") product_id = json.IntOf("product.images[i].product_id") position = json.IntOf("product.images[i].position") created_at = json.StringOf("product.images[i].created_at") updated_at = json.StringOf("product.images[i].updated_at") width = json.IntOf("product.images[i].width") height = json.IntOf("product.images[i].height") src = json.StringOf("product.images[i].src") j = 0 count_j = json.SizeOfArray("product.images[i].variant_ids") Do While j < count_j json.J = j intVal = json.IntOf("product.images[i].variant_ids[j]") j = j + 1 Loop i = i + 1 Loop i = 0 count_i = json.SizeOfArray("image.product.variant_ids") Do While i < count_i json.I = i i = i + 1 Loop ' A sample JSON response body that is parsed by the above code: ' { ' "product": { ' "id": 632910392, ' "title": "IPod Nano - 8GB", ' "body_html": "<p>It's the small iPod with one very big idea: Video. Now the world's most popular music player, available in 4GB and 8GB models, lets you enjoy TV shows, movies, video podcasts, and more. The larger, brighter display means amazing picture quality. In six eye-catching colors, iPod nano is stunning all around. And with models starting at just $149, little speaks volumes.<\/p>", ' "vendor": "Apple", ' "product_type": "Cult Products", ' "created_at": "2017-09-22T14:08:02-04:00", ' "handle": "ipod-nano", ' "updated_at": "2017-09-22T14:48:57-04:00", ' "published_at": "2007-12-31T19:00:00-05:00", ' "template_suffix": null, ' "published_scope": "web", ' "tags": "Emotive, Flash Memory, MP3, Music", ' "variants": [ ' { ' "id": 808950810, ' "product_id": 632910392, ' "title": "Pink", ' "price": "199.00", ' "sku": "IPOD2008PINK", ' "position": 1, ' "grams": 567, ' "inventory_policy": "continue", ' "compare_at_price": null, ' "fulfillment_service": "manual", ' "inventory_management": "shopify", ' "option1": "Pink", ' "option2": null, ' "option3": null, ' "created_at": "2017-09-22T14:08:02-04:00", ' "updated_at": "2017-09-22T14:48:57-04:00", ' "taxable": true, ' "barcode": "1234_pink", ' "image_id": 562641783, ' "inventory_quantity": 10, ' "weight": 1.25, ' "weight_unit": "lb", ' "old_inventory_quantity": 10, ' "requires_shipping": true ' }, ' { ' "id": 49148385, ' "product_id": 632910392, ' "title": "Red", ' "price": "199.00", ' "sku": "IPOD2008RED", ' "position": 2, ' "grams": 567, ' "inventory_policy": "continue", ' "compare_at_price": null, ' "fulfillment_service": "manual", ' "inventory_management": "shopify", ' "option1": "Red", ' "option2": null, ' "option3": null, ' "created_at": "2017-09-22T14:08:02-04:00", ' "updated_at": "2017-09-22T14:08:02-04:00", ' "taxable": true, ' "barcode": "1234_red", ' "image_id": null, ' "inventory_quantity": 20, ' "weight": 1.25, ' "weight_unit": "lb", ' "old_inventory_quantity": 20, ' "requires_shipping": true ' }, ' { ' "id": 39072856, ' "product_id": 632910392, ' "title": "Green", ' "price": "199.00", ' "sku": "IPOD2008GREEN", ' "position": 3, ' "grams": 567, ' "inventory_policy": "continue", ' "compare_at_price": null, ' "fulfillment_service": "manual", ' "inventory_management": "shopify", ' "option1": "Green", ' "option2": null, ' "option3": null, ' "created_at": "2017-09-22T14:08:02-04:00", ' "updated_at": "2017-09-22T14:08:02-04:00", ' "taxable": true, ' "barcode": "1234_green", ' "image_id": null, ' "inventory_quantity": 30, ' "weight": 1.25, ' "weight_unit": "lb", ' "old_inventory_quantity": 30, ' "requires_shipping": true ' }, ' { ' "id": 457924702, ' "product_id": 632910392, ' "title": "Black", ' "price": "199.00", ' "sku": "IPOD2008BLACK", ' "position": 4, ' "grams": 567, ' "inventory_policy": "continue", ' "compare_at_price": null, ' "fulfillment_service": "manual", ' "inventory_management": "shopify", ' "option1": "Black", ' "option2": null, ' "option3": null, ' "created_at": "2017-09-22T14:08:02-04:00", ' "updated_at": "2017-09-22T14:08:02-04:00", ' "taxable": true, ' "barcode": "1234_black", ' "image_id": null, ' "inventory_quantity": 40, ' "weight": 1.25, ' "weight_unit": "lb", ' "old_inventory_quantity": 40, ' "requires_shipping": true ' } ' ], ' "options": [ ' { ' "id": 594680422, ' "product_id": 632910392, ' "name": "Color", ' "position": 1, ' "values": [ ' "Pink", ' "Red", ' "Green", ' "Black" ' ] ' } ' ], ' "images": [ ' { ' "id": 850703190, ' "product_id": 632910392, ' "position": 1, ' "created_at": "2017-09-22T14:08:02-04:00", ' "updated_at": "2017-09-22T14:08:02-04:00", ' "width": 123, ' "height": 456, ' "src": "https:\/\/cdn.shopify.com\/s\/files\/1\/0006\/9093\/3842\/products\/ipod-nano.png?v=1506103682", ' "variant_ids": [ ' ] ' }, ' { ' "id": 562641783, ' "product_id": 632910392, ' "position": 2, ' "created_at": "2017-09-22T14:08:02-04:00", ' "updated_at": "2017-09-22T14:08:02-04:00", ' "width": 123, ' "height": 456, ' "src": "https:\/\/cdn.shopify.com\/s\/files\/1\/0006\/9093\/3842\/products\/ipod-nano-2.png?v=1506103682", ' "variant_ids": [ ' 808950810 ' ] ' } ' ], ' "image": { ' "id": 850703190, ' "product_id": 632910392, ' "position": 1, ' "created_at": "2017-09-22T14:08:02-04:00", ' "updated_at": "2017-09-22T14:08:02-04:00", ' "width": 123, ' "height": 456, ' "src": "https:\/\/cdn.shopify.com\/s\/files\/1\/0006\/9093\/3842\/products\/ipod-nano.png?v=1506103682", ' "variant_ids": [ ' ] ' } ' } ' } Debug.Print "Example Completed." |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.