Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(DataFlex) Square API - Batch Upsert Catalog ObjectsCreates or updates up to 10,000 target objects based on the provided list of objects. The target objects are grouped into batches and each batch is inserted/updated in an all-or-nothing manner. For more information, see https://developer.squareup.com/reference/square/catalog-api/batch-upsert-catalog-objects
Use ChilkatAx-win32.pkg Procedure Test Handle hoHttp Boolean iSuccess Integer i Integer j Integer k Variant vJson Handle hoJson Variant vResp Handle hoResp Variant vSbResponseBody Handle hoSbResponseBody Handle hoJResp Integer iRespStatusCode String sV_type String sId String sUpdated_at Integer iVersion Boolean iIs_deleted Boolean iPresent_at_all_locations String sItem_dataName String sItem_dataDescription String sItem_dataCategory_id String sCategory_dataName String sTax_dataName String sTax_dataCalculation_phase String sTax_dataInclusion_type String sTax_dataPercentage Boolean iTax_dataApplies_to_custom_amounts Boolean iTax_dataEnabled Integer iCount_j String sStrVal String sItem_variation_dataItem_id String sItem_variation_dataName Integer iItem_variation_dataOrdinal String sItem_variation_dataPricing_type Integer iItem_variation_dataPrice_moneyAmount String sItem_variation_dataPrice_moneyCurrency String sClient_object_id String sObject_id Integer iCount_i String sTemp1 Boolean bTemp1 // This example assumes the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. Get Create (RefClass(cComChilkatHttp)) To hoHttp If (Not(IsComObjectCreated(hoHttp))) Begin Send CreateComObject of hoHttp End // Use this online tool to generate code from sample JSON: // Generate Code to Create JSON // The following JSON is sent in the request body. // { // "idempotency_key": "789ff020-f723-43a9-b4b5-43b5dc1fa3dc", // "batches": [ // { // "objects": [ // { // "type": "ITEM", // "id": "#Tea", // "present_at_all_locations": true, // "item_data": { // "name": "Tea", // "description": "Hot Leaf Juice", // "category_id": "#Beverages", // "tax_ids": [ // "#SalesTax" // ], // "variations": [ // { // "type": "ITEM_VARIATION", // "id": "#Tea_Mug", // "present_at_all_locations": true, // "item_variation_data": { // "item_id": "#Tea", // "name": "Mug", // "pricing_type": "FIXED_PRICING", // "price_money": { // "amount": 150, // "currency": "USD" // } // } // } // ] // } // }, // { // "type": "ITEM", // "id": "#Coffee", // "present_at_all_locations": true, // "item_data": { // "name": "Coffee", // "description": "Hot Bean Juice", // "category_id": "#Beverages", // "tax_ids": [ // "#SalesTax" // ], // "variations": [ // { // "type": "ITEM_VARIATION", // "id": "#Coffee_Regular", // "present_at_all_locations": true, // "item_variation_data": { // "item_id": "#Coffee", // "name": "Regular", // "pricing_type": "FIXED_PRICING", // "price_money": { // "amount": 250, // "currency": "USD" // } // } // }, // { // "type": "ITEM_VARIATION", // "id": "#Coffee_Large", // "present_at_all_locations": true, // "item_variation_data": { // "item_id": "#Coffee", // "name": "Large", // "pricing_type": "FIXED_PRICING", // "price_money": { // "amount": 350, // "currency": "USD" // } // } // } // ] // } // }, // { // "type": "CATEGORY", // "id": "#Beverages", // "present_at_all_locations": true, // "category_data": { // "name": "Beverages" // } // }, // { // "type": "TAX", // "id": "#SalesTax", // "present_at_all_locations": true, // "tax_data": { // "name": "Sales Tax", // "calculation_phase": "TAX_SUBTOTAL_PHASE", // "inclusion_type": "ADDITIVE", // "percentage": "5.0", // "applies_to_custom_amounts": true, // "enabled": true // } // } // ] // } // ] // } Get Create (RefClass(cComChilkatJsonObject)) To hoJson If (Not(IsComObjectCreated(hoJson))) Begin Send CreateComObject of hoJson End Get ComUpdateString Of hoJson "idempotency_key" "789ff020-f723-43a9-b4b5-43b5dc1fa3dc" To iSuccess Move 0 To i Set ComI Of hoJson To i Move 0 To j Set ComJ Of hoJson To j Get ComUpdateString Of hoJson "batches[i].objects[j].type" "ITEM" To iSuccess Get ComUpdateString Of hoJson "batches[i].objects[j].id" "#Tea" To iSuccess Get ComUpdateBool Of hoJson "batches[i].objects[j].present_at_all_locations" True To iSuccess Get ComUpdateString Of hoJson "batches[i].objects[j].item_data.name" "Tea" To iSuccess Get ComUpdateString Of hoJson "batches[i].objects[j].item_data.description" "Hot Leaf Juice" To iSuccess Get ComUpdateString Of hoJson "batches[i].objects[j].item_data.category_id" "#Beverages" To iSuccess Get ComUpdateString Of hoJson "batches[i].objects[j].item_data.tax_ids[0]" "#SalesTax" To iSuccess Get ComUpdateString Of hoJson "batches[i].objects[j].item_data.variations[0].type" "ITEM_VARIATION" To iSuccess Get ComUpdateString Of hoJson "batches[i].objects[j].item_data.variations[0].id" "#Tea_Mug" To iSuccess Get ComUpdateBool Of hoJson "batches[i].objects[j].item_data.variations[0].present_at_all_locations" True To iSuccess Get ComUpdateString Of hoJson "batches[i].objects[j].item_data.variations[0].item_variation_data.item_id" "#Tea" To iSuccess Get ComUpdateString Of hoJson "batches[i].objects[j].item_data.variations[0].item_variation_data.name" "Mug" To iSuccess Get ComUpdateString Of hoJson "batches[i].objects[j].item_data.variations[0].item_variation_data.pricing_type" "FIXED_PRICING" To iSuccess Get ComUpdateInt Of hoJson "batches[i].objects[j].item_data.variations[0].item_variation_data.price_money.amount" 150 To iSuccess Get ComUpdateString Of hoJson "batches[i].objects[j].item_data.variations[0].item_variation_data.price_money.currency" "USD" To iSuccess Move (j + 1) To j Set ComJ Of hoJson To j Get ComUpdateString Of hoJson "batches[i].objects[j].type" "ITEM" To iSuccess Get ComUpdateString Of hoJson "batches[i].objects[j].id" "#Coffee" To iSuccess Get ComUpdateBool Of hoJson "batches[i].objects[j].present_at_all_locations" True To iSuccess Get ComUpdateString Of hoJson "batches[i].objects[j].item_data.name" "Coffee" To iSuccess Get ComUpdateString Of hoJson "batches[i].objects[j].item_data.description" "Hot Bean Juice" To iSuccess Get ComUpdateString Of hoJson "batches[i].objects[j].item_data.category_id" "#Beverages" To iSuccess Get ComUpdateString Of hoJson "batches[i].objects[j].item_data.tax_ids[0]" "#SalesTax" To iSuccess Move 0 To k Set ComK Of hoJson To k Get ComUpdateString Of hoJson "batches[i].objects[j].item_data.variations[k].type" "ITEM_VARIATION" To iSuccess Get ComUpdateString Of hoJson "batches[i].objects[j].item_data.variations[k].id" "#Coffee_Regular" To iSuccess Get ComUpdateBool Of hoJson "batches[i].objects[j].item_data.variations[k].present_at_all_locations" True To iSuccess Get ComUpdateString Of hoJson "batches[i].objects[j].item_data.variations[k].item_variation_data.item_id" "#Coffee" To iSuccess Get ComUpdateString Of hoJson "batches[i].objects[j].item_data.variations[k].item_variation_data.name" "Regular" To iSuccess Get ComUpdateString Of hoJson "batches[i].objects[j].item_data.variations[k].item_variation_data.pricing_type" "FIXED_PRICING" To iSuccess Get ComUpdateInt Of hoJson "batches[i].objects[j].item_data.variations[k].item_variation_data.price_money.amount" 250 To iSuccess Get ComUpdateString Of hoJson "batches[i].objects[j].item_data.variations[k].item_variation_data.price_money.currency" "USD" To iSuccess Move (k + 1) To k Set ComK Of hoJson To k Get ComUpdateString Of hoJson "batches[i].objects[j].item_data.variations[k].type" "ITEM_VARIATION" To iSuccess Get ComUpdateString Of hoJson "batches[i].objects[j].item_data.variations[k].id" "#Coffee_Large" To iSuccess Get ComUpdateBool Of hoJson "batches[i].objects[j].item_data.variations[k].present_at_all_locations" True To iSuccess Get ComUpdateString Of hoJson "batches[i].objects[j].item_data.variations[k].item_variation_data.item_id" "#Coffee" To iSuccess Get ComUpdateString Of hoJson "batches[i].objects[j].item_data.variations[k].item_variation_data.name" "Large" To iSuccess Get ComUpdateString Of hoJson "batches[i].objects[j].item_data.variations[k].item_variation_data.pricing_type" "FIXED_PRICING" To iSuccess Get ComUpdateInt Of hoJson "batches[i].objects[j].item_data.variations[k].item_variation_data.price_money.amount" 350 To iSuccess Get ComUpdateString Of hoJson "batches[i].objects[j].item_data.variations[k].item_variation_data.price_money.currency" "USD" To iSuccess Move (j + 1) To j Set ComJ Of hoJson To j Get ComUpdateString Of hoJson "batches[i].objects[j].type" "CATEGORY" To iSuccess Get ComUpdateString Of hoJson "batches[i].objects[j].id" "#Beverages" To iSuccess Get ComUpdateBool Of hoJson "batches[i].objects[j].present_at_all_locations" True To iSuccess Get ComUpdateString Of hoJson "batches[i].objects[j].category_data.name" "Beverages" To iSuccess Move (j + 1) To j Set ComJ Of hoJson To j Get ComUpdateString Of hoJson "batches[i].objects[j].type" "TAX" To iSuccess Get ComUpdateString Of hoJson "batches[i].objects[j].id" "#SalesTax" To iSuccess Get ComUpdateBool Of hoJson "batches[i].objects[j].present_at_all_locations" True To iSuccess Get ComUpdateString Of hoJson "batches[i].objects[j].tax_data.name" "Sales Tax" To iSuccess Get ComUpdateString Of hoJson "batches[i].objects[j].tax_data.calculation_phase" "TAX_SUBTOTAL_PHASE" To iSuccess Get ComUpdateString Of hoJson "batches[i].objects[j].tax_data.inclusion_type" "ADDITIVE" To iSuccess Get ComUpdateString Of hoJson "batches[i].objects[j].tax_data.percentage" "5.0" To iSuccess Get ComUpdateBool Of hoJson "batches[i].objects[j].tax_data.applies_to_custom_amounts" True To iSuccess Get ComUpdateBool Of hoJson "batches[i].objects[j].tax_data.enabled" True To iSuccess // Adds the "Authorization: Bearer ACCESS_TOKEN" header. Set ComAuthToken Of hoHttp To "ACCESS_TOKEN" Send ComSetRequestHeader To hoHttp "Square-Version" "2020-07-22" Send ComSetRequestHeader To hoHttp "Content-Type" "application/json" // This example uses the sandbox: connect.squareupsandbox.com // Production should use connect.squareup.com Get pvComObject of hoJson to vJson Get ComPostJson3 Of hoHttp "https://connect.squareupsandbox.com/v2/catalog/batch-upsert" "application/json" vJson To vResp If (IsComObject(vResp)) Begin Get Create (RefClass(cComChilkatHttpResponse)) To hoResp Set pvComObject Of hoResp To vResp End Get ComLastMethodSuccess Of hoHttp To bTemp1 If (bTemp1 = False) Begin Get ComLastErrorText Of hoHttp To sTemp1 Showln sTemp1 Procedure_Return End Get Create (RefClass(cComChilkatStringBuilder)) To hoSbResponseBody If (Not(IsComObjectCreated(hoSbResponseBody))) Begin Send CreateComObject of hoSbResponseBody End Get pvComObject of hoSbResponseBody to vSbResponseBody Get ComGetBodySb Of hoResp vSbResponseBody To iSuccess Get Create (RefClass(cComChilkatJsonObject)) To hoJResp If (Not(IsComObjectCreated(hoJResp))) Begin Send CreateComObject of hoJResp End Get pvComObject of hoSbResponseBody to vSbResponseBody Get ComLoadSb Of hoJResp vSbResponseBody To iSuccess Set ComEmitCompact Of hoJResp To False Showln "Response Body:" Get ComEmit Of hoJResp To sTemp1 Showln sTemp1 Get ComStatusCode Of hoResp To iRespStatusCode Showln "Response Status Code = " iRespStatusCode If (iRespStatusCode >= 400) Begin Showln "Response Header:" Get ComHeader Of hoResp To sTemp1 Showln sTemp1 Showln "Failed." Send Destroy of hoResp Procedure_Return End Send Destroy of hoResp // Sample JSON response: // (Sample code for parsing the JSON response is shown below) // { // "objects": [ // { // "type": "ITEM", // "id": "ZSDZN34NAXDLC6D5ZQMNSOUM", // "updated_at": "2017-05-10T18:48:39.798Z", // "version": 1494442119798, // "is_deleted": false, // "present_at_all_locations": true, // "item_data": { // "name": "Tea", // "description": "Hot Leaf Juice", // "category_id": "LYT72K3WGJFFCIMB63XARP3I", // "tax_ids": [ // "XHSHLHNWSI3HVI4BW5ZUZXI3" // ], // "variations": [ // { // "type": "ITEM_VARIATION", // "id": "NAYHET5R52MIYCEF34ZMAHFM", // "updated_at": "2017-05-10T18:48:39.798Z", // "version": 1494442119798, // "is_deleted": false, // "present_at_all_locations": true, // "item_variation_data": { // "item_id": "ZSDZN34NAXDLC6D5ZQMNSOUM", // "name": "Mug", // "ordinal": 0, // "pricing_type": "FIXED_PRICING", // "price_money": { // "amount": 150, // "currency": "USD" // } // } // } // ] // } // }, // { // "type": "ITEM", // "id": "PJMCEBHHUS3OKDB6PYUHLCPP", // "updated_at": "2017-05-10T18:48:39.798Z", // "version": 1494442119798, // "is_deleted": false, // "present_at_all_locations": true, // "item_data": { // "name": "Coffee", // "description": "Hot Bean Juice", // "category_id": "LYT72K3WGJFFCIMB63XARP3I", // "tax_ids": [ // "XHSHLHNWSI3HVI4BW5ZUZXI3" // ], // "variations": [ // { // "type": "ITEM_VARIATION", // "id": "OTYDX45SPG7LJQUVCBZI4INH", // "updated_at": "2017-05-10T18:48:39.798Z", // "version": 1494442119798, // "is_deleted": false, // "present_at_all_locations": true, // "item_variation_data": { // "item_id": "PJMCEBHHUS3OKDB6PYUHLCPP", // "name": "Regular", // "ordinal": 0, // "pricing_type": "FIXED_PRICING", // "price_money": { // "amount": 250, // "currency": "USD" // } // } // }, // { // "type": "ITEM_VARIATION", // "id": "GZDA3JB37FYVOPI4AOEBOITI", // "updated_at": "2017-05-10T18:48:39.798Z", // "version": 1494442119798, // "is_deleted": false, // "present_at_all_locations": true, // "item_variation_data": { // "item_id": "PJMCEBHHUS3OKDB6PYUHLCPP", // "name": "Large", // "ordinal": 1, // "pricing_type": "FIXED_PRICING", // "price_money": { // "amount": 350, // "currency": "USD" // } // } // } // ] // } // }, // { // "type": "CATEGORY", // "id": "LYT72K3WGJFFCIMB63XARP3I", // "updated_at": "2017-05-10T18:48:39.798Z", // "version": 1494442119798, // "is_deleted": false, // "present_at_all_locations": true, // "category_data": { // "name": "Beverages" // } // }, // { // "type": "TAX", // "id": "XHSHLHNWSI3HVI4BW5ZUZXI3", // "updated_at": "2017-05-10T18:48:39.798Z", // "version": 1494442119798, // "is_deleted": false, // "present_at_all_locations": true, // "tax_data": { // "name": "Sales Tax", // "calculation_phase": "TAX_SUBTOTAL_PHASE", // "inclusion_type": "ADDITIVE", // "percentage": "5.0", // "applies_to_custom_amounts": true, // "enabled": true // } // } // ], // "id_mappings": [ // { // "client_object_id": "#Tea", // "object_id": "ZSDZN34NAXDLC6D5ZQMNSOUM" // }, // { // "client_object_id": "#Coffee", // "object_id": "PJMCEBHHUS3OKDB6PYUHLCPP" // }, // { // "client_object_id": "#Beverages", // "object_id": "LYT72K3WGJFFCIMB63XARP3I" // }, // { // "client_object_id": "#SalesTax", // "object_id": "XHSHLHNWSI3HVI4BW5ZUZXI3" // }, // { // "client_object_id": "#Tea_Mug", // "object_id": "NAYHET5R52MIYCEF34ZMAHFM" // }, // { // "client_object_id": "#Coffee_Regular", // "object_id": "OTYDX45SPG7LJQUVCBZI4INH" // }, // { // "client_object_id": "#Coffee_Large", // "object_id": "GZDA3JB37FYVOPI4AOEBOITI" // } // ] // } // Sample code for parsing the JSON response... // Use the following online tool to generate parsing code from sample JSON: // Generate Parsing Code from JSON Move 0 To i Get ComSizeOfArray Of hoJResp "objects" To iCount_i While (i < iCount_i) Set ComI Of hoJResp To i Get ComStringOf Of hoJResp "objects[i].type" To sV_type Get ComStringOf Of hoJResp "objects[i].id" To sId Get ComStringOf Of hoJResp "objects[i].updated_at" To sUpdated_at Get ComIntOf Of hoJResp "objects[i].version" To iVersion Get ComBoolOf Of hoJResp "objects[i].is_deleted" To iIs_deleted Get ComBoolOf Of hoJResp "objects[i].present_at_all_locations" To iPresent_at_all_locations Get ComStringOf Of hoJResp "objects[i].item_data.name" To sItem_dataName Get ComStringOf Of hoJResp "objects[i].item_data.description" To sItem_dataDescription Get ComStringOf Of hoJResp "objects[i].item_data.category_id" To sItem_dataCategory_id Get ComStringOf Of hoJResp "objects[i].category_data.name" To sCategory_dataName Get ComStringOf Of hoJResp "objects[i].tax_data.name" To sTax_dataName Get ComStringOf Of hoJResp "objects[i].tax_data.calculation_phase" To sTax_dataCalculation_phase Get ComStringOf Of hoJResp "objects[i].tax_data.inclusion_type" To sTax_dataInclusion_type Get ComStringOf Of hoJResp "objects[i].tax_data.percentage" To sTax_dataPercentage Get ComBoolOf Of hoJResp "objects[i].tax_data.applies_to_custom_amounts" To iTax_dataApplies_to_custom_amounts Get ComBoolOf Of hoJResp "objects[i].tax_data.enabled" To iTax_dataEnabled Move 0 To j Get ComSizeOfArray Of hoJResp "objects[i].item_data.tax_ids" To iCount_j While (j < iCount_j) Set ComJ Of hoJResp To j Get ComStringOf Of hoJResp "objects[i].item_data.tax_ids[j]" To sStrVal Move (j + 1) To j Loop Move 0 To j Get ComSizeOfArray Of hoJResp "objects[i].item_data.variations" To iCount_j While (j < iCount_j) Set ComJ Of hoJResp To j Get ComStringOf Of hoJResp "objects[i].item_data.variations[j].type" To sV_type Get ComStringOf Of hoJResp "objects[i].item_data.variations[j].id" To sId Get ComStringOf Of hoJResp "objects[i].item_data.variations[j].updated_at" To sUpdated_at Get ComIntOf Of hoJResp "objects[i].item_data.variations[j].version" To iVersion Get ComBoolOf Of hoJResp "objects[i].item_data.variations[j].is_deleted" To iIs_deleted Get ComBoolOf Of hoJResp "objects[i].item_data.variations[j].present_at_all_locations" To iPresent_at_all_locations Get ComStringOf Of hoJResp "objects[i].item_data.variations[j].item_variation_data.item_id" To sItem_variation_dataItem_id Get ComStringOf Of hoJResp "objects[i].item_data.variations[j].item_variation_data.name" To sItem_variation_dataName Get ComIntOf Of hoJResp "objects[i].item_data.variations[j].item_variation_data.ordinal" To iItem_variation_dataOrdinal Get ComStringOf Of hoJResp "objects[i].item_data.variations[j].item_variation_data.pricing_type" To sItem_variation_dataPricing_type Get ComIntOf Of hoJResp "objects[i].item_data.variations[j].item_variation_data.price_money.amount" To iItem_variation_dataPrice_moneyAmount Get ComStringOf Of hoJResp "objects[i].item_data.variations[j].item_variation_data.price_money.currency" To sItem_variation_dataPrice_moneyCurrency Move (j + 1) To j Loop Move (i + 1) To i Loop Move 0 To i Get ComSizeOfArray Of hoJResp "id_mappings" To iCount_i While (i < iCount_i) Set ComI Of hoJResp To i Get ComStringOf Of hoJResp "id_mappings[i].client_object_id" To sClient_object_id Get ComStringOf Of hoJResp "id_mappings[i].object_id" To sObject_id Move (i + 1) To i Loop End_Procedure |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.