Objective-C
Objective-C
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 Objective-C Downloads
#import <CkoRest.h>
#import <CkoStringBuilder.h>
#import <CkoXml.h>
BOOL success = NO;
// 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.
CkoRest *rest = [[CkoRest alloc] init];
// 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.
[rest AddQueryParam: @"where" value: @"Type==\"SALES\""];
// Get the full list of accounts.
CkoStringBuilder *sbXml = [[CkoStringBuilder alloc] init];
success = [rest FullRequestNoBodySb: @"GET" uriPath: @"/api.xro/2.0/Accounts" sb: sbXml];
if (success != YES) {
NSLog(@"%@",rest.LastErrorText);
return;
}
// A 200 response is expected for actual success.
if ([rest.ResponseStatusCode intValue] != 200) {
NSLog(@"%@",[sbXml GetAsString]);
return;
}
// Iterate over the accounts and get some information..
BOOL bAutoTrim = NO;
CkoXml *xml = [[CkoXml alloc] init];
[xml LoadSb: sbXml autoTrim: bAutoTrim];
// How many accounts exist?
int numAccounts = [[xml NumChildrenAt: @"Accounts"] intValue];
NSLog(@"%@%d",@"numAccounts = ",numAccounts);
int i = 0;
while (i < numAccounts) {
xml.I = [NSNumber numberWithInt: i];
NSLog(@"%@%@",@"AccountID: ",[xml GetChildContent: @"Accounts|Account[i]|AccountID"]);
NSLog(@"%@%@",@"Name: ",[xml GetChildContent: @"Accounts|Account[i]|Name"]);
NSLog(@"%@%d",@"Code: ",[[xml GetChildIntValue: @"Accounts|Account[i]|Code"] intValue]);
NSLog(@"%@%d",@"EnablePaymentsToAccount: ",[xml GetChildBoolValue: @"Accounts|Account[i]|EnablePaymentsToAccount"]);
NSLog(@"%@",@"----");
i = i + 1;
}