Sample code for 30+ languages & platforms
Tcl

Shopify Query a variant for its inventory item ID

See more Shopify Examples

Query a product variant to find the ID of its inventory item.

Chilkat Tcl Downloads

Tcl

load ./chilkat.dll

set success 0

# This example requires the Chilkat API to have been previously unlocked.
# See Global Unlock Sample for sample code.

set http [new_CkHttp]

CkHttp_put_Login $http "SHOPIFY_PRIVATE_API_KEY"
CkHttp_put_Password $http "SHOPIFY_PRIVATE_API_KEY"

CkHttp_put_Accept $http "application/json"

set resp [new_CkHttpResponse]

set success [CkHttp_HttpNoBody $http "GET" "https://{shop}.myshopify.com/admin/api/2020-04/products/{product_id}/variants/{variant_id}.json" $resp]
if {$success == 0} then {
    puts [CkHttp_lastErrorText $http]
    delete_CkHttp $http
    delete_CkHttpResponse $resp
    exit
}

puts "Response Status Code: [CkHttpResponse_get_StatusCode $resp]"

set jsonResponse [new_CkJsonObject]

CkJsonObject_Load $jsonResponse [CkHttpResponse_bodyStr $resp]
CkJsonObject_put_EmitCompact $jsonResponse 0
puts [CkJsonObject_emit $jsonResponse]

if {[CkHttpResponse_get_StatusCode $resp] != 200} then {
    puts "Failed."
    delete_CkHttp $http
    delete_CkHttpResponse $resp
    delete_CkJsonObject $jsonResponse
    exit
}

# Sample output...
# (See the parsing code below..)
# 
# Use the this online tool to generate parsing code from sample JSON: 
# Generate Parsing Code from JSON

# {
#   "id": 12195009364024,
#   "product_id": 1321541042232,
#   "title": "xs",
# ...
#   "inventory_item_id": 12250274365496,
# ...
#   "admin_graphql_api_id": "gid://shopify/ProductVariant/12195009364024"
# }
# 

set id [CkJsonObject_IntOf $jsonResponse "id"]
set product_id [CkJsonObject_IntOf $jsonResponse "product_id"]
set title [CkJsonObject_stringOf $jsonResponse "title"]
set inventory_item_id [CkJsonObject_IntOf $jsonResponse "inventory_item_id"]
set admin_graphql_api_id [CkJsonObject_stringOf $jsonResponse "admin_graphql_api_id"]

delete_CkHttp $http
delete_CkHttpResponse $resp
delete_CkJsonObject $jsonResponse