Sample code for 30+ languages & platforms
Unicode C++

Xero Delete Account

Demonstrates how to delete an account in Xero.

Note: Requires Chilkat v9.5.0.64 or greater.

Chilkat Unicode C++ Downloads

Unicode C++
#include <CkRestW.h>
#include <CkStringBuilderW.h>

void ChilkatSample(void)
    {
    bool success = false;

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

    CkRestW 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.
    const wchar_t *accountID = L"cb8c94cf-57d4-41ee-b866-4c27632fe838";

    CkStringBuilderW sbPath;
    sbPath.Append(L"/api.xro/2.0/Accounts/");
    sbPath.Append(accountID);

    const wchar_t *xmlResponse = rest.fullRequestNoBody(L"DELETE",sbPath.getAsString());
    if (success != true) {
        wprintf(L"%s\n",rest.lastErrorText());
        return;
    }

    //  A 200 response is expected for actual success.
    if (rest.get_ResponseStatusCode() != 200) {
        wprintf(L"%s\n",xmlResponse);
        wprintf(L"failed.\n");
        return;
    }

    wprintf(L"%s\n",xmlResponse);
    wprintf(L"success.\n");

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