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
(Tcl) Xero Get ReceiptsDemonstrates how to get all receipts from Xero accounting. Note: This example requires Chilkat v9.5.0.64 or greater.
load ./chilkat.dll # Note: Requires Chilkat v9.5.0.64 or greater. # This requires the Chilkat API to have been previously unlocked. # See Global Unlock Sample for sample code. set rest [new_CkRest] # Before sending REST API calls, the REST object needs to be # initialized for OAuth1. # See Xero 2-Legged OAuth1 Setup for sample code. # Assuming the REST object's OAuth1 authenticator is setup, and the initial # connection was made, we may now send REST HTTP requests.. # Note: If query parameters are to be included, they can be added by calling # the rest.AddQueryParam method, once per query parameter name/value. # Do not try to add the query params to the uriPath passed to a method such as FullRequestNoBodySb. # The reason is that OAuth1 needs to include the query params as part of the OAuth1 signature, # and the only way it knows about them is if they are explicitly added by calling AddQueryParam. # (Otherwise you'll get a 403 authentication error response.) # Get the full list of receipts. set sbXml [new_CkStringBuilder] set success [CkRest_FullRequestNoBodySb $rest "GET" "/api.xro/2.0/Receipts" $sbXml] if {$success != 1} then { puts [CkRest_lastErrorText $rest] delete_CkRest $rest delete_CkStringBuilder $sbXml exit } # A 200 response is expected for actual success. if {[CkRest_get_ResponseStatusCode $rest] != 200} then { puts [CkStringBuilder_getAsString $sbXml] delete_CkRest $rest delete_CkStringBuilder $sbXml exit } # Iterate over the receipts and get some information.. set bAutoTrim 0 set xml [new_CkXml] CkXml_LoadSb $xml $sbXml $bAutoTrim CkXml_SaveXml $xml "qa_cache/xero_receipts.xml" # How many records exist? set recordCount [CkXml_NumChildrenAt $xml "Receipts"] puts "numRecords = $recordCount" set i 0 while {$i < $recordCount} { CkXml_put_I $xml $i puts "ReceiptID: [CkXml_getChildContent $xml {Receipts|Receipt[i]|ReceiptID}]" puts "UserID: [CkXml_getChildContent $xml {Receipts|Receipt[i]|User|UserID}]" puts "ReceiptNumber: [CkXml_GetChildIntValue $xml {Receipts|Receipt[i]|ReceiptNumber}]" puts "----" set i [expr $i + 1] } # The output looks like this: # numRecords = 2 # ReceiptID: c4f40e59-c390-0001-caff-ce731c707d00 # UserID: d6362594-ffec-4435-abe8-469941ff1501 # ReceiptNumber: 2 # ---- # ReceiptID: 9387dc5d-2adf-4d77-84e1-db693db502bd # UserID: d6362594-ffec-4435-abe8-469941ff1501 # ReceiptNumber: 1 # ---- # The xero_receipts.xml file contains data that looks like this: # <?xml version="1.0" encoding="utf-8" ?> # <Response xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> # <Id>baf5d149-11de-4ba4-ba25-e8729d863812</Id> # <Status>OK</Status> # <ProviderName>ChilkatPrivate</ProviderName> # <DateTimeUTC>2016-11-11T14:03:25.5756186Z</DateTimeUTC> # <Receipts> # <Receipt> # <ReceiptID>c4f40e59-c390-0001-caff-ce731c707d00</ReceiptID> # <ReceiptNumber>2</ReceiptNumber> # <Status>DRAFT</Status> # <User> # <UserID>d6362594-ffec-4435-abe8-469941ff1501</UserID> # <FirstName>Matthew</FirstName> # <LastName>Smith</LastName> # </User> # <Contact> # <ContactID>f817d079-80ba-4a4f-8b57-6171c0cdd14c</ContactID> # <Name>Epicenter Cafe</Name> # </Contact> # <Date>2016-10-13T00:00:00</Date> # <UpdatedDateUTC>2011-10-07T20:45:16.153</UpdatedDateUTC> # <LineAmountTypes>Inclusive</LineAmountTypes> # <SubTotal>0.00</SubTotal> # <TotalTax>0.00</TotalTax> # <Total>0.00</Total> # <HasAttachments>false</HasAttachments> # </Receipt> # <Receipt> # <ReceiptID>9387dc5d-2adf-4d77-84e1-db693db502bd</ReceiptID> # <ReceiptNumber>1</ReceiptNumber> # <Status>DRAFT</Status> # <User> # <UserID>d6362594-ffec-4435-abe8-469941ff1501</UserID> # <FirstName>Matthew</FirstName> # <LastName>Smith</LastName> # </User> # <Contact> # <ContactID>6a31faab-588e-46a1-be9a-bd6d1dd468df</ContactID> # <Name>Woolworths Market</Name> # </Contact> # <Date>2016-10-11T00:00:00</Date> # <UpdatedDateUTC>2016-06-24T17:15:05.337</UpdatedDateUTC> # <LineAmountTypes>Inclusive</LineAmountTypes> # <SubTotal>35.20</SubTotal> # <TotalTax>0.00</TotalTax> # <Total>35.20</Total> # <HasAttachments>false</HasAttachments> # </Receipt> # </Receipts> # </Response> delete_CkRest $rest delete_CkStringBuilder $sbXml delete_CkXml $xml |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.