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
(PowerBuilder) Xero Get ReceiptsDemonstrates how to get all receipts from Xero accounting. Note: This example requires Chilkat v9.5.0.64 or greater.
integer li_rc oleobject loo_Rest integer li_Success oleobject loo_SbXml integer li_BAutoTrim oleobject loo_Xml integer li_RecordCount integer i // 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. loo_Rest = create oleobject li_rc = loo_Rest.ConnectToNewObject("Chilkat_9_5_0.Rest") if li_rc < 0 then destroy loo_Rest MessageBox("Error","Connecting to COM object failed") return end if // 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. loo_SbXml = create oleobject li_rc = loo_SbXml.ConnectToNewObject("Chilkat_9_5_0.StringBuilder") li_Success = loo_Rest.FullRequestNoBodySb("GET","/api.xro/2.0/Receipts",loo_SbXml) if li_Success <> 1 then Write-Debug loo_Rest.LastErrorText destroy loo_Rest destroy loo_SbXml return end if // A 200 response is expected for actual success. if loo_Rest.ResponseStatusCode <> 200 then Write-Debug loo_SbXml.GetAsString() destroy loo_Rest destroy loo_SbXml return end if // Iterate over the receipts and get some information.. li_BAutoTrim = 0 loo_Xml = create oleobject li_rc = loo_Xml.ConnectToNewObject("Chilkat_9_5_0.Xml") loo_Xml.LoadSb(loo_SbXml,li_BAutoTrim) loo_Xml.SaveXml("qa_cache/xero_receipts.xml") // How many records exist? li_RecordCount = loo_Xml.NumChildrenAt("Receipts") Write-Debug "numRecords = " + string(li_RecordCount) i = 0 do while i < li_RecordCount loo_Xml.I = i Write-Debug "ReceiptID: " + loo_Xml.GetChildContent("Receipts|Receipt[i]|ReceiptID") Write-Debug "UserID: " + loo_Xml.GetChildContent("Receipts|Receipt[i]|User|UserID") Write-Debug "ReceiptNumber: " + string(loo_Xml.GetChildIntValue("Receipts|Receipt[i]|ReceiptNumber")) Write-Debug "----" i = i + 1 loop // 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> destroy loo_Rest destroy loo_SbXml destroy loo_Xml |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.