PHP Quick Start Guide

These examples work with PHP 5.2 and higher compiled with cURL support.

Creating A Link

In this example, the demo tool is creating a link intended to be shared on Twitter that redirects to http://developers.awe.sm/.

<?php
$params = array(
        'v' => 3,
        'url' => 'http://developers.awe.sm/',
        'key' => '5c8b1a212434c2153c2f2c2f2c765a36140add243bf6eae876345f8fd11045d9',
        'tool' => 'mKU7uN',
        'channel' => 'twitter'    
);

$new_link_request = curl_init();
curl_setopt($new_link_request, CURLOPT_URL, 'http://api.awe.sm/url.txt');
curl_setopt($new_link_request, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($new_link_request, CURLOPT_TIMEOUT, 5);
curl_setopt($new_link_request, CURLOPT_POST, 1);
curl_setopt($new_link_request, CURLOPT_POSTFIELDS, $params);
$new_link = curl_exec($new_link_request);
$response_code = curl_getinfo($new_link_request, CURLINFO_HTTP_CODE);
curl_close($new_link_request);

if ($response_code == 200) { // Link created
    echo $new_link;
} else {                   // Error creating link
    echo "API error: HTTP {$response_code}: {$new_link}";
}

Output: http://demo.awe.sm/K8E

Retrieving Stats On A Link

Later, the stats for this link could be retrieved:

<?php
$params = array(
        'v' => 3,
        'key' => '5c8b1a212434c2153c2f2c2f2c765a36140add243bf6eae876345f8fd11045d9'
);

// Create and execute cURL request
$link_stats_request = curl_init();
curl_setopt($link_stats_request, CURLOPT_URL, 'http://api.awe.sm/stats/demo.awe.sm_K8E.json');
curl_setopt($link_stats_request, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($link_stats_request, CURLOPT_TIMEOUT, 5);
curl_setopt($link_stats_request, CURLOPT_POST, 1);
curl_setopt($link_stats_request, CURLOPT_POSTFIELDS, $params);
$link_stats = curl_exec($link_stats_request);
$response_code = curl_getinfo($link_stats_request, CURLINFO_HTTP_CODE);
curl_close($link_stats_request);

if ($response_code == 200) {
    // Success. Convert JSON to PHP array.
    $link_stats = json_decode($link_stats, true);
    print_r($link_stats);
} else {
    // Error creating link
    echo "API error: HTTP {$response_code}: {$link_stats}";
}

Output hash:

Array
(
    [awesm_id] => demo.awe.sm_K8E
    [start_date] => 
    [end_date] => 
    [interval] => none
    [with_zeros] => 
    [with_metadata] => 
    [with_conversions] => 
    [clicks] => 1
)

Retrieving Aggregated Stats

Let's find out how many times http://developers.awe.sm/ has been shared and how much traffic social sharing created.

<?php
$params = array(
    'v' => 3,
    'key' => '5c8b1a212434c2153c2f2c2f2c765a36140add243bf6eae876345f8fd11045d9',
    'group_by' => 'service',
    'original_url' => 'http://developers.awe.sm/'
);

// Create and execute cURL request
$page_share_stats_request = curl_init();
curl_setopt($page_share_stats_request, CURLOPT_URL, 'http://api.awe.sm/stats/range.json');
curl_setopt($page_share_stats_request, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($page_share_stats_request, CURLOPT_TIMEOUT, 5);
curl_setopt($page_share_stats_request, CURLOPT_POST, 1);
curl_setopt($page_share_stats_request, CURLOPT_POSTFIELDS, $params);
$page_share_stats = curl_exec($page_share_stats_request);
$response_code = curl_getinfo($page_share_stats_request, CURLINFO_HTTP_CODE);
curl_close($page_share_stats_request);

if ($response_code == 200) {
    // Success. Convert JSON to PHP array.
    $page_share_stats = json_decode($page_share_stats, true);
    echo "{$page_share_stats["totals"]["clicks"]} clicks from {$page_share_stats["totals"]["shares"]} shares";
} else {
    // Error creating link
    echo "API error: HTTP {$response_code}: {$page_share_stats}";
}

Outputs: 107 clicks from 4 shares


Let's find the top three social networks (service) shared to in September 2011.

<?php
$params = array(
    'v' => 3,
    'key' => '5c8b1a212434c2153c2f2c2f2c765a36140add243bf6eae876345f8fd11045d9',
    'group_by' => 'service',
    'sort_type' => 'shares',
    'per_page' => 3,
    'start_date' => '2011-09-01',
    'end_date' => '2011-10-01'
);

// Create and execute cURL request
$service_share_stats_request = curl_init();
curl_setopt($service_share_stats_request, CURLOPT_URL, 'http://api.awe.sm/stats/range.json');
curl_setopt($service_share_stats_request, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($service_share_stats_request, CURLOPT_TIMEOUT, 5);
curl_setopt($service_share_stats_request, CURLOPT_POST, 1);
curl_setopt($service_share_stats_request, CURLOPT_POSTFIELDS, $params);
$service_share_stats = curl_exec($service_share_stats_request);
$response_code = curl_getinfo($service_share_stats_request, CURLINFO_HTTP_CODE);
curl_close($service_share_stats_request);

if ($response_code == 200) {
    // Success. Convert JSON to PHP array
    $service_share_stats = json_decode($service_share_stats, true);
    echo "#1: {$service_share_stats["groups"][0]["service"]}";
    echo "#2: {$service_share_stats["groups"][1]["service"]}";
    echo "#3: {$service_share_stats["groups"][2]["service"]}";
} else {
    // Error creating link
    echo "API error: HTTP {$response_code}: {$service_share_stats}";
}

Output:

#1: twitter
#2: facebook
#3: email

Last updated 2012-03-02