Sample code for 30+ languages & platforms
DataFlex

Shopify Get particular fields of a single product

See more Shopify Examples

Get particular fields of a single product

Chilkat DataFlex Downloads

DataFlex
Use ChilkatAx-win32.pkg

Procedure Test
    Boolean iSuccess
    Handle hoRest
    Variant vSbJson
    Handle hoSbJson
    Handle hoJson
    Integer iProductId
    String sProductTitle
    Integer i
    Integer iCount_i
    Integer iId
    Integer iProduct_id
    Integer iPosition
    String sCreated_at
    String sUpdated_at
    Integer iWidth
    Integer iHeight
    String sSrc
    Integer j
    Integer iCount_j
    Integer iIntVal
    String sTemp1
    Integer iTemp1

    Move False To iSuccess

    Get Create (RefClass(cComChilkatRest)) To hoRest
    If (Not(IsComObjectCreated(hoRest))) Begin
        Send CreateComObject of hoRest
    End

    Get ComSetAuthBasic Of hoRest "SHOPIFY_PRIVATE_API_KEY" "SHOPIFY_PRIVATE_API_KEY" To iSuccess

    Get ComConnect Of hoRest "chilkat.myshopify.com" 443 True True To iSuccess
    If (iSuccess <> True) Begin
        Get ComLastErrorText Of hoRest To sTemp1
        Showln sTemp1
        Procedure_Return
    End

    Get Create (RefClass(cComChilkatStringBuilder)) To hoSbJson
    If (Not(IsComObjectCreated(hoSbJson))) Begin
        Send CreateComObject of hoSbJson
    End
    Get pvComObject of hoSbJson to vSbJson
    Get ComFullRequestNoBodySb Of hoRest "GET" "/admin/products/#{id}.json?fields=id,images,title" vSbJson To iSuccess
    If (iSuccess <> True) Begin
        Get ComLastErrorText Of hoRest To sTemp1
        Showln sTemp1
        Procedure_Return
    End

    Get ComResponseStatusCode Of hoRest To iTemp1
    If (iTemp1 <> 200) Begin
        Get ComResponseStatusCode Of hoRest To iTemp1
        Showln "Received error response code: " iTemp1
        Showln "Response body:"
        Get ComGetAsString Of hoSbJson To sTemp1
        Showln sTemp1
        Procedure_Return
    End

    Get Create (RefClass(cComChilkatJsonObject)) To hoJson
    If (Not(IsComObjectCreated(hoJson))) Begin
        Send CreateComObject of hoJson
    End
    Get pvComObject of hoSbJson to vSbJson
    Get ComLoadSb Of hoJson vSbJson To iSuccess

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

    Get ComIntOf Of hoJson "product.id" To iProductId
    Get ComStringOf Of hoJson "product.title" To sProductTitle
    Move 0 To i
    Get ComSizeOfArray Of hoJson "product.images" To iCount_i
    While (i < iCount_i)
        Set ComI Of hoJson To i
        Get ComIntOf Of hoJson "product.images[i].id" To iId
        Get ComIntOf Of hoJson "product.images[i].product_id" To iProduct_id
        Get ComIntOf Of hoJson "product.images[i].position" To iPosition
        Get ComStringOf Of hoJson "product.images[i].created_at" To sCreated_at
        Get ComStringOf Of hoJson "product.images[i].updated_at" To sUpdated_at
        Get ComIntOf Of hoJson "product.images[i].width" To iWidth
        Get ComIntOf Of hoJson "product.images[i].height" To iHeight
        Get ComStringOf Of hoJson "product.images[i].src" To sSrc
        Move 0 To j
        Get ComSizeOfArray Of hoJson "product.images[i].variant_ids" To iCount_j
        While (j < iCount_j)
            Set ComJ Of hoJson To j
            Get ComIntOf Of hoJson "product.images[i].variant_ids[j]" To iIntVal
            Move (j + 1) To j
        Loop

        Move (i + 1) To i
    Loop

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

    Showln "Example Completed."


End_Procedure