Login   Register  
PHP Classes
elePHPant
Icontem

File: README.md

Recommend this page to a friend!
Stumble It! Stumble It! Bookmark in del.icio.us Bookmark in del.icio.us
  Classes of Egor Gumenuk  >  Compete  >  README.md  >  Download  
File: README.md
Role: Documentation
Content type: text/plain
Description: Documentation
Class: Compete
Get site access statistics using the Compete API
Author: By
Last change:
Date: 1 year ago
Size: 5,953 bytes
 

Contents

Class file image Download
PHP wrapper for [Compete API](https://www.compete.com/developer/).

## Examples of usage
Wrapper has generic method `get`. You can retrieve any kind of metric via this method:
```php
<?php
require 'Compete.php';

// Create API wrapper instance
$compete = new Compete('YOUR_API_KEY');

// Basic usage
$data = $compete->get('SOME_DOMAIN', 'METRIC_CODE');

// Get the number of people who visited a domain
$data = $compete->get('facebook.com', 'uv');

// Get the ranking of the domain by total number of unique visitors
$data = $compete->get('google.com', 'rank');
```

Here is list of available metrics:
<table cellpadding="0" cellspacing="0"><tbody><tr><td bgcolor="#eee">Metric Name</td><td bgcolor="#eee">Basic or All-Acces?</td><td bgcolor="#eee">description</td><td bgcolor="#eee">metric code</td></tr><tr><td class="first_column">Unique Visitors</td><td>Basic</td><td align="left" class="third_column">The number of people who visited a domain</td><td><em>uv</em></td></tr><tr><td bgcolor="#f0f0f0" class="first_column">Visits</td><td bgcolor="#f0f0f0">Basic</td><td align="left" bgcolor="#f0f0f0" class="third_column">The number of separate visits made to a domain by all unique visitors</td><td bgcolor="#f0f0f0"><em>vis</em></td></tr><tr><td class="first_column">Rank</td><td>Basic</td><td align="left" class="third_column">The ranking of the domain by total number of unique visitors</td><td><em>rank</em></td></tr><tr><td bgcolor="#f0f0f0" class="first_column">Page Views</td><td bgcolor="#f0f0f0">All-Access</td><td align="left" bgcolor="#f0f0f0" class="third_column">The number of times a page has been loaded from a domain</td><td bgcolor="#f0f0f0"><em>pv</em></td></tr><tr><td class="first_column">Average Stay</td><td>All-Access</td><td align="left" class="third_column">The average number of seconds that a visit lasts </td><td><em>avgstay</em></td></tr><tr><td bgcolor="#f0f0f0" class="first_column">Visits/Person</td><td bgcolor="#f0f0f0">All-Access</td><td align="left" bgcolor="#f0f0f0" class="third_column">The average number of times each unique visitor visits the domain</td><td bgcolor="#f0f0f0"><em>vpp</em></td></tr><tr><td class="first_column">Pages/Visit</td><td>All-Access</td><td align="left" class="third_column">The average number of pages displayed during a visit</td><td><em>ppv</em></td></tr><tr><td bgcolor="#f0f0f0" class="first_column">Attention</td><td bgcolor="#f0f0f0">All-Access</td><td align="left" bgcolor="#f0f0f0" class="third_column">The percent of total minutes spent by all US users on the internet that were spent on this domain</td><td bgcolor="#f0f0f0"><em>att</em></td></tr><tr><td class="first_column"> Reach (daily)</td><td>All-Access</td><td align="left" class="third_column">The percent of all US users on the internet that had at least one visit to this domain by day</td><td><em>reachd</em></td></tr><tr><td bgcolor="#f0f0f0" class="first_column">Attention (daily)</td><td bgcolor="#f0f0f0">All-Access</td><td align="left" bgcolor="#f0f0f0" class="third_column">The percent of total minutes spent by all US users on the internet that were spent on this domain by day</td><td bgcolor="#f0f0f0"><em>attd</em></td></tr><tr><td class="first_column">Gender</td><td>All-Access</td><td align="left" class="third_column">The split between males and females visiting a domain</td><td><em>gen</em></td></tr><tr><td bgcolor="#f0f0f0" class="first_column">Age</td><td bgcolor="#f0f0f0">All-Access</td><td align="left" bgcolor="#f0f0f0" class="third_column">Percent of unique visitors in various age brackets</td><td bgcolor="#f0f0f0"><em>age</em></td></tr><tr><td class="first_column">Income</td><td>All-Access</td><td align="left" class="third_column">Percent of unique visitors in various income brackets</td><td><em>inc</em></td></tr></tbody></table>

Also you can use specific methods for getting data:
```php
<?php
  // The number of people who visited a domain
  $compete->uniqueVisitors('example.com');

  // The number of separate visits made to a domain by all unique visitors
  $compete->visits('example.com');

  // The ranking of the domain by total number of unique visitors
  $compete->rank('example.com');

  // The number of times a page has been loaded from a domain
  $compete->pageViews('example.com');

  // The average number of seconds that a visit lasts
  $compete->averageStay('example.com');

  // The average number of times each unique visitor visits the domain
  $compete->visitsPerson('example.com');

  // The average number of pages displayed during a visit
  $compete->pagesVisit('example.com');

  // The percent of total minutes spent by all US users
  // on the internet that were spent on this domain
  $compete->attention('example.com');

  // The percent of all US users on the internet that
  // had at least one visit to this domain by day
  $compete->dailyReach('example.com');

  // The percent of total minutes spent by all US users 
  // on the internet that were spent on this domain by day
  $compete->dailyAttention('example.com');

  // The split between males and females visiting a domain
  $compete->gender('example.com');

  // Percent of unique visitors in various age brackets
  $compete->age('example.com');

  // Percent of unique visitors in various income brackets
  $compete->income('example.com');
```

## Response format
Return values have same format but decoded via `json_decode` (wrapped in `stdClass`).
Trends field name depends on specific metric.
```json
{
  "status": "OK",
  "data": {
    "trends": {
      "uv": [
        {"date": "200906", "value": 90714948},
        {"date": "200907", "value": 98292793},
        {"date": "200908", "value": 103509116},
        ...
      ]
    },
    "trends_low_sample": false,
    "query_cost": 13,
    "trends_frequency": "monthly"
  }
} 
```

## Errors
If there is some error in request wrapper will throw `CompeteException`.

## TODO
* Add support for additional request params(date, graph, ...)