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) Xero Update Account DetailsUpdate some details of an account in a Xero company (Accounting API) For more information, see https://developer.xero.com/documentation/api/accounts#POST
Use ChilkatAx-win32.pkg Procedure Test Handle hoHttp Handle hoJsonToken Boolean iSuccess Handle hoJsonRequestBody String sUrl Variant vResp Handle hoResp Handle hoJsonResponse String sAccountID String sCode String sName String sType String sTaxType String sDescription String sClass Boolean iEnablePaymentsToAccount Boolean iShowInExpenseClaims String sReportingCode String sReportingCodeName String sUpdatedDateUTC Boolean iAddToWatchlist String sId String sStatus String sProviderName String sDateTimeUTC Integer i Integer iCount_i String sTemp1 Integer iTemp1 Boolean bTemp1 // This example requires 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 Get Create (RefClass(cComChilkatJsonObject)) To hoJsonToken If (Not(IsComObjectCreated(hoJsonToken))) Begin Send CreateComObject of hoJsonToken End Get ComLoadFile Of hoJsonToken "qa_data/tokens/xero-access-token.json" To iSuccess If (iSuccess = False) Begin Get ComLastErrorText Of hoJsonToken To sTemp1 Showln sTemp1 Procedure_Return End Get ComStringOf Of hoJsonToken "access_token" To sTemp1 Set ComAuthToken Of hoHttp To sTemp1 // Replace the value here with an actual tenant ID obtained from this example: // Get Xero Tenant IDs Send ComSetRequestHeader To hoHttp "Xero-tenant-id" "83299b9e-5747-4a14-a18a-a6c94f824eb7" Set ComAccept Of hoHttp To "application/json" // The following JSON is sent in the request body: // { // "AccountID": "54ddab14-4a8d-45cf-86be-076c99a0cea0", // "Name": "Sales account", // "Type": "REVENUE", // "TaxType": "OUTPUT", // "Description": "Income from any normal business trading activity", // "EnablePaymentsToAccount": "false", // "ShowInExpenseClaims": "false" // } // Use this online tool to generate the code from sample JSON: // Generate Code to Create JSON Get Create (RefClass(cComChilkatJsonObject)) To hoJsonRequestBody If (Not(IsComObjectCreated(hoJsonRequestBody))) Begin Send CreateComObject of hoJsonRequestBody End Get ComUpdateString Of hoJsonRequestBody "AccountID" "54ddab14-4a8d-45cf-86be-076c99a0cea0" To iSuccess Get ComUpdateString Of hoJsonRequestBody "Name" "Sales account" To iSuccess Get ComUpdateString Of hoJsonRequestBody "Type" "REVENUE" To iSuccess Get ComUpdateString Of hoJsonRequestBody "TaxType" "OUTPUT" To iSuccess Get ComUpdateString Of hoJsonRequestBody "Description" "Income from any normal business trading activity" To iSuccess Get ComUpdateString Of hoJsonRequestBody "EnablePaymentsToAccount" "false" To iSuccess Get ComUpdateString Of hoJsonRequestBody "ShowInExpenseClaims" "false" To iSuccess Move "https://api.xero.com/api.xro/2.0/Accounts/54ddab14-4a8d-45cf-86be-076c99a0cea0" To sUrl Get ComEmit Of hoJsonRequestBody To sTemp1 Get ComPText Of hoHttp "POST" sUrl sTemp1 "utf-8" "application/json" False False 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 <> True) Begin Get ComLastErrorText Of hoHttp To sTemp1 Showln sTemp1 Procedure_Return End Get ComStatusCode Of hoResp To iTemp1 Showln "Response Status Code: " iTemp1 Get Create (RefClass(cComChilkatJsonObject)) To hoJsonResponse If (Not(IsComObjectCreated(hoJsonResponse))) Begin Send CreateComObject of hoJsonResponse End Get ComBodyStr Of hoResp To sTemp1 Get ComLoad Of hoJsonResponse sTemp1 To iSuccess Set ComEmitCompact Of hoJsonResponse To False Get ComEmit Of hoJsonResponse To sTemp1 Showln sTemp1 Get ComStatusCode Of hoResp To iTemp1 If (iTemp1 >= 300) Begin Showln "Failed." Send Destroy of hoResp Procedure_Return End Send Destroy of hoResp // Sample output... // (See the parsing code below..) // // Use the this online tool to generate parsing code from sample JSON: // Generate Parsing Code from JSON // { // "Id": "430e92a8-de02-41d5-a00e-3ef899188aea", // "Status": "OK", // "ProviderName": "Chilkat2222", // "DateTimeUTC": "\/Date(1587162517005)\/", // "Accounts": [ // { // "AccountID": "54ddab14-4a8d-45cf-86be-076c99a0cea0", // "Code": "201", // "Name": "Sales account", // "Status": "ACTIVE", // "Type": "REVENUE", // "TaxType": "OUTPUT", // "Description": "Income from any normal business trading activity", // "Class": "REVENUE", // "EnablePaymentsToAccount": false, // "ShowInExpenseClaims": false, // "ReportingCode": "REV", // "ReportingCodeName": "Revenue", // "UpdatedDateUTC": "\/Date(1587162517090+0000)\/", // "AddToWatchlist": false // } // ] // } // Get ComStringOf Of hoJsonResponse "Id" To sId Get ComStringOf Of hoJsonResponse "Status" To sStatus Get ComStringOf Of hoJsonResponse "ProviderName" To sProviderName Get ComStringOf Of hoJsonResponse "DateTimeUTC" To sDateTimeUTC Move 0 To i Get ComSizeOfArray Of hoJsonResponse "Accounts" To iCount_i While (i < iCount_i) Set ComI Of hoJsonResponse To i Get ComStringOf Of hoJsonResponse "Accounts[i].AccountID" To sAccountID Get ComStringOf Of hoJsonResponse "Accounts[i].Code" To sCode Get ComStringOf Of hoJsonResponse "Accounts[i].Name" To sName Get ComStringOf Of hoJsonResponse "Accounts[i].Status" To sStatus Get ComStringOf Of hoJsonResponse "Accounts[i].Type" To sType Get ComStringOf Of hoJsonResponse "Accounts[i].TaxType" To sTaxType Get ComStringOf Of hoJsonResponse "Accounts[i].Description" To sDescription Get ComStringOf Of hoJsonResponse "Accounts[i].Class" To sClass Get ComBoolOf Of hoJsonResponse "Accounts[i].EnablePaymentsToAccount" To iEnablePaymentsToAccount Get ComBoolOf Of hoJsonResponse "Accounts[i].ShowInExpenseClaims" To iShowInExpenseClaims Get ComStringOf Of hoJsonResponse "Accounts[i].ReportingCode" To sReportingCode Get ComStringOf Of hoJsonResponse "Accounts[i].ReportingCodeName" To sReportingCodeName Get ComStringOf Of hoJsonResponse "Accounts[i].UpdatedDateUTC" To sUpdatedDateUTC Get ComBoolOf Of hoJsonResponse "Accounts[i].AddToWatchlist" To iAddToWatchlist Move (i + 1) To i Loop End_Procedure |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.