Sample code for 30+ languages & platforms
Classic ASP

Shopify List Products

See more Shopify Examples

Receive a list of all Products

Chilkat Classic ASP Downloads

Classic ASP
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<%
success = 0

set rest = Server.CreateObject("Chilkat.Rest")

success = rest.SetAuthBasic("SHOPIFY_API_KEY","SHOPIFY_API_SECRET_KEY")

success = rest.Connect("chilkat.myshopify.com",443,1,1)
If (success <> 1) Then
    Response.Write "<pre>" & Server.HTMLEncode( rest.LastErrorText) & "</pre>"
    Response.End
End If

set sbJson = Server.CreateObject("Chilkat.StringBuilder")
success = rest.FullRequestNoBodySb("GET","/admin/products.json",sbJson)
If (success <> 1) Then
    Response.Write "<pre>" & Server.HTMLEncode( rest.LastErrorText) & "</pre>"
    Response.End
End If

If (rest.ResponseStatusCode <> 200) Then
    Response.Write "<pre>" & Server.HTMLEncode( "Received error response code: " & rest.ResponseStatusCode) & "</pre>"
    Response.Write "<pre>" & Server.HTMLEncode( "Response body:") & "</pre>"
    Response.Write "<pre>" & Server.HTMLEncode( sbJson.GetAsString()) & "</pre>"
    Response.End
End If

set json = Server.CreateObject("Chilkat.JsonObject")
success = json.LoadSb(sbJson)

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

i = 0
count_i = json.SizeOfArray("products")
Do 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")
    Do 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
    Loop
    j = 0
    count_j = json.SizeOfArray("products[i].options")
    Do 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")
        Do While k < count_k
            json.K = k
            strVal = json.StringOf("products[i].options[j].values[k]")
            k = k + 1
        Loop
        j = j + 1
    Loop
    j = 0
    count_j = json.SizeOfArray("products[i].images")
    Do 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")
        Do While k < count_k
            json.K = k
            intVal = json.IntOf("products[i].images[j].variant_ids[k]")
            k = k + 1
        Loop
        j = j + 1
    Loop
    j = 0
    count_j = json.SizeOfArray("products[i].image.variant_ids")
    Do While j < count_j
        json.J = j
        j = j + 1
    Loop
    i = i + 1
Loop

' 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
'     }
'   ]
' }

Response.Write "<pre>" & Server.HTMLEncode( "Example Completed.") & "</pre>"

%>
</body>
</html>