Sample code for 30+ languages & platforms
Tcl

Shopify Get all products, showing only some attributes

See more Shopify Examples

Get all products, showing only some attributes

Chilkat Tcl Downloads

Tcl

load ./chilkat.dll

set success 0

set rest [new_CkRest]

CkRest_SetAuthBasic $rest "SHOPIFY_PRIVATE_API_KEY" "SHOPIFY_PRIVATE_API_KEY"

set success [CkRest_Connect $rest "chilkat.myshopify.com" 443 1 1]
if {$success != 1} then {
    puts [CkRest_lastErrorText $rest]
    delete_CkRest $rest
    exit
}

set sbJson [new_CkStringBuilder]

set success [CkRest_FullRequestNoBodySb $rest "GET" "/admin/products.json?fields=id,images,title" $sbJson]
if {$success != 1} then {
    puts [CkRest_lastErrorText $rest]
    delete_CkRest $rest
    delete_CkStringBuilder $sbJson
    exit
}

if {[CkRest_get_ResponseStatusCode $rest] != 200} then {
    puts "Received error response code: [CkRest_get_ResponseStatusCode $rest]"
    puts "Response body:"
    puts [CkStringBuilder_getAsString $sbJson]
    delete_CkRest $rest
    delete_CkStringBuilder $sbJson
    exit
}

set json [new_CkJsonObject]

CkJsonObject_LoadSb $json $sbJson

# The following code parses the JSON response.
# A sample JSON response is shown below the sample code.

set i 0
set count_i [CkJsonObject_SizeOfArray $json "products"]
while {$i < $count_i} {
    CkJsonObject_put_I $json $i
    set id [CkJsonObject_IntOf $json "products[i].id"]
    set title [CkJsonObject_stringOf $json "products[i].title"]
    set j 0
    set count_j [CkJsonObject_SizeOfArray $json "products[i].images"]
    while {$j < $count_j} {
        CkJsonObject_put_J $json $j
        set id [CkJsonObject_IntOf $json "products[i].images[j].id"]
        set product_id [CkJsonObject_IntOf $json "products[i].images[j].product_id"]
        set position [CkJsonObject_IntOf $json "products[i].images[j].position"]
        set created_at [CkJsonObject_stringOf $json "products[i].images[j].created_at"]
        set updated_at [CkJsonObject_stringOf $json "products[i].images[j].updated_at"]
        set width [CkJsonObject_IntOf $json "products[i].images[j].width"]
        set height [CkJsonObject_IntOf $json "products[i].images[j].height"]
        set src [CkJsonObject_stringOf $json "products[i].images[j].src"]
        set k 0
        set count_k [CkJsonObject_SizeOfArray $json "products[i].images[j].variant_ids"]
        while {$k < $count_k} {
            CkJsonObject_put_K $json $k
            set intVal [CkJsonObject_IntOf $json "products[i].images[j].variant_ids[k]"]
            set k [expr $k + 1]
        }
        set j [expr $j + 1]
    }
    set i [expr $i + 1]
}

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

# {
#   "products": [
#     {
#       "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
#           ]
#         }
#       ]
#     },
#     {
#       "id": 921728736,
#       "title": "IPod Touch 8GB",
#       "images": [
#       ]
#     }
#   ]
# }

puts "Example Completed."

delete_CkRest $rest
delete_CkStringBuilder $sbJson
delete_CkJsonObject $json