Visual FoxPro
Visual FoxPro
Xero Get a Filtered Set of Resources (Get all SALES Accounts)
Demonstrates how to add the "where" parameter to get a filtered set of resources. See Get Filtered Resources.This example gets the accounts where the Type = "SALES".
Note: Requires Chilkat v9.5.0.64 or greater.
Chilkat Visual FoxPro Downloads
LOCAL lnSuccess
LOCAL loRest
LOCAL loSbXml
LOCAL lnBAutoTrim
LOCAL loXml
LOCAL lnNumAccounts
LOCAL i
lnSuccess = 0
* 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.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..
* ------------------------------------------------------------
* Add the "where" parameter.
loRest.AddQueryParam("where",'Type=="SALES"')
* Get the full list of accounts.
loSbXml = CreateObject('Chilkat.StringBuilder')
lnSuccess = loRest.FullRequestNoBodySb("GET","/api.xro/2.0/Accounts",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 accounts and get some information..
lnBAutoTrim = 0
loXml = CreateObject('Chilkat.Xml')
loXml.LoadSb(loSbXml,lnBAutoTrim)
* How many accounts exist?
lnNumAccounts = loXml.NumChildrenAt("Accounts")
? "numAccounts = " + STR(lnNumAccounts)
i = 0
DO WHILE i < lnNumAccounts
loXml.I = i
? "AccountID: " + loXml.GetChildContent("Accounts|Account[i]|AccountID")
? "Name: " + loXml.GetChildContent("Accounts|Account[i]|Name")
? "Code: " + STR(loXml.GetChildIntValue("Accounts|Account[i]|Code"))
? "EnablePaymentsToAccount: " + STR(loXml.GetChildBoolValue("Accounts|Account[i]|EnablePaymentsToAccount"))
? "----"
i = i + 1
ENDDO
RELEASE loRest
RELEASE loSbXml
RELEASE loXml