Sample code for 30+ languages & platforms
Swift

Shopify Get all products, showing only some attributes

See more Shopify Examples

Get all products, showing only some attributes

Chilkat Swift Downloads

Swift

func chilkatTest() {
    var success: Bool = false

    let rest = CkoRest()!

    rest.setAuthBasic(username: "SHOPIFY_PRIVATE_API_KEY", password: "SHOPIFY_PRIVATE_API_KEY")

    success = rest.connect(hostname: "chilkat.myshopify.com", port: 443, tls: true, autoReconnect: true)
    if success != true {
        print("\(rest.lastErrorText!)")
        return
    }

    let sbJson = CkoStringBuilder()!
    success = rest.fullRequestNoBodySb(httpVerb: "GET", uriPath: "/admin/products.json?fields=id,images,title", sb: sbJson)
    if success != true {
        print("\(rest.lastErrorText!)")
        return
    }

    if rest.responseStatusCode.intValue != 200 {
        print("Received error response code: \(rest.responseStatusCode.intValue)")
        print("Response body:")
        print("\(sbJson.getAsString()!)")
        return
    }

    let json = CkoJsonObject()!
    json.loadSb(sb: sbJson)

    // The following code parses the JSON response.
    // A sample JSON response is shown below the sample code.
    var i: Int
    var count_i: Int
    var id: Int
    var title: String?
    var j: Int
    var count_j: Int
    var product_id: Int
    var position: Int
    var created_at: String?
    var updated_at: String?
    var width: Int
    var height: Int
    var src: String?
    var k: Int
    var count_k: Int
    var intVal: Int

    i = 0
    count_i = json.size(ofArray: "products").intValue
    while i < count_i {
        json.i = i
        id = json.int(of: "products[i].id").intValue
        title = json.string(of: "products[i].title")
        j = 0
        count_j = json.size(ofArray: "products[i].images").intValue
        while j < count_j {
            json.j = j
            id = json.int(of: "products[i].images[j].id").intValue
            product_id = json.int(of: "products[i].images[j].product_id").intValue
            position = json.int(of: "products[i].images[j].position").intValue
            created_at = json.string(of: "products[i].images[j].created_at")
            updated_at = json.string(of: "products[i].images[j].updated_at")
            width = json.int(of: "products[i].images[j].width").intValue
            height = json.int(of: "products[i].images[j].height").intValue
            src = json.string(of: "products[i].images[j].src")
            k = 0
            count_k = json.size(ofArray: "products[i].images[j].variant_ids").intValue
            while k < count_k {
                json.k = k
                intVal = json.int(of: "products[i].images[j].variant_ids[k]").intValue
                k = k + 1
            }

            j = j + 1
        }

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

    print("Example Completed.")

}