Swift
Swift
Xero Get Accounts
See more Xero Examples
Download Xero accounts informationChilkat Swift Downloads
func chilkatTest() {
var success: Bool = false
// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
let http = CkoHttp()!
let jsonToken = CkoJsonObject()!
success = jsonToken.loadFile(path: "qa_data/tokens/xero-access-token.json")
if success == false {
print("\(jsonToken.lastErrorText!)")
return
}
http.authToken = jsonToken.string(of: "access_token")
// Replace the value here with an actual tenant ID obtained from this example:
// Get Xero Tenant IDs
http.setRequestHeader(name: "Xero-tenant-id", value: "83299b9e-5747-4a14-a18a-a6c94f824eb7")
http.accept = "application/json"
let resp = CkoHttpResponse()!
success = http.httpNoBody(verb: "GET", url: "https://api.xero.com/api.xro/2.0/Accounts", response: resp)
if success == false {
print("\(http.lastErrorText!)")
return
}
print("Response Status Code: \(resp.statusCode.intValue)")
let jsonResponse = CkoJsonObject()!
jsonResponse.load(json: resp.bodyStr)
jsonResponse.emitCompact = false
print("\(jsonResponse.emit()!)")
if resp.statusCode.intValue != 200 {
print("Failed.")
return
}
// Sample output...
// (See the parsing code below..)
//
// Use the this online tool to generate parsing code from sample JSON:
// Generate Parsing Code from JSON
// {
// "Accounts": [
// {
// "AccountID": "ebd06280-af70-4bed-97c6-7451a454ad85",
// "Code": "091",
// "Name": "Business Savings Account",
// "Type": "BANK",
// "TaxType": "NONE",
// "EnablePaymentsToAccount": false,
// "BankAccountNumber": "0209087654321050",
// "BankAccountType": "BANK",
// "CurrencyCode": "NZD"
// },
// {
// "AccountID": "7d05a53d-613d-4eb2-a2fc-dcb6adb80b80",
// "Code": "200",
// "Name": "Sales",
// "Type": "REVENUE",
// "TaxType": "OUTPUT2",
// "Description": "Income from any normal business activity",
// "EnablePaymentsToAccount": false
// }
// ]
// }
//
var AccountID: String?
var Code: String?
var Name: String?
var Type: String?
var TaxType: String?
var EnablePaymentsToAccount: Bool
var BankAccountNumber: String?
var BankAccountType: String?
var CurrencyCode: String?
var Description: String?
var i: Int = 0
var count_i: Int = jsonResponse.size(ofArray: "Accounts").intValue
while i < count_i {
jsonResponse.i = i
AccountID = jsonResponse.string(of: "Accounts[i].AccountID")
Code = jsonResponse.string(of: "Accounts[i].Code")
Name = jsonResponse.string(of: "Accounts[i].Name")
Type = jsonResponse.string(of: "Accounts[i].Type")
TaxType = jsonResponse.string(of: "Accounts[i].TaxType")
EnablePaymentsToAccount = jsonResponse.bool(of: "Accounts[i].EnablePaymentsToAccount")
BankAccountNumber = jsonResponse.string(of: "Accounts[i].BankAccountNumber")
BankAccountType = jsonResponse.string(of: "Accounts[i].BankAccountType")
CurrencyCode = jsonResponse.string(of: "Accounts[i].CurrencyCode")
Description = jsonResponse.string(of: "Accounts[i].Description")
i = i + 1
}
}