Sample code for 30+ languages & platforms
Lua

Shopify Get particular fields of a single product

See more Shopify Examples

Get particular fields of a single product

Chilkat Lua Downloads

Lua
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/#{id}.json?fields=id,images,title", 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 product_id = 0
local position = 0
local created_at = ""
local updated_at = ""
local width = 0
local height = 0
local src = ""
local j = 0
local count_j = 0
local intVal = 0

local productId = json:int_of("product.id")
local productTitle = json:string_of("product.title")
local i = 0
local count_i = json:size_of_array("product.images")
while i < count_i do
    json.i = i
    id = json:int_of("product.images[i].id")
    product_id = json:int_of("product.images[i].product_id")
    position = json:int_of("product.images[i].position")
    created_at = json:string_of("product.images[i].created_at")
    updated_at = json:string_of("product.images[i].updated_at")
    width = json:int_of("product.images[i].width")
    height = json:int_of("product.images[i].height")
    src = json:string_of("product.images[i].src")
    j = 0
    count_j = json:size_of_array("product.images[i].variant_ids")
    while j < count_j do
        json.j = j
        intVal = json:int_of("product.images[i].variant_ids[j]")
        j = j + 1
    end

    i = i + 1
end

-- A sample JSON response body that is parsed by the above code:

-- {
--   "product": {
--     "id": 632910392,
--     "title": "IPod Nano - 8GB",
--     "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
--         ]
--       }
--     ]
--   }
-- }

print("Example Completed.")