Sample code for 30+ languages & platforms
DataFlex

Xero Delete Account

Demonstrates how to delete an account in Xero.

Note: Requires Chilkat v9.5.0.64 or greater.

Chilkat DataFlex Downloads

DataFlex
Use ChilkatAx-win32.pkg

Procedure Test
    Boolean iSuccess
    Handle hoRest
    String sAccountID
    Handle hoSbPath
    String sXmlResponse
    String sTemp1
    Integer iTemp1

    Move False To iSuccess

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

    Get Create (RefClass(cComChilkatRest)) To hoRest
    If (Not(IsComObjectCreated(hoRest))) Begin
        Send CreateComObject of hoRest
    End

    // 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.
    Move "cb8c94cf-57d4-41ee-b866-4c27632fe838" To sAccountID

    Get Create (RefClass(cComChilkatStringBuilder)) To hoSbPath
    If (Not(IsComObjectCreated(hoSbPath))) Begin
        Send CreateComObject of hoSbPath
    End
    Get ComAppend Of hoSbPath "/api.xro/2.0/Accounts/" To iSuccess
    Get ComAppend Of hoSbPath sAccountID To iSuccess

    Get ComGetAsString Of hoSbPath To sTemp1
    Get ComFullRequestNoBody Of hoRest "DELETE" sTemp1 To sXmlResponse
    If (iSuccess <> True) Begin
        Get ComLastErrorText Of hoRest To sTemp1
        Showln sTemp1
        Procedure_Return
    End

    // A 200 response is expected for actual success.
    Get ComResponseStatusCode Of hoRest To iTemp1
    If (iTemp1 <> 200) Begin
        Showln sXmlResponse
        Showln "failed."
        Procedure_Return
    End

    Showln sXmlResponse
    Showln "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>


End_Procedure