Unicode C++
Unicode C++
Xero Get Employees (Payroll API Australia)
Demonstrates how to get the summarised list of active employees.Note: This example requires Chilkat v9.5.0.64 or greater.
Chilkat Unicode C++ Downloads
#include <CkRestW.h>
#include <CkStringBuilderW.h>
#include <CkXmlW.h>
void ChilkatSample(void)
{
bool success = false;
// 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.
CkRestW 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..
// Get the full list of employees.
CkStringBuilderW sbXml;
success = rest.FullRequestNoBodySb(L"GET",L"/payroll.xro/1.0/Employees",sbXml);
if (success != true) {
wprintf(L"%s\n",rest.lastErrorText());
return;
}
// A 200 response is expected for actual success.
if (rest.get_ResponseStatusCode() != 200) {
wprintf(L"%s\n",sbXml.getAsString());
return;
}
// Iterate over the employees and get some information..
bool bAutoTrim = false;
CkXmlW xml;
xml.LoadSb(sbXml,bAutoTrim);
xml.SaveXml(L"qa_cache/xero_employees.xml");
// How many records exist?
int recordCount = xml.NumChildrenAt(L"Employees");
wprintf(L"numRecords = %d\n",recordCount);
int i = 0;
while (i < recordCount) {
xml.put_I(i);
wprintf(L"EmployeeID: %s\n",xml.getChildContent(L"Employees|Employee[i]|EmployeeID"));
wprintf(L"FirstName: %s\n",xml.getChildContent(L"Employees|Employee[i]|FirstName"));
wprintf(L"LastName: %s\n",xml.getChildContent(L"Employees|Employee[i]|LastName"));
wprintf(L"----\n");
i = i + 1;
}
// The output looks like this:
// numRecords = 6
// EmployeeID: 056a9821-55b8-4c91-b5ce-a6ce2ab508ab
// FirstName: James
// LastName: Lebron
// ----
// EmployeeID: 1f606d28-0537-42af-80ce-312d449458af
// FirstName: Odette
// LastName: Garrison
// ----
// EmployeeID: c086c9ce-821b-4636-8e9a-7864bd50d882
// FirstName: Oliver
// LastName: Gray
// ----
// EmployeeID: 1612dfee-37d2-4c5d-a7b9-187aee5f264a
// FirstName: Sally
// LastName: Martin
// ----
// EmployeeID: 2df65756-538b-4bc1-b0c3-f3971d86b650
// FirstName: Sonia
// LastName: Michaels
// ----
// EmployeeID: 08dcd870-3d8f-495f-af54-69029a89eb7d
// FirstName: Tracy
// LastName: Green
// ----
// The xero_employees.xml file contains data that looks like this:
// <?xml version="1.0" encoding="utf-8" ?>
// <Response xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
// <Id>c1dfd096-5552-4459-bf94-f283357998c5</Id>
// <Status>OK</Status>
// <ProviderName>ChilkatAU</ProviderName>
// <DateTimeUTC>2016-11-11T20:47:18.4411917Z</DateTimeUTC>
// <Employees>
// <Employee>
// <EmployeeID>056a9821-55b8-4c91-b5ce-a6ce2ab508ab</EmployeeID>
// <FirstName>James</FirstName>
// <LastName>Lebron</LastName>
// <Status>ACTIVE</Status>
// <Email>JL@madeup.email.com</Email>
// <DateOfBirth>1982-03-15T00:00:00</DateOfBirth>
// <Gender>M</Gender>
// <Phone>0400-000-123</Phone>
// <Mobile> 408-230-9732</Mobile>
// <StartDate>2015-09-01T00:00:00</StartDate>
// <OrdinaryEarningsRateID>2c4fbb29-aa68-4a8d-bc05-3f6366f75227</OrdinaryEarningsRateID>
// <PayrollCalendarID>4c08f63d-53af-4521-a8be-1d77fc0faf45</PayrollCalendarID>
// <UpdatedDateUTC>2016-11-11T20:29:03</UpdatedDateUTC>
// </Employee>
// <Employee>
// <EmployeeID>1f606d28-0537-42af-80ce-312d449458af</EmployeeID>
// <FirstName>Odette</FirstName>
// <LastName>Garrison</LastName>
// <Status>ACTIVE</Status>
// <Email>ogg@madeup.email.com</Email>
// <DateOfBirth>1978-12-18T00:00:00</DateOfBirth>
// <Gender>F</Gender>
// <Phone>9000 1234</Phone>
// <StartDate>2015-11-05T00:00:00</StartDate>
// <OrdinaryEarningsRateID>2c4fbb29-aa68-4a8d-bc05-3f6366f75227</OrdinaryEarningsRateID>
// <PayrollCalendarID>e53023e6-70f1-45c7-b699-6558b5e42b4e</PayrollCalendarID>
// <UpdatedDateUTC>2016-11-11T20:29:03</UpdatedDateUTC>
// </Employee>
// <Employee>
// <EmployeeID>c086c9ce-821b-4636-8e9a-7864bd50d882</EmployeeID>
// <FirstName>Oliver</FirstName>
// <LastName>Gray</LastName>
// <Status>ACTIVE</Status>
// <Email>og@madeup.email.com</Email>
// <DateOfBirth>1969-07-28T00:00:00</DateOfBirth>
// <Gender>M</Gender>
// <Phone>0401 123 456</Phone>
// <StartDate>2016-02-02T00:00:00</StartDate>
// <OrdinaryEarningsRateID>2c4fbb29-aa68-4a8d-bc05-3f6366f75227</OrdinaryEarningsRateID>
// <PayrollCalendarID>4c08f63d-53af-4521-a8be-1d77fc0faf45</PayrollCalendarID>
// <UpdatedDateUTC>2016-11-11T20:29:03</UpdatedDateUTC>
// </Employee>
// <Employee>
// <EmployeeID>1612dfee-37d2-4c5d-a7b9-187aee5f264a</EmployeeID>
// <FirstName>Sally </FirstName>
// <LastName>Martin</LastName>
// <Status>ACTIVE</Status>
// <Email>sm@madeup3993.com</Email>
// <DateOfBirth>1987-06-28T00:00:00</DateOfBirth>
// <Gender>F</Gender>
// <Phone>0400 123 456</Phone>
// <StartDate>2016-08-01T00:00:00</StartDate>
// <OrdinaryEarningsRateID>2c4fbb29-aa68-4a8d-bc05-3f6366f75227</OrdinaryEarningsRateID>
// <PayrollCalendarID>4c08f63d-53af-4521-a8be-1d77fc0faf45</PayrollCalendarID>
// <UpdatedDateUTC>2016-11-11T20:29:03</UpdatedDateUTC>
// </Employee>
// <Employee>
// <EmployeeID>2df65756-538b-4bc1-b0c3-f3971d86b650</EmployeeID>
// <FirstName>Sonia</FirstName>
// <LastName>Michaels</LastName>
// <Status>ACTIVE</Status>
// <Email>som@madeup3993.com</Email>
// <DateOfBirth>1989-08-24T00:00:00</DateOfBirth>
// <Gender>F</Gender>
// <Phone>02 2345 6789</Phone>
// <Mobile> </Mobile>
// <UpdatedDateUTC>2016-11-11T20:29:03</UpdatedDateUTC>
// </Employee>
// <Employee>
// <EmployeeID>08dcd870-3d8f-495f-af54-69029a89eb7d</EmployeeID>
// <FirstName>Tracy</FirstName>
// <LastName>Green</LastName>
// <Status>ACTIVE</Status>
// <Email>tg@madeup.email.com</Email>
// <DateOfBirth>1989-03-06T00:00:00</DateOfBirth>
// <Gender>F</Gender>
// <Phone>0402 123 456</Phone>
// <StartDate>2015-12-02T00:00:00</StartDate>
// <OrdinaryEarningsRateID>2c4fbb29-aa68-4a8d-bc05-3f6366f75227</OrdinaryEarningsRateID>
// <PayrollCalendarID>e53023e6-70f1-45c7-b699-6558b5e42b4e</PayrollCalendarID>
// <UpdatedDateUTC>2016-11-11T20:29:03</UpdatedDateUTC>
// </Employee>
// </Employees>
// </Response>
}