Sample code for 30+ languages & platforms
Visual FoxPro

Shopify Get particular fields of a single product

See more Shopify Examples

Get particular fields of a single product

Chilkat Visual FoxPro Downloads

Visual FoxPro
LOCAL lnSuccess
LOCAL loRest
LOCAL loSbJson
LOCAL loJson
LOCAL lnProductId
LOCAL lcProductTitle
LOCAL i
LOCAL lnCount_i
LOCAL lnId
LOCAL lnProduct_id
LOCAL lnPosition
LOCAL lcCreated_at
LOCAL lcUpdated_at
LOCAL lnWidth
LOCAL lnHeight
LOCAL lcSrc
LOCAL j
LOCAL lnCount_j
LOCAL lnIntVal

lnSuccess = 0

loRest = CreateObject('Chilkat.Rest')

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

lnSuccess = loRest.Connect("chilkat.myshopify.com",443,1,1)
IF (lnSuccess <> 1) THEN
    ? loRest.LastErrorText
    RELEASE loRest
    CANCEL
ENDIF

loSbJson = CreateObject('Chilkat.StringBuilder')
lnSuccess = loRest.FullRequestNoBodySb("GET","/admin/products/#{id}.json?fields=id,images,title",loSbJson)
IF (lnSuccess <> 1) THEN
    ? loRest.LastErrorText
    RELEASE loRest
    RELEASE loSbJson
    CANCEL
ENDIF

IF (loRest.ResponseStatusCode <> 200) THEN
    ? "Received error response code: " + STR(loRest.ResponseStatusCode)
    ? "Response body:"
    ? loSbJson.GetAsString()
    RELEASE loRest
    RELEASE loSbJson
    CANCEL
ENDIF

loJson = CreateObject('Chilkat.JsonObject')
loJson.LoadSb(loSbJson)

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

lnProductId = loJson.IntOf("product.id")
lcProductTitle = loJson.StringOf("product.title")
i = 0
lnCount_i = loJson.SizeOfArray("product.images")
DO WHILE i < lnCount_i
    loJson.I = i
    lnId = loJson.IntOf("product.images[i].id")
    lnProduct_id = loJson.IntOf("product.images[i].product_id")
    lnPosition = loJson.IntOf("product.images[i].position")
    lcCreated_at = loJson.StringOf("product.images[i].created_at")
    lcUpdated_at = loJson.StringOf("product.images[i].updated_at")
    lnWidth = loJson.IntOf("product.images[i].width")
    lnHeight = loJson.IntOf("product.images[i].height")
    lcSrc = loJson.StringOf("product.images[i].src")
    j = 0
    lnCount_j = loJson.SizeOfArray("product.images[i].variant_ids")
    DO WHILE j < lnCount_j
        loJson.J = j
        lnIntVal = loJson.IntOf("product.images[i].variant_ids[j]")
        j = j + 1
    ENDDO
    i = i + 1
ENDDO

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

? "Example Completed."

RELEASE loRest
RELEASE loSbJson
RELEASE loJson