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
(Classic ASP) 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.
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> </head> <body> <% ' 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. set rest = Server.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.. set sbPath = Server.CreateObject("Chilkat_9_5_0.StringBuilder") success = sbPath.Append("/payroll.xro/1.0/Employees/") ' To get the detailed information for an individual employee, ' add the EmployeeID to the path. success = sbPath.Append("056a9821-55b8-4c91-b5ce-a6ce2ab508ab") ' Get the data for the indicated employee. set sbXml = Server.CreateObject("Chilkat_9_5_0.StringBuilder") success = rest.FullRequestNoBodySb("GET",sbPath.GetAsString(),sbXml) If (success <> 1) Then Response.Write "<pre>" & Server.HTMLEncode( rest.LastErrorText) & "</pre>" Response.End End If ' A 200 response is expected for actual success. If (rest.ResponseStatusCode <> 200) Then Response.Write "<pre>" & Server.HTMLEncode( sbXml.GetAsString()) & "</pre>" Response.End End If ' Iterate over the employees and get some information.. bAutoTrim = 0 set xml = Server.CreateObject("Chilkat_9_5_0.Xml") success = xml.LoadSb(sbXml,bAutoTrim) success = xml.SaveXml("qa_cache/xero_employee_lebron.xml") ' Use GetChild2 to navigate to the BankAccounts node. success = xml.FindChild2("Employees|Employee|BankAccounts") If (success = 0) Then Response.Write "<pre>" & Server.HTMLEncode( "BankAccounts node not found.") & "</pre>" Response.End End If ' 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 Response.Write "<pre>" & Server.HTMLEncode( "Number of Bank Accounts = " & recordCount) & "</pre>" i = 0 Do While i < recordCount xml.I = i Response.Write "<pre>" & Server.HTMLEncode( "AccountName: " & xml.GetChildContent("BankAccount|AccountName")) & "</pre>" Response.Write "<pre>" & Server.HTMLEncode( "StatementText: " & xml.GetChildContent("BankAccount|StatementText")) & "</pre>" Response.Write "<pre>" & Server.HTMLEncode( "AccountNumber: " & xml.GetChildContent("BankAccount|AccountNumber")) & "</pre>" Response.Write "<pre>" & Server.HTMLEncode( "Amount: " & xml.GetChildContent("BankAccount|Amount")) & "</pre>" Response.Write "<pre>" & Server.HTMLEncode( "----") & "</pre>" i = i + 1 Loop ' 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> ' ' %> </body> </html> |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.