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
(Delphi DLL) 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.
uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, StringBuilder, Rest, Xml; ... procedure TForm1.Button1Click(Sender: TObject); var rest: HCkRest; success: Boolean; sbXml: HCkStringBuilder; bAutoTrim: Boolean; xml: HCkXml; recordCount: Integer; i: Integer; begin // 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. rest := CkRest_Create(); // 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. sbXml := CkStringBuilder_Create(); success := CkRest_FullRequestNoBodySb(rest,'GET','/payroll.xro/1.0/Employees',sbXml); if (success <> True) then begin Memo1.Lines.Add(CkRest__lastErrorText(rest)); Exit; end; // A 200 response is expected for actual success. if (CkRest_getResponseStatusCode(rest) <> 200) then begin Memo1.Lines.Add(CkStringBuilder__getAsString(sbXml)); Exit; end; // Iterate over the employees and get some information.. bAutoTrim := False; xml := CkXml_Create(); CkXml_LoadSb(xml,sbXml,bAutoTrim); CkXml_SaveXml(xml,'qa_cache/xero_employees.xml'); // How many records exist? recordCount := CkXml_NumChildrenAt(xml,'Employees'); Memo1.Lines.Add('numRecords = ' + IntToStr(recordCount)); i := 0; while i < recordCount do begin CkXml_putI(xml,i); Memo1.Lines.Add('EmployeeID: ' + CkXml__getChildContent(xml,'Employees|Employee[i]|EmployeeID')); Memo1.Lines.Add('FirstName: ' + CkXml__getChildContent(xml,'Employees|Employee[i]|FirstName')); Memo1.Lines.Add('LastName: ' + CkXml__getChildContent(xml,'Employees|Employee[i]|LastName')); Memo1.Lines.Add('----'); i := i + 1; end; // 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> CkRest_Dispose(rest); CkStringBuilder_Dispose(sbXml); CkXml_Dispose(xml); end; |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.