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
(PureBasic) 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.
IncludeFile "CkXml.pb" IncludeFile "CkStringBuilder.pb" IncludeFile "CkRest.pb" Procedure ChilkatExample() ; 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.i = CkRest::ckCreate() If rest.i = 0 Debug "Failed to create object." ProcedureReturn EndIf success.i ; 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.i = CkStringBuilder::ckCreate() If sbXml.i = 0 Debug "Failed to create object." ProcedureReturn EndIf success = CkRest::ckFullRequestNoBodySb(rest,"GET","/payroll.xro/1.0/Employees",sbXml) If success <> 1 Debug CkRest::ckLastErrorText(rest) CkRest::ckDispose(rest) CkStringBuilder::ckDispose(sbXml) ProcedureReturn EndIf ; A 200 response is expected for actual success. If CkRest::ckResponseStatusCode(rest) <> 200 Debug CkStringBuilder::ckGetAsString(sbXml) CkRest::ckDispose(rest) CkStringBuilder::ckDispose(sbXml) ProcedureReturn EndIf ; Iterate over the employees and get some information.. bAutoTrim.i = 0 xml.i = CkXml::ckCreate() If xml.i = 0 Debug "Failed to create object." ProcedureReturn EndIf CkXml::ckLoadSb(xml,sbXml,bAutoTrim) CkXml::ckSaveXml(xml,"qa_cache/xero_employees.xml") ; How many records exist? recordCount.i = CkXml::ckNumChildrenAt(xml,"Employees") Debug "numRecords = " + Str(recordCount) i.i = 0 While i < recordCount CkXml::setCkI(xml, i) Debug "EmployeeID: " + CkXml::ckGetChildContent(xml,"Employees|Employee[i]|EmployeeID") Debug "FirstName: " + CkXml::ckGetChildContent(xml,"Employees|Employee[i]|FirstName") Debug "LastName: " + CkXml::ckGetChildContent(xml,"Employees|Employee[i]|LastName") Debug "----" i = i + 1 Wend ; 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::ckDispose(rest) CkStringBuilder::ckDispose(sbXml) CkXml::ckDispose(xml) ProcedureReturn EndProcedure |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.