Lua
Lua
Shopify Get a list of specific products
See more Shopify Examples
Get a list of specific productsChilkat Lua Downloads
local chilkat = require("chilkat")
local rest = chilkat.Rest.new()
rest:set_auth_basic("SHOPIFY_PRIVATE_API_KEY", "SHOPIFY_PRIVATE_API_KEY")
local success = rest:connect("chilkat.myshopify.com", 443, true, true)
if not success then
print(rest.last_error_text)
return
end
local sbJson = chilkat.StringBuilder.new()
success = rest:full_request_no_body_sb("GET", "/admin/products.json?ids=632910392,921728736", sbJson)
if not success then
print(rest.last_error_text)
return
end
if rest.response_status_code ~= 200 then
print("Received error response code: " .. rest.response_status_code)
print("Response body:")
print(sbJson:get_as_string())
return
end
local json = chilkat.JsonObject.new()
json:load_sb(sbJson)
-- The following code parses the JSON response.
-- A sample JSON response is shown below the sample code.
local id = 0
local title = ""
local body_html = ""
local vendor = ""
local product_type = ""
local created_at = ""
local handle = ""
local updated_at = ""
local published_at = ""
local template_suffix = false
local published_scope = ""
local tags = ""
local imageId = 0
local imageProduct_id = 0
local imagePosition = 0
local imageCreated_at = ""
local imageUpdated_at = ""
local imageWidth = 0
local imageHeight = 0
local imageSrc = ""
local image = false
local j = 0
local count_j = 0
local product_id = 0
local price = ""
local sku = ""
local position = 0
local grams = 0
local inventory_policy = ""
local compare_at_price = false
local fulfillment_service = ""
local inventory_management = ""
local option1 = ""
local option2 = false
local option3 = false
local taxable = false
local barcode = ""
local image_id = 0
local inventory_quantity = 0
local weight = 0
local weight_unit = ""
local old_inventory_quantity = 0
local requires_shipping = false
local name = ""
local k = 0
local count_k = 0
local strVal = ""
local width = 0
local height = 0
local src = ""
local intVal = 0
local i = 0
local count_i = json:size_of_array("products")
while i < count_i do
json.i = i
id = json:int_of("products[i].id")
title = json:string_of("products[i].title")
body_html = json:string_of("products[i].body_html")
vendor = json:string_of("products[i].vendor")
product_type = json:string_of("products[i].product_type")
created_at = json:string_of("products[i].created_at")
handle = json:string_of("products[i].handle")
updated_at = json:string_of("products[i].updated_at")
published_at = json:string_of("products[i].published_at")
template_suffix = json:is_null_of("products[i].template_suffix")
published_scope = json:string_of("products[i].published_scope")
tags = json:string_of("products[i].tags")
imageId = json:int_of("products[i].image.id")
imageProduct_id = json:int_of("products[i].image.product_id")
imagePosition = json:int_of("products[i].image.position")
imageCreated_at = json:string_of("products[i].image.created_at")
imageUpdated_at = json:string_of("products[i].image.updated_at")
imageWidth = json:int_of("products[i].image.width")
imageHeight = json:int_of("products[i].image.height")
imageSrc = json:string_of("products[i].image.src")
image = json:is_null_of("products[i].image")
j = 0
count_j = json:size_of_array("products[i].variants")
while j < count_j do
json.j = j
id = json:int_of("products[i].variants[j].id")
product_id = json:int_of("products[i].variants[j].product_id")
title = json:string_of("products[i].variants[j].title")
price = json:string_of("products[i].variants[j].price")
sku = json:string_of("products[i].variants[j].sku")
position = json:int_of("products[i].variants[j].position")
grams = json:int_of("products[i].variants[j].grams")
inventory_policy = json:string_of("products[i].variants[j].inventory_policy")
compare_at_price = json:is_null_of("products[i].variants[j].compare_at_price")
fulfillment_service = json:string_of("products[i].variants[j].fulfillment_service")
inventory_management = json:string_of("products[i].variants[j].inventory_management")
option1 = json:string_of("products[i].variants[j].option1")
option2 = json:is_null_of("products[i].variants[j].option2")
option3 = json:is_null_of("products[i].variants[j].option3")
created_at = json:string_of("products[i].variants[j].created_at")
updated_at = json:string_of("products[i].variants[j].updated_at")
taxable = json:bool_of("products[i].variants[j].taxable")
barcode = json:string_of("products[i].variants[j].barcode")
image_id = json:int_of("products[i].variants[j].image_id")
inventory_quantity = json:int_of("products[i].variants[j].inventory_quantity")
weight = json:int_of("products[i].variants[j].weight")
weight_unit = json:string_of("products[i].variants[j].weight_unit")
old_inventory_quantity = json:int_of("products[i].variants[j].old_inventory_quantity")
requires_shipping = json:bool_of("products[i].variants[j].requires_shipping")
j = j + 1
end
j = 0
count_j = json:size_of_array("products[i].options")
while j < count_j do
json.j = j
id = json:int_of("products[i].options[j].id")
product_id = json:int_of("products[i].options[j].product_id")
name = json:string_of("products[i].options[j].name")
position = json:int_of("products[i].options[j].position")
k = 0
count_k = json:size_of_array("products[i].options[j].values")
while k < count_k do
json.k = k
strVal = json:string_of("products[i].options[j].values[k]")
k = k + 1
end
j = j + 1
end
j = 0
count_j = json:size_of_array("products[i].images")
while j < count_j do
json.j = j
id = json:int_of("products[i].images[j].id")
product_id = json:int_of("products[i].images[j].product_id")
position = json:int_of("products[i].images[j].position")
created_at = json:string_of("products[i].images[j].created_at")
updated_at = json:string_of("products[i].images[j].updated_at")
width = json:int_of("products[i].images[j].width")
height = json:int_of("products[i].images[j].height")
src = json:string_of("products[i].images[j].src")
k = 0
count_k = json:size_of_array("products[i].images[j].variant_ids")
while k < count_k do
json.k = k
intVal = json:int_of("products[i].images[j].variant_ids[k]")
k = k + 1
end
j = j + 1
end
j = 0
count_j = json:size_of_array("products[i].image.variant_ids")
while j < count_j do
json.j = j
j = j + 1
end
i = i + 1
end
-- 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
-- }
-- ]
-- }
print("Example Completed.")