Chilkat Examples

ChilkatHOMEAndroid™Classic ASPCC++C#Mono C#.NET Core C#C# UWP/WinRTDataFlexDelphi ActiveXDelphi DLLVisual FoxProJavaLianjaMFCObjective-CPerlPHP ActiveXPHP ExtensionPowerBuilderPowerShellPureBasicCkPythonChilkat2-PythonRubySQL ServerSwift 2Swift 3/4TclUnicode CUnicode C++Visual Basic 6.0VB.NETVB.NET UWP/WinRTVBScriptXojo PluginNode.jsExcelGo

Ruby Web API Examples

Primary Categories

CardConnect
Facebook
GeoOp
Jira
PayPal
Peoplevox
QuickBooks

Shopify
Stripe
SugarCRM
Twitter
VoiceBase
Walmart
Xero
eBay
effectconnect

 

 

 

(Ruby) Shopify List Products

Receive a list of all Products

Chilkat Ruby Downloads

Ruby Library for Linux and MAC OS X

require 'chilkat'

rest = Chilkat::CkRest.new()

rest.SetAuthBasic("SHOPIFY_PRIVATE_API_KEY","SHOPIFY_PRIVATE_API_SECRET_KEY")

success = rest.Connect("chilkat.myshopify.com",443,true,true)
if (success != true)
    print rest.lastErrorText() + "\n";
    exit
end

sbJson = Chilkat::CkStringBuilder.new()
success = rest.FullRequestNoBodySb("GET","/admin/products.json",sbJson)
if (success != true)
    print rest.lastErrorText() + "\n";
    exit
end

if (rest.get_ResponseStatusCode() != 200)
    print "Received error response code: " + rest.get_ResponseStatusCode().to_s() + "\n";
    print "Response body:" + "\n";
    print sbJson.getAsString() + "\n";
    exit
end

json = Chilkat::CkJsonObject.new()
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")
while i < count_i
    json.put_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")
    while j < count_j
        json.put_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
    end
    j = 0
    count_j = json.SizeOfArray("products[i].options")
    while j < count_j
        json.put_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")
        while k < count_k
            json.put_K(k)
            strVal = json.stringOf("products[i].options[j].values[k]")
            k = k + 1
        end
        j = j + 1
    end
    j = 0
    count_j = json.SizeOfArray("products[i].images")
    while j < count_j
        json.put_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")
        while k < count_k
            json.put_K(k)
            intVal = json.IntOf("products[i].images[j].variant_ids[k]")
            k = k + 1
        end
        j = j + 1
    end
    j = 0
    count_j = json.SizeOfArray("products[i].image.variant_ids")
    while j < count_j
        json.put_J(j)
        j = j + 1
    end
    i = i + 1
end

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

print "Example Completed." + "\n";

 

© 2000-2019 Chilkat Software, Inc. All Rights Reserved.