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

DataFlex Examples

ASN.1
Amazon S3
Amazon S3 (new)
Amazon SES
Amazon SNS
Amazon SQS
Async
Azure Cloud Storage
Azure Service Bus
Base64
Bounced Email
Box
CSR
CSV
Certificates
Compression
DKIM / DomainKey
DSA
Diffie-Hellman
Digital Signatures
Dropbox
Dynamics CRM
ECC
Email Object
Encryption
FTP
Facebook
FileAccess
Firebase
GMail REST API
GeoOp
Google APIs
Google Calendar
Google Cloud Storage
Google Drive
Google Sheets
Gzip
HTML-to-XML/Text
HTTP
HTTP Misc
IMAP
JSON
JSON Web Encryption (JWE)
JSON Web Signatures (JWS)
JSON Web Token (JWT)

Java KeyStore (JKS)
Jira
MHT / HTML Email
MIME
Microsoft Graph
NTLM
OAuth1
OAuth2
OneDrive
OpenSSL
Outlook
PEM
PFX/P12
POP3
PRNG
PayPal
Peoplevox
QuickBooks
REST
REST Misc
RSA Encryption
SCP
SFTP
SMTP
SSH
SSH Key
SSH Tunnel
SharePoint
Shopify
Socket/SSL/TLS
Spider
Stream
Stripe
SugarCRM
Tar Archive
Twitter
Upload
VoiceBase
Walmart
WebSocket
XAdES
XML
XML Digital Signatures
XMP
Xero
Zip
curl
eBay

 

 

 

(DataFlex) Shopify Add a metafield to an existing product

Add a metafield to an existing product

Chilkat ActiveX Downloads

ActiveX for 32-bit and 64-bit Windows

Use ChilkatAx-9.5.0-win32.pkg

Procedure Test
    Handle hoRest
    Boolean iSuccess
Req    Handle hoJsonReq
    Variant vSbReq
    Handle hoSbReq
    Variant vSbJson
    Handle hoSbJson
    Handle hoJson
    Integer iProductId
    String sProductTitle
    String sProductBody_html
    String sProductVendor
    String sProductProduct_type
    String sProductCreated_at
    String sProductHandle
    String sProductUpdated_at
    String sProductPublished_at
    Boolean iProductTemplate_suffix
    String sProductPublished_scope
    String sProductTags
    Integer iProductImageId
    Integer iProductImageProduct_id
    Integer iProductImagePosition
    String sProductImageCreated_at
    String sProductImageUpdated_at
    Integer iProductImageWidth
    Integer iProductImageHeight
    String sProductImageSrc
    Integer i
    Integer iCount_i
    Integer iId
    Integer iProduct_id
    String sTitle
    String sPrice
    String sSku
    Integer iPosition
    Integer iGrams
    String sInventory_policy
    Boolean iCompare_at_price
    String sFulfillment_service
    String sInventory_management
    String sOption1
    Boolean iOption2
    Boolean iOption3
    String sCreated_at
    String sUpdated_at
    Boolean iTaxable
    String sBarcode
    Integer iImage_id
    Integer iInventory_quantity
    Integer iWeight
    String sWeight_unit
    Integer iOld_inventory_quantity
    Boolean iRequires_shipping
    String sName
    Integer j
    Integer iCount_j
    String sStrVal
    Integer iWidth
    Integer iHeight
    String sSrc
    Integer iIntVal
    String sTemp1
    Integer iTemp1

    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

    //  The following code creates the JSON request body.
    //  The JSON created by this code is shown below.
    Get Create (RefClass(cComChilkatJsonObject)) To hoJsonReq
    If (Not(IsComObjectCreated(hoJsonReq))) Begin
        Send CreateComObject of hoJsonReq
    End
    Get ComUpdateNumber Of hoJsonReq "product.id" "632910392" To iSuccess
    Get ComUpdateString Of hoJsonReq "product.metafields[0].key" "new" To iSuccess
    Get ComUpdateString Of hoJsonReq "product.metafields[0].value" "newvalue" To iSuccess
    Get ComUpdateString Of hoJsonReq "product.metafields[0].value_type" "string" To iSuccess
    Get ComUpdateString Of hoJsonReq "product.metafields[0].namespace" "global" To iSuccess

    //  The JSON request body created by the above code:

    //  {
    //    "product": {
    //      "id": 632910392,
    //      "metafields": [
    //        {
    //          "key": "new",
    //          "value": "newvalue",
    //          "value_type": "string",
    //          "namespace": "global"
    //        }
    //      ]
    //    }
    //  }

    Get Create (RefClass(cComChilkatStringBuilder)) To hoSbReq
    If (Not(IsComObjectCreated(hoSbReq))) Begin
        Send CreateComObject of hoSbReq
    End
    Get pvComObject of hoSbReq to vSbReq
    Get ComEmitSb Of hoJsonReq vSbReq To iSuccess

    Get ComAddHeader Of hoRest "Content-Type" "application/json" To iSuccess

    Get Create (RefClass(cComChilkatStringBuilder)) To hoSbJson
    If (Not(IsComObjectCreated(hoSbJson))) Begin
        Send CreateComObject of hoSbJson
    End
    Get pvComObject of hoSbReq to vSbReq
    Get pvComObject of hoSbJson to vSbJson
    Get ComFullRequestSb Of hoRest "PUT" "/admin/products/#{id}.json" vSbReq 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
    Get ComStringOf Of hoJson "product.body_html" To sProductBody_html
    Get ComStringOf Of hoJson "product.vendor" To sProductVendor
    Get ComStringOf Of hoJson "product.product_type" To sProductProduct_type
    Get ComStringOf Of hoJson "product.created_at" To sProductCreated_at
    Get ComStringOf Of hoJson "product.handle" To sProductHandle
    Get ComStringOf Of hoJson "product.updated_at" To sProductUpdated_at
    Get ComStringOf Of hoJson "product.published_at" To sProductPublished_at
    Get ComIsNullOf Of hoJson "product.template_suffix" To iProductTemplate_suffix
    Get ComStringOf Of hoJson "product.published_scope" To sProductPublished_scope
    Get ComStringOf Of hoJson "product.tags" To sProductTags
    Get ComIntOf Of hoJson "product.image.id" To iProductImageId
    Get ComIntOf Of hoJson "product.image.product_id" To iProductImageProduct_id
    Get ComIntOf Of hoJson "product.image.position" To iProductImagePosition
    Get ComStringOf Of hoJson "product.image.created_at" To sProductImageCreated_at
    Get ComStringOf Of hoJson "product.image.updated_at" To sProductImageUpdated_at
    Get ComIntOf Of hoJson "product.image.width" To iProductImageWidth
    Get ComIntOf Of hoJson "product.image.height" To iProductImageHeight
    Get ComStringOf Of hoJson "product.image.src" To sProductImageSrc
    Move 0 To i
    Get ComSizeOfArray Of hoJson "product.variants" To iCount_i
    While (i < iCount_i)
        Set ComI Of hoJson To i
        Get ComIntOf Of hoJson "product.variants[i].id" To iId
        Get ComIntOf Of hoJson "product.variants[i].product_id" To iProduct_id
        Get ComStringOf Of hoJson "product.variants[i].title" To sTitle
        Get ComStringOf Of hoJson "product.variants[i].price" To sPrice
        Get ComStringOf Of hoJson "product.variants[i].sku" To sSku
        Get ComIntOf Of hoJson "product.variants[i].position" To iPosition
        Get ComIntOf Of hoJson "product.variants[i].grams" To iGrams
        Get ComStringOf Of hoJson "product.variants[i].inventory_policy" To sInventory_policy
        Get ComIsNullOf Of hoJson "product.variants[i].compare_at_price" To iCompare_at_price
        Get ComStringOf Of hoJson "product.variants[i].fulfillment_service" To sFulfillment_service
        Get ComStringOf Of hoJson "product.variants[i].inventory_management" To sInventory_management
        Get ComStringOf Of hoJson "product.variants[i].option1" To sOption1
        Get ComIsNullOf Of hoJson "product.variants[i].option2" To iOption2
        Get ComIsNullOf Of hoJson "product.variants[i].option3" To iOption3
        Get ComStringOf Of hoJson "product.variants[i].created_at" To sCreated_at
        Get ComStringOf Of hoJson "product.variants[i].updated_at" To sUpdated_at
        Get ComBoolOf Of hoJson "product.variants[i].taxable" To iTaxable
        Get ComStringOf Of hoJson "product.variants[i].barcode" To sBarcode
        Get ComIntOf Of hoJson "product.variants[i].image_id" To iImage_id
        Get ComIntOf Of hoJson "product.variants[i].inventory_quantity" To iInventory_quantity
        Get ComIntOf Of hoJson "product.variants[i].weight" To iWeight
        Get ComStringOf Of hoJson "product.variants[i].weight_unit" To sWeight_unit
        Get ComIntOf Of hoJson "product.variants[i].old_inventory_quantity" To iOld_inventory_quantity
        Get ComBoolOf Of hoJson "product.variants[i].requires_shipping" To iRequires_shipping
        Move i + 1 To i
    Loop

    Move 0 To i
    Get ComSizeOfArray Of hoJson "product.options" To iCount_i
    While (i < iCount_i)
        Set ComI Of hoJson To i
        Get ComIntOf Of hoJson "product.options[i].id" To iId
        Get ComIntOf Of hoJson "product.options[i].product_id" To iProduct_id
        Get ComStringOf Of hoJson "product.options[i].name" To sName
        Get ComIntOf Of hoJson "product.options[i].position" To iPosition
        Move 0 To j
        Get ComSizeOfArray Of hoJson "product.options[i].values" To iCount_j
        While (j < iCount_j)
            Set ComJ Of hoJson To j
            Get ComStringOf Of hoJson "product.options[i].values[j]" To sStrVal
            Move j + 1 To j
        Loop

        Move i + 1 To i
    Loop

    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

    Move 0 To i
    Get ComSizeOfArray Of hoJson "image.product.variant_ids" To iCount_i
    While (i < iCount_i)
        Set ComI Of hoJson To i
        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",
    //      "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:48:57-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:48:57-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": [
    //        ]
    //      }
    //    }
    //  }

    Showln "Example Completed."


End_Procedure

 

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