Sample code for 30+ languages & platforms
Lianja

Shopify Get all products that belong to a certain collection

See more Shopify Examples

Get all products that belong to a certain collection

Chilkat Lianja Downloads

Lianja
llSuccess = .F.

loRest = createobject("CkRest")

loRest.SetAuthBasic("SHOPIFY_PRIVATE_API_KEY","SHOPIFY_PRIVATE_API_KEY")

llSuccess = loRest.Connect("chilkat.myshopify.com",443,.T.,.T.)
if (llSuccess <> .T.) then
    ? loRest.LastErrorText
    release loRest
    return
endif

loSbJson = createobject("CkStringBuilder")
llSuccess = loRest.FullRequestNoBodySb("GET","/admin/products.json?collection_id=841564295",loSbJson)
if (llSuccess <> .T.) then
    ? loRest.LastErrorText
    release loRest
    release loSbJson
    return
endif

if (loRest.ResponseStatusCode <> 200) then
    ? "Received error response code: " + str(loRest.ResponseStatusCode)
    ? "Response body:"
    ? loSbJson.GetAsString()
    release loRest
    release loSbJson
    return
endif

loJson = createobject("CkJsonObject")
loJson.LoadSb(loSbJson)

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

i = 0
lnCount_i = loJson.SizeOfArray("products")
do while i < lnCount_i
    loJson.I = i
    lnId = loJson.IntOf("products[i].id")
    lcTitle = loJson.StringOf("products[i].title")
    lcBody_html = loJson.StringOf("products[i].body_html")
    lcVendor = loJson.StringOf("products[i].vendor")
    lcProduct_type = loJson.StringOf("products[i].product_type")
    lcCreated_at = loJson.StringOf("products[i].created_at")
    lcHandle = loJson.StringOf("products[i].handle")
    lcUpdated_at = loJson.StringOf("products[i].updated_at")
    lcPublished_at = loJson.StringOf("products[i].published_at")
    llTemplate_suffix = loJson.IsNullOf("products[i].template_suffix")
    lcPublished_scope = loJson.StringOf("products[i].published_scope")
    lcTags = loJson.StringOf("products[i].tags")
    lnImageId = loJson.IntOf("products[i].image.id")
    lnImageProduct_id = loJson.IntOf("products[i].image.product_id")
    lnImagePosition = loJson.IntOf("products[i].image.position")
    lcImageCreated_at = loJson.StringOf("products[i].image.created_at")
    lcImageUpdated_at = loJson.StringOf("products[i].image.updated_at")
    lnImageWidth = loJson.IntOf("products[i].image.width")
    lnImageHeight = loJson.IntOf("products[i].image.height")
    lcImageSrc = loJson.StringOf("products[i].image.src")
    j = 0
    lnCount_j = loJson.SizeOfArray("products[i].variants")
    do while j < lnCount_j
        loJson.J = j
        lnId = loJson.IntOf("products[i].variants[j].id")
        lnProduct_id = loJson.IntOf("products[i].variants[j].product_id")
        lcTitle = loJson.StringOf("products[i].variants[j].title")
        lcPrice = loJson.StringOf("products[i].variants[j].price")
        lcSku = loJson.StringOf("products[i].variants[j].sku")
        lnPosition = loJson.IntOf("products[i].variants[j].position")
        lnGrams = loJson.IntOf("products[i].variants[j].grams")
        lcInventory_policy = loJson.StringOf("products[i].variants[j].inventory_policy")
        llCompare_at_price = loJson.IsNullOf("products[i].variants[j].compare_at_price")
        lcFulfillment_service = loJson.StringOf("products[i].variants[j].fulfillment_service")
        lcInventory_management = loJson.StringOf("products[i].variants[j].inventory_management")
        lcOption1 = loJson.StringOf("products[i].variants[j].option1")
        llOption2 = loJson.IsNullOf("products[i].variants[j].option2")
        llOption3 = loJson.IsNullOf("products[i].variants[j].option3")
        lcCreated_at = loJson.StringOf("products[i].variants[j].created_at")
        lcUpdated_at = loJson.StringOf("products[i].variants[j].updated_at")
        llTaxable = loJson.BoolOf("products[i].variants[j].taxable")
        lcBarcode = loJson.StringOf("products[i].variants[j].barcode")
        lnImage_id = loJson.IntOf("products[i].variants[j].image_id")
        lnInventory_quantity = loJson.IntOf("products[i].variants[j].inventory_quantity")
        lnWeight = loJson.IntOf("products[i].variants[j].weight")
        lcWeight_unit = loJson.StringOf("products[i].variants[j].weight_unit")
        lnOld_inventory_quantity = loJson.IntOf("products[i].variants[j].old_inventory_quantity")
        llRequires_shipping = loJson.BoolOf("products[i].variants[j].requires_shipping")
        j = j + 1
    enddo
    j = 0
    lnCount_j = loJson.SizeOfArray("products[i].options")
    do while j < lnCount_j
        loJson.J = j
        lnId = loJson.IntOf("products[i].options[j].id")
        lnProduct_id = loJson.IntOf("products[i].options[j].product_id")
        lcName = loJson.StringOf("products[i].options[j].name")
        lnPosition = loJson.IntOf("products[i].options[j].position")
        k = 0
        lnCount_k = loJson.SizeOfArray("products[i].options[j].values")
        do while k < lnCount_k
            loJson.K = k
            lcStrVal = loJson.StringOf("products[i].options[j].values[k]")
            k = k + 1
        enddo
        j = j + 1
    enddo
    j = 0
    lnCount_j = loJson.SizeOfArray("products[i].images")
    do while j < lnCount_j
        loJson.J = j
        lnId = loJson.IntOf("products[i].images[j].id")
        lnProduct_id = loJson.IntOf("products[i].images[j].product_id")
        lnPosition = loJson.IntOf("products[i].images[j].position")
        lcCreated_at = loJson.StringOf("products[i].images[j].created_at")
        lcUpdated_at = loJson.StringOf("products[i].images[j].updated_at")
        lnWidth = loJson.IntOf("products[i].images[j].width")
        lnHeight = loJson.IntOf("products[i].images[j].height")
        lcSrc = loJson.StringOf("products[i].images[j].src")
        k = 0
        lnCount_k = loJson.SizeOfArray("products[i].images[j].variant_ids")
        do while k < lnCount_k
            loJson.K = k
            lnIntVal = loJson.IntOf("products[i].images[j].variant_ids[k]")
            k = k + 1
        enddo
        j = j + 1
    enddo
    j = 0
    lnCount_j = loJson.SizeOfArray("products[i].image.variant_ids")
    do while j < lnCount_j
        loJson.J = j
        j = j + 1
    enddo
    i = i + 1
enddo

// 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": [
//         ]
//       }
//     }
//   ]
// }

? "Example Completed."


release loRest
release loSbJson
release loJson