Xojo Plugin
Xojo Plugin
Shopify Get a list of specific products
See more Shopify Examples
Get a list of specific productsChilkat Xojo Plugin Downloads
Dim success As Boolean
success = False
Dim rest As New Chilkat.Rest
success = rest.SetAuthBasic("SHOPIFY_PRIVATE_API_KEY","SHOPIFY_PRIVATE_API_KEY")
success = rest.Connect("chilkat.myshopify.com",443,True,True)
If (success <> True) Then
System.DebugLog(rest.LastErrorText)
Return
End If
Dim sbJson As New Chilkat.StringBuilder
success = rest.FullRequestNoBodySb("GET","/admin/products.json?ids=632910392,921728736",sbJson)
If (success <> True) Then
System.DebugLog(rest.LastErrorText)
Return
End If
If (rest.ResponseStatusCode <> 200) Then
System.DebugLog("Received error response code: " + Str(rest.ResponseStatusCode))
System.DebugLog("Response body:")
System.DebugLog(sbJson.GetAsString())
Return
End If
Dim json As New Chilkat.JsonObject
success = json.LoadSb(sbJson)
// The following code parses the JSON response.
// A sample JSON response is shown below the sample code.
Dim i As Int32
Dim count_i As Int32
Dim id As Int32
Dim title As String
Dim body_html As String
Dim vendor As String
Dim product_type As String
Dim created_at As String
Dim handle As String
Dim updated_at As String
Dim published_at As String
Dim template_suffix As Boolean
Dim published_scope As String
Dim tags As String
Dim imageId As Int32
Dim imageProduct_id As Int32
Dim imagePosition As Int32
Dim imageCreated_at As String
Dim imageUpdated_at As String
Dim imageWidth As Int32
Dim imageHeight As Int32
Dim imageSrc As String
Dim image As Boolean
Dim j As Int32
Dim count_j As Int32
Dim product_id As Int32
Dim price As String
Dim sku As String
Dim position As Int32
Dim grams As Int32
Dim inventory_policy As String
Dim compare_at_price As Boolean
Dim fulfillment_service As String
Dim inventory_management As String
Dim option1 As String
Dim option2 As Boolean
Dim option3 As Boolean
Dim taxable As Boolean
Dim barcode As String
Dim image_id As Int32
Dim inventory_quantity As Int32
Dim weight As Int32
Dim weight_unit As String
Dim old_inventory_quantity As Int32
Dim requires_shipping As Boolean
Dim name As String
Dim k As Int32
Dim count_k As Int32
Dim strVal As String
Dim width As Int32
Dim height As Int32
Dim src As String
Dim intVal As Int32
i = 0
count_i = json.SizeOfArray("products")
While i < count_i
json.I = i
id = json.IntOf("products[i].id")
title = json.StringOf("products[i].title")
body_html = json.StringOf("products[i].body_html")
vendor = json.StringOf("products[i].vendor")
product_type = json.StringOf("products[i].product_type")
created_at = json.StringOf("products[i].created_at")
handle = json.StringOf("products[i].handle")
updated_at = json.StringOf("products[i].updated_at")
published_at = json.StringOf("products[i].published_at")
template_suffix = json.IsNullOf("products[i].template_suffix")
published_scope = json.StringOf("products[i].published_scope")
tags = json.StringOf("products[i].tags")
imageId = json.IntOf("products[i].image.id")
imageProduct_id = json.IntOf("products[i].image.product_id")
imagePosition = json.IntOf("products[i].image.position")
imageCreated_at = json.StringOf("products[i].image.created_at")
imageUpdated_at = json.StringOf("products[i].image.updated_at")
imageWidth = json.IntOf("products[i].image.width")
imageHeight = json.IntOf("products[i].image.height")
imageSrc = json.StringOf("products[i].image.src")
image = json.IsNullOf("products[i].image")
j = 0
count_j = json.SizeOfArray("products[i].variants")
While j < count_j
json.J = j
id = json.IntOf("products[i].variants[j].id")
product_id = json.IntOf("products[i].variants[j].product_id")
title = json.StringOf("products[i].variants[j].title")
price = json.StringOf("products[i].variants[j].price")
sku = json.StringOf("products[i].variants[j].sku")
position = json.IntOf("products[i].variants[j].position")
grams = json.IntOf("products[i].variants[j].grams")
inventory_policy = json.StringOf("products[i].variants[j].inventory_policy")
compare_at_price = json.IsNullOf("products[i].variants[j].compare_at_price")
fulfillment_service = json.StringOf("products[i].variants[j].fulfillment_service")
inventory_management = json.StringOf("products[i].variants[j].inventory_management")
option1 = json.StringOf("products[i].variants[j].option1")
option2 = json.IsNullOf("products[i].variants[j].option2")
option3 = json.IsNullOf("products[i].variants[j].option3")
created_at = json.StringOf("products[i].variants[j].created_at")
updated_at = json.StringOf("products[i].variants[j].updated_at")
taxable = json.BoolOf("products[i].variants[j].taxable")
barcode = json.StringOf("products[i].variants[j].barcode")
image_id = json.IntOf("products[i].variants[j].image_id")
inventory_quantity = json.IntOf("products[i].variants[j].inventory_quantity")
weight = json.IntOf("products[i].variants[j].weight")
weight_unit = json.StringOf("products[i].variants[j].weight_unit")
old_inventory_quantity = json.IntOf("products[i].variants[j].old_inventory_quantity")
requires_shipping = json.BoolOf("products[i].variants[j].requires_shipping")
j = j + 1
Wend
j = 0
count_j = json.SizeOfArray("products[i].options")
While j < count_j
json.J = j
id = json.IntOf("products[i].options[j].id")
product_id = json.IntOf("products[i].options[j].product_id")
name = json.StringOf("products[i].options[j].name")
position = json.IntOf("products[i].options[j].position")
k = 0
count_k = json.SizeOfArray("products[i].options[j].values")
While k < count_k
json.K = k
strVal = json.StringOf("products[i].options[j].values[k]")
k = k + 1
Wend
j = j + 1
Wend
j = 0
count_j = json.SizeOfArray("products[i].images")
While j < count_j
json.J = j
id = json.IntOf("products[i].images[j].id")
product_id = json.IntOf("products[i].images[j].product_id")
position = json.IntOf("products[i].images[j].position")
created_at = json.StringOf("products[i].images[j].created_at")
updated_at = json.StringOf("products[i].images[j].updated_at")
width = json.IntOf("products[i].images[j].width")
height = json.IntOf("products[i].images[j].height")
src = json.StringOf("products[i].images[j].src")
k = 0
count_k = json.SizeOfArray("products[i].images[j].variant_ids")
While k < count_k
json.K = k
intVal = json.IntOf("products[i].images[j].variant_ids[k]")
k = k + 1
Wend
j = j + 1
Wend
j = 0
count_j = json.SizeOfArray("products[i].image.variant_ids")
While j < count_j
json.J = j
j = j + 1
Wend
i = i + 1
Wend
// A sample JSON response body that is parsed by the above code:
// {
// "products": [
// {
// "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:08:02-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:08:02-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": [
// ]
// }
// },
// {
// "id": 921728736,
// "title": "IPod Touch 8GB",
// "body_html": "<p>The iPod Touch has the iPhone's multi-touch interface, with a physical home button off the touch screen. The home screen has a list of buttons for the available applications.<\/p>",
// "vendor": "Apple",
// "product_type": "Cult Products",
// "created_at": "2017-09-22T14:08:02-04:00",
// "handle": "ipod-touch",
// "updated_at": "2017-09-22T14:08:02-04:00",
// "published_at": "2008-09-25T20:00:00-04:00",
// "template_suffix": null,
// "published_scope": "global",
// "tags": "",
// "variants": [
// {
// "id": 447654529,
// "product_id": 921728736,
// "title": "Black",
// "price": "199.00",
// "sku": "IPOD2009BLACK",
// "position": 1,
// "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": 13,
// "weight": 1.25,
// "weight_unit": "lb",
// "old_inventory_quantity": 13,
// "requires_shipping": true
// }
// ],
// "options": [
// {
// "id": 891236591,
// "product_id": 921728736,
// "name": "Title",
// "position": 1,
// "values": [
// "Black"
// ]
// }
// ],
// "images": [
// ],
// "image": null
// }
// ]
// }
System.DebugLog("Example Completed.")