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
(Chilkat2-Python) 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.
import sys import chilkat2 # 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 = chilkat2.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.. sbPath = chilkat2.StringBuilder() sbPath.Append("/payroll.xro/1.0/Employees/") # To get the detailed information for an individual employee, # add the EmployeeID to the path. sbPath.Append("056a9821-55b8-4c91-b5ce-a6ce2ab508ab") # Get the data for the indicated employee. sbXml = chilkat2.StringBuilder() success = rest.FullRequestNoBodySb("GET",sbPath.GetAsString(),sbXml) if (success != True): print(rest.LastErrorText) sys.exit() # A 200 response is expected for actual success. if (rest.ResponseStatusCode != 200): print(sbXml.GetAsString()) sys.exit() # Iterate over the employees and get some information.. bAutoTrim = False xml = chilkat2.Xml() xml.LoadSb(sbXml,bAutoTrim) xml.SaveXml("qa_cache/xero_employee_lebron.xml") # Use GetChild2 to navigate to the BankAccounts node. success = xml.FindChild2("Employees|Employee|BankAccounts") if (success == False): print("BankAccounts node not found.") sys.exit() # 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.) recordCount = xml.NumChildren print("Number of Bank Accounts = " + str(recordCount)) i = 0 while i < recordCount : xml.I = i print("AccountName: " + xml.GetChildContent("BankAccount|AccountName")) print("StatementText: " + xml.GetChildContent("BankAccount|StatementText")) print("AccountNumber: " + xml.GetChildContent("BankAccount|AccountNumber")) print("Amount: " + xml.GetChildContent("BankAccount|Amount")) print("----") i = i + 1 # Return back to the root. xml.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> # # |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.