Sample code for 30+ languages & platforms
Swift

Shopify Get particular fields of a single product

See more Shopify Examples

Get particular fields of a single product

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/#{id}.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 productId: Int
    var productTitle: String?
    var i: Int
    var count_i: Int
    var id: 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 j: Int
    var count_j: Int
    var intVal: Int

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

        i = i + 1
    }

    // A sample JSON response body that is parsed by the above code:

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

    print("Example Completed.")

}