Download the PHP package traackr/traackr-api-php without Composer
On this page you can find all versions of the php package traackr/traackr-api-php. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download traackr/traackr-api-php
More information about traackr/traackr-api-php
Files in traackr/traackr-api-php
Package traackr-api-php
Short Description Traackr API PHP Library
License
Homepage https://traackr.com/
Informations about the package traackr-api-php
Traackr API - PHP Client
Introduction
This is a PHP implementation of the Traackr API. Documentation for this PHP client is available here: http://traackr.github.io/traackr-api-docs.
For documentation for the Traackr API itself, see: http://api.docs.traackr.com.
Installation
You can clone this GitHub repository to get the latest version of the code.
This library is also available via Composer if that's what you use to manage your dependencies. To do this, simply add this to your composer.json
file:
"minimum-stability": "dev",
"require": {
"traackr/traackr-api-php": "dev-master"
}
Usage
You will need an API key to make use this library. Contact [email protected] to get your key.
Include the library
You include this library with:
require_once('lib/TraackrApi.php');
If you are using Composer the autoload functionality should automatically load the appropriate PHP files (i.e. require 'vendor/autoload.php'
will load the library files).
Set your API key
To set your API key use:
TraackrApi::setApiKey(<your-api-key>);
Some calls require a Customer Key (see documentation). You do not need to pass this key to these calls. You can set (once and for all) your Customer Key with:
TraackrApi::setCustomerKey(<your-customer-key);
The client library will take care of including your customer key when needed.
Note that you can also specify your API key and customer key via environment variables. See the unit tests section.
API calls
All API calls map to static functions with parameters matching the API call parameters (see documentation). For instance to call /influencers/show
you can use:
Influencers::show(<influencer-uid>);
Logging
You can tie the client's internal logging into your own application's logging by creating an implementation of the ApiLoggingInterface
. Here's an example from CakePHP:
class ApiLogger implements Traackr\ApiLoggerInterface
{
private $parentObj;
public function __construct($obj) {
$this->parentObj = $obj;
}
public function debug($string) {
$this->parentObj->log($string, LOG_DEBUG);
}
public function error($string) {
$this->parentObj->log($string, LOG_WARNING);
}
}
Then, create an instance of your implementation before any API calls are made (e.g. in a constructor):
Traackr\TraackrApi::setLogger(
new ApiLogger($this)
);
Unit Tests
Setup
To run unit tests, you will need to install dependencies required by this project. First, install Composer locally:
$ curl -sS https://getcomposer.org/installer | php
Then install dependencies:
$ php composer.phar install
Running the tests
The unit tests come with a public API key that you can use to run the unit tests. However the API key provided in the unit tests is only allowed to access read-only end points (i.e. API calls that do not add, modify or delete any data).
To run these read-only tests you can execute:
./bin/phpunit --group read-only test
If you try to run the entire test suite with this public API key you will get errors when trying to access functions that change data.
Running the entire test suite
To run the entire test suite you will need an API key that has full access to the API. You can request one by emailing [email protected].
Before you run unit tests, you need to specify an API key and a Customer key. These 2 values can be specified via ENV variables (so they don't have to be hardcoded in the unit tests).
# export TRAACKR_API_KEY=<your-api-key>
# export TRAACKR_CUSTOMER_KEY=<your-customer-key>
Run the entire test suite:
./bin/phpunit test
All versions of traackr-api-php with dependencies
ext-curl Version *
ext-json Version *
ext-mbstring Version *