Sample code for 30+ languages & platforms
Visual FoxPro

Xero Delete Account

Demonstrates how to delete an account in Xero.

Note: Requires Chilkat v9.5.0.64 or greater.

Chilkat Visual FoxPro Downloads

Visual FoxPro
LOCAL lnSuccess
LOCAL loRest
LOCAL lcAccountID
LOCAL loSbPath
LOCAL lcXmlResponse

lnSuccess = 0

*  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.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..

*  -------------------------------------------------------------------
*  Accounts are deleted by AccountID.
lcAccountID = "cb8c94cf-57d4-41ee-b866-4c27632fe838"

loSbPath = CreateObject('Chilkat.StringBuilder')
loSbPath.Append("/api.xro/2.0/Accounts/")
loSbPath.Append(lcAccountID)

lcXmlResponse = loRest.FullRequestNoBody("DELETE",loSbPath.GetAsString())
IF (lnSuccess <> 1) THEN
    ? loRest.LastErrorText
    RELEASE loRest
    RELEASE loSbPath
    CANCEL
ENDIF

*  A 200 response is expected for actual success.
IF (loRest.ResponseStatusCode <> 200) THEN
    ? lcXmlResponse
    ? "failed."
    RELEASE loRest
    RELEASE loSbPath
    CANCEL
ENDIF

? lcXmlResponse
? "success."

*  A successful response looks like this:

*  <Response xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
*    <Id>a2cdf307-8e47-468c-9251-32a6f6cf60b7</Id>
*    <Status>OK</Status>
*    <ProviderName>ChilkatPrivate</ProviderName>
*    <DateTimeUTC>2016-11-11T02:09:22.1082261Z</DateTimeUTC>
*    <Accounts>
*      <Account>
*        <AccountID>cb8c94cf-57d4-41ee-b866-4c27632fe838</AccountID>
*        <Code>601</Code>
*        <Name>Sales - clearance lines</Name>
*        <Status>DELETED</Status>
*        <Type>SALES</Type>
*        <TaxType>OUTPUT</TaxType>
*        <Class>REVENUE</Class>
*        <EnablePaymentsToAccount>false</EnablePaymentsToAccount>
*        <ShowInExpenseClaims>false</ShowInExpenseClaims>
*        <ReportingCode>REV</ReportingCode>
*        <ReportingCodeName>Revenue</ReportingCodeName>
*        <UpdatedDateUTC>2016-11-11T02:09:22.237</UpdatedDateUTC>
*      </Account>
*    </Accounts>
*  </Response>

RELEASE loRest
RELEASE loSbPath