Sample code for 30+ languages & platforms
PHP Extension

Xero Delete Account

Demonstrates how to delete an account in Xero.

Note: Requires Chilkat v9.5.0.64 or greater.

Chilkat PHP Extension Downloads

PHP Extension
<?php

include("chilkat.php");

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

$rest = new CkRest();

// 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.
$accountID = 'cb8c94cf-57d4-41ee-b866-4c27632fe838';

$sbPath = new CkStringBuilder();
$sbPath->Append('/api.xro/2.0/Accounts/');
$sbPath->Append($accountID);

$xmlResponse = $rest->fullRequestNoBody('DELETE',$sbPath->getAsString());
if ($success != true) {
    print $rest->lastErrorText() . "\n";
    exit;
}

// A 200 response is expected for actual success.
if ($rest->get_ResponseStatusCode() != 200) {
    print $xmlResponse . "\n";
    print 'failed.' . "\n";
    exit;
}

print $xmlResponse . "\n";
print '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>

?>