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
(Visual FoxPro) Xero Get Individual Employee Details (Payroll API Australia)Demonstrates how to get the detailed data for a particular employee. Note: This example requires Chilkat v9.5.0.64 or greater.
LOCAL loRest LOCAL lnSuccess LOCAL loSbPath LOCAL loSbXml LOCAL lnBAutoTrim LOCAL loXml LOCAL lnRecordCount LOCAL i * 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. loRest = CreateObject('Chilkat_9_5_0.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.. loSbPath = CreateObject('Chilkat_9_5_0.StringBuilder') loSbPath.Append("/payroll.xro/1.0/Employees/") * To get the detailed information for an individual employee, * add the EmployeeID to the path. loSbPath.Append("056a9821-55b8-4c91-b5ce-a6ce2ab508ab") * Get the data for the indicated employee. loSbXml = CreateObject('Chilkat_9_5_0.StringBuilder') lnSuccess = loRest.FullRequestNoBodySb("GET",loSbPath.GetAsString(),loSbXml) IF (lnSuccess <> 1) THEN ? loRest.LastErrorText RELEASE loRest RELEASE loSbPath RELEASE loSbXml CANCEL ENDIF * A 200 response is expected for actual success. IF (loRest.ResponseStatusCode <> 200) THEN ? loSbXml.GetAsString() RELEASE loRest RELEASE loSbPath RELEASE loSbXml CANCEL ENDIF * Iterate over the employees and get some information.. lnBAutoTrim = 0 loXml = CreateObject('Chilkat_9_5_0.Xml') loXml.LoadSb(loSbXml,lnBAutoTrim) loXml.SaveXml("qa_cache/xero_employee_lebron.xml") * Use GetChild2 to navigate to the BankAccounts node. lnSuccess = loXml.FindChild2("Employees|Employee|BankAccounts") IF (lnSuccess = 0) THEN ? "BankAccounts node not found." RELEASE loRest RELEASE loSbPath RELEASE loSbXml RELEASE loXml CANCEL ENDIF * Demonstrate how to iterate over each of the employee's Bank Accounts to get information * from each. (This same technique can be used for other parts of the XML.) lnRecordCount = loXml.NumChildren ? "Number of Bank Accounts = " + STR(lnRecordCount) i = 0 DO WHILE i < lnRecordCount loXml.I = i ? "AccountName: " + loXml.GetChildContent("BankAccount|AccountName") ? "StatementText: " + loXml.GetChildContent("BankAccount|StatementText") ? "AccountNumber: " + loXml.GetChildContent("BankAccount|AccountNumber") ? "Amount: " + loXml.GetChildContent("BankAccount|Amount") ? "----" i = i + 1 ENDDO * Return back to the root. loXml.GetRoot2() * The output looks like this: * Number of Bank Accounts = 2 * AccountName: James Lebron Savings * StatementText: Salary * AccountNumber: 345678 * Amount: 200.00 * ---- * AccountName: James Lebron Savings * StatementText: Salary * AccountNumber: 345678 * Amount: 200.00 * ---- * The employee XML looks like this: * <?xml version="1.0" encoding="utf-8" ?> * <Response xmlns:i="http://www.w3.org/2001/XMLSchema-instance"> * <Id>6131dfc6-d11c-4fe0-aa1c-f7356c54754c</Id> * <Status>OK</Status> * <ProviderName>ChilkatAU</ProviderName> * <DateTimeUTC>2016-11-11T20:53:38.752419Z</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> * <HomeAddress> * <AddressLine1>123 Main St</AddressLine1> * <City>St. Kilda</City> * <Region>VIC</Region> * <PostalCode>3182</PostalCode> * <Country>AUSTRALIA</Country> * </HomeAddress> * <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> * <IsAuthorisedToApproveLeave>false</IsAuthorisedToApproveLeave> * <TaxDeclaration> * <TaxFileNumber>999999811</TaxFileNumber> * <EmploymentBasis>FULLTIME</EmploymentBasis> * <AustralianResidentForTaxPurposes>true</AustralianResidentForTaxPurposes> * <TaxFreeThresholdClaimed>true</TaxFreeThresholdClaimed> * <HasHELPDebt>true</HasHELPDebt> * <HasSFSSDebt>false</HasSFSSDebt> * <EligibleToReceiveLeaveLoading>false</EligibleToReceiveLeaveLoading> * <UpdatedDateUTC>2016-11-11T20:29:03</UpdatedDateUTC> * <HasStudentStartupLoan>false</HasStudentStartupLoan> * </TaxDeclaration> * <BankAccounts> * <BankAccount> * <StatementText>Salary</StatementText> * <AccountName>James Lebron Savings</AccountName> * <BSB>122344</BSB> * <AccountNumber>345678</AccountNumber> * <Remainder>false</Remainder> * <Amount>200.00</Amount> * </BankAccount> * <BankAccount> * <StatementText>Salary</StatementText> * <AccountName>James Lebron</AccountName> * <BSB>123443</BSB> * <AccountNumber>2345678</AccountNumber> * <Remainder>true</Remainder> * </BankAccount> * </BankAccounts> * <OpeningBalances> * <OpeningBalanceDate>2016-02-01T00:00:00</OpeningBalanceDate> * <EarningsLines> * <EarningsLine> * <EarningsRateID>2c4fbb29-aa68-4a8d-bc05-3f6366f75227</EarningsRateID> * <Amount>13333.33</Amount> * </EarningsLine> * </EarningsLines> * <DeductionLines> * <DeductionLine> * <DeductionTypeID>2fd4c1e2-5bbb-43e4-a396-4c146f2f9b77</DeductionTypeID> * <Amount>40.00</Amount> * </DeductionLine> * </DeductionLines> * <Tax>4000.00</Tax> * <SuperLines> * <SuperLine> * <SuperMembershipID>9e9cc70d-1d6c-4ce5-a402-2c4fe80c02b0</SuperMembershipID> * <ContributionType>SGC</ContributionType> * <Amount>3999.99</Amount> * </SuperLine> * </SuperLines> * <ReimbursementLines /> * <LeaveLines> * <LeaveLine> * <LeaveTypeID>8aa43544-f7f2-4b7a-9ddf-0a9c831c4679</LeaveTypeID> * <NumberOfUnits>100.0000</NumberOfUnits> * </LeaveLine> * <LeaveLine> * <LeaveTypeID>8874e0c0-d1d8-4635-a359-c09f6cf1c747</LeaveTypeID> * <NumberOfUnits>40.0000</NumberOfUnits> * </LeaveLine> * </LeaveLines> * </OpeningBalances> * <PayTemplate> * <EarningsLines> * <EarningsLine> * <EarningsRateID>2c4fbb29-aa68-4a8d-bc05-3f6366f75227</EarningsRateID> * <CalculationType>ANNUALSALARY</CalculationType> * <AnnualSalary>40000.00</AnnualSalary> * <NumberOfUnitsPerWeek>38.0000</NumberOfUnitsPerWeek> * </EarningsLine> * </EarningsLines> * <DeductionLines> * <DeductionLine> * <DeductionTypeID>2fd4c1e2-5bbb-43e4-a396-4c146f2f9b77</DeductionTypeID> * <CalculationType>FIXEDAMOUNT</CalculationType> * <Amount>10.00</Amount> * </DeductionLine> * </DeductionLines> * <SuperLines> * <SuperLine> * <SuperMembershipID>9e9cc70d-1d6c-4ce5-a402-2c4fe80c02b0</SuperMembershipID> * <ContributionType>SGC</ContributionType> * <CalculationType>PERCENTAGEOFEARNINGS</CalculationType> * <MinimumMonthlyEarnings>450.00</MinimumMonthlyEarnings> * <ExpenseAccountCode>478</ExpenseAccountCode> * <LiabilityAccountCode>826</LiabilityAccountCode> * <Percentage>9.0000</Percentage> * </SuperLine> * <SuperLine> * <SuperMembershipID>9e9cc70d-1d6c-4ce5-a402-2c4fe80c02b0</SuperMembershipID> * <ContributionType>SALARYSACRIFICE</ContributionType> * <CalculationType>FIXEDAMOUNT</CalculationType> * <ExpenseAccountCode>478</ExpenseAccountCode> * <LiabilityAccountCode>826</LiabilityAccountCode> * <Amount>50.0000</Amount> * </SuperLine> * </SuperLines> * <ReimbursementLines /> * <LeaveLines> * <LeaveLine> * <LeaveTypeID>8aa43544-f7f2-4b7a-9ddf-0a9c831c4679</LeaveTypeID> * <CalculationType>FIXEDAMOUNTEACHPERIOD</CalculationType> * <AnnualNumberOfUnits>152.0000</AnnualNumberOfUnits> * </LeaveLine> * <LeaveLine> * <LeaveTypeID>8874e0c0-d1d8-4635-a359-c09f6cf1c747</LeaveTypeID> * <CalculationType>FIXEDAMOUNTEACHPERIOD</CalculationType> * <AnnualNumberOfUnits>76.0000</AnnualNumberOfUnits> * </LeaveLine> * </LeaveLines> * </PayTemplate> * <SuperMemberships> * <SuperMembership> * <SuperMembershipID>9e9cc70d-1d6c-4ce5-a402-2c4fe80c02b0</SuperMembershipID> * <SuperFundID>2bab4eeb-6f3c-4c66-a1f0-52fcb81f412a</SuperFundID> * <EmployeeNumber>1234</EmployeeNumber> * </SuperMembership> * </SuperMemberships> * <LeaveBalances> * <LeaveBalance> * <LeaveName>Annual Leave</LeaveName> * <LeaveTypeID>8aa43544-f7f2-4b7a-9ddf-0a9c831c4679</LeaveTypeID> * <NumberOfUnits>88.8602</NumberOfUnits> * <TypeOfUnits>Hours</TypeOfUnits> * </LeaveBalance> * <LeaveBalance> * <LeaveName>Personal/Carer's Leave</LeaveName> * <LeaveTypeID>8874e0c0-d1d8-4635-a359-c09f6cf1c747</LeaveTypeID> * <NumberOfUnits>45.8302</NumberOfUnits> * <TypeOfUnits>Hours</TypeOfUnits> * </LeaveBalance> * </LeaveBalances> * </Employee> * </Employees> * </Response> * * RELEASE loRest RELEASE loSbPath RELEASE loSbXml RELEASE loXml |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.