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
(Visual FoxPro) Xero Get ReceiptsDemonstrates how to get all receipts from Xero accounting. Note: This example requires Chilkat v9.5.0.64 or greater.
LOCAL loRest LOCAL lnSuccess LOCAL loSbXml LOCAL lnBAutoTrim LOCAL loXml LOCAL lnRecordCount LOCAL 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. loRest = CreateObject('Chilkat_9_5_0.Rest') * 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. loSbXml = CreateObject('Chilkat_9_5_0.StringBuilder') lnSuccess = loRest.FullRequestNoBodySb("GET","/api.xro/2.0/Receipts",loSbXml) IF (lnSuccess <> 1) THEN ? loRest.LastErrorText RELEASE loRest RELEASE loSbXml CANCEL ENDIF * A 200 response is expected for actual success. IF (loRest.ResponseStatusCode <> 200) THEN ? loSbXml.GetAsString() RELEASE loRest RELEASE loSbXml CANCEL ENDIF * Iterate over the receipts and get some information.. lnBAutoTrim = 0 loXml = CreateObject('Chilkat_9_5_0.Xml') loXml.LoadSb(loSbXml,lnBAutoTrim) loXml.SaveXml("qa_cache/xero_receipts.xml") * How many records exist? lnRecordCount = loXml.NumChildrenAt("Receipts") ? "numRecords = " + STR(lnRecordCount) i = 0 DO WHILE i < lnRecordCount loXml.I = i ? "ReceiptID: " + loXml.GetChildContent("Receipts|Receipt[i]|ReceiptID") ? "UserID: " + loXml.GetChildContent("Receipts|Receipt[i]|User|UserID") ? "ReceiptNumber: " + STR(loXml.GetChildIntValue("Receipts|Receipt[i]|ReceiptNumber")) ? "----" i = i + 1 ENDDO * 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> RELEASE loRest RELEASE loSbXml RELEASE loXml |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.