admitad / api
Admitad api library
0.3.2
2024-11-05 11:22 UTC
Requires
- php: >=8.1
- guzzlehttp/guzzle: ^7.8
- psr/log: ^3.0
Requires (Dev)
- friendsofphp/php-cs-fixer: *
- phpunit/phpunit: ^11.0.9
- rector/rector: *
This package is not auto-updated.
Last update: 2024-12-26 02:57:35 UTC
README
A PHP wrapper around the Admitad API
Install
Install http://getcomposer.org/ and run the following command:
php composer.phar require admitad/api dev-master
Examples
Request access token
- By username / password
$api = new \Admitad\Api\Api() $response = $api->authorizeByPassword($clientId, $clientPassword, $scope, $username, $password); $result = $api->getArrayResultFromResponse($response); // or $response->getArrayResult();
- OAuth2
// 1 step - get oauth authorization url $api = new \Admitad\Api\Api(); $authorizeUrl = $api->getAuthorizeUrl($clientId, $redirectUri, $scope); // redirect user to authorizeUrl // 2 step - request access token by OAuth2 code returned from authorization url $response = $api->requestAccessToken($clientId, $clientSecret, $code, $redirectUri); $result = $api->getArrayResultFromResponse($response);
- Signed Request (for applications on apps.admitad.com)
$api = new \Admitad\Api\Api(); $data = $api->parseSignedRequest($signedRequest, $clientSecret); // this method throws Admitad\Api\Exception\InvalidSignedRequestException when $signedRequest is invalid
Refresh token
$response = $api->refreshToken($clientId, $clientSecret, $refreshToken); $result = $api->getArrayResultFromResponse($response);
Methods
There are 2 common methods to communicate with api:
$api = new \Admitad\Api\Api($accessToken); $api->get($path, $params); $api->post($path, $params); //for example $response = $api->get('/advcampaigns/', array( 'limit' => 20, 'offset' => 0 )); $result = $api->getArrayResultFromResponse($response);
Paginated-result methods can be iterated in this way (instead of manually call methods with different offsets)
$iterator = $api->getIterator('/advcampaigns/', array( 'order_by' => 'id' )); foreach ($iterator as $campaign) { // do smth with campaign }