Sample code for 30+ languages & platforms
PHP Extension

Adobe Analytics Reporting API (1.4)

See more HTTP Misc Examples

Demonstrates a simple POST of JSON to the Adobe Analytics Reporting API (v1.4)

Chilkat PHP Extension Downloads

PHP Extension
<?php

include("chilkat.php");

$success = false;

// This requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.

// In this example, replace "rsid" with your report suite id, and update the URL to use the correct endpoint
$url = 'https://api.omniture.com/admin/1.4/rest/?method=Report.Queue';

$json = new CkJsonObject();
$json->UpdateString('reportDescription.reportSuiteID','rsid');
$json->UpdateString('reportDescription.dateGranularity','hour');

$http = new CkHttp();

$dt = new CkDateTime();
$dt->SetFromCurrentSystemTime();
$timecreated = $dt->getAsTimestamp(false);

$prng = new CkPrng();
$nonce = $prng->genRandom(12,'hex');

$secret = 'SECRET';

$sb = new CkStringBuilder();
$sb->Append($nonce);
$sb->Append($timecreated);
$sb->Append($secret);

$crypt = new CkCrypt2();
$crypt->put_HashAlgorithm('sha1');
$crypt->put_EncodingMode('base64');
$digest = $crypt->hashStringENC($sb->getAsString());

$sbNonce = new CkStringBuilder();
$sbNonce->Append($nonce);
$sbNonce->Encode('base64');

$sb->Clear();
$sb->Append('UsernameToken Username=\'USERNAME\', PasswordDigest=\'');
$sb->Append($digest);
$sb->Append('\', Nonce=\'');
$sb->Append($sbNonce->getAsString());
$sb->Append('\', Created=\'');
$sb->Append($timecreated);
$sb->Append('\'');

print $sb->getAsString() . "\n";

$http->SetRequestHeader('X-WSSE',$sb->getAsString());

$resp = new CkHttpResponse();
$success = $http->HttpJson('POST',$url,$json,'text/json',$resp);
if ($success == false) {
    print $http->lastErrorText() . "\n";
    exit;
}

print 'Http Status code: ' . $resp->get_StatusCode() . "\n";
print 'JSON response:' . "\n";
print $resp->bodyStr() . "\n";

?>