affise/php-sdk
最新稳定版本:v0.1.1
Composer 安装命令:
composer require affise/php-sdk
包简介
Affise API's Official SDK
README 文档
README
Requirements
- PHP >=7.4
- Guzzle >=6.0
- Any PSR-17 and PSR-18 Implementation (optional)
Installation
composer require affise/php-sdk
Usage
Create api instance
use Affise\Sdk\Api; require_once __DIR__ . '/vendor/autoload.php'; $api = Api::create('https://YOUR_API_DOMAIN', 'YOUR_API_KEY');
Call endpoints
$response = $api->users->usersList(['limit' => 10]); var_dump($response->getStatus(), $response->getData());
$response = $api->statistics->byAdvertiser(['filter' => ['date_from' => '2020-12-20', 'date_to' => '2020-12-31',]]); var_dump($response->getStatus(), $response->getData());
Upload files
Use \Affise\Sdk\Transport\File for each file.
use Affise\Sdk\Transport\File; $response = $api->offerManaging->addOffer([ ... 'creativeFiles' => File::createFromFile('path/to/file'), ... ]); var_dump($response->getStatus(), $response->getData());
List of providers
| Provider | Api property | Link |
|---|---|---|
\Affise\Sdk\Statistics\StatisticsProvider |
$api->statistics |
https://api.affise.com/docs3.1/#statistics |
\Affise\Sdk\AffiliateMethods\AffiliateMethodsProvider |
$api->affiliateMethods |
https://api.affise.com/docs3.1/#affiliate-methods |
\Affise\Sdk\Offers\OffersProvider |
$api->offers |
https://api.affise.com/docs3.1/#offers |
\Affise\Sdk\Advertiser\AdvertiserProvider |
$api->advertisers |
https://api.affise.com/docs3.1/#advertiser-managing-admin-methods |
\Affise\Sdk\AdvertiserBilling\AdvertiserBillingProvider |
$api->advertiserBilling |
https://api.affise.com/docs3.1/#advertiser-billing-managing-admin-methods |
\Affise\Sdk\OfferManaging\OfferManagingProvider |
$api->offerManaging |
https://api.affise.com/docs3.1/#offer-managing-admin-methods |
\Affise\Sdk\Affiliate\AffiliateProvider |
$api->affiliates |
https://api.affise.com/docs3.1/#affiliate-managing-admin-methods |
\Affise\Sdk\User\UserProvider |
$api->users |
https://api.affise.com/docs3.1/#user-managing-admin-methods |
\Affise\Sdk\ConversionsManaging\ConversionsManagingProvider |
$api->conversions |
https://api.affise.com/docs3.1/#conversions-managing |
\Affise\Sdk\OtherManaging\OtherManagingProvider |
$api->otherManaging |
https://api.affise.com/docs3.1/#other-managing-admin-methods |
\Affise\Sdk\Presets\PresetsProvider |
$api->presets |
https://api.affise.com/docs3.1/#presets-admin-methods |
\Affise\Sdk\Other\OtherProvider |
$api->other |
https://api.affise.com/docs3.1/#other-managing |
Advanced
Providers
Each provider is a set of grouped endpoints.
use Affise\Sdk\Transport\GuzzleTransport; use Affise\Sdk\Affiliate\AffiliateProvider; use Affise\Sdk\User\UserProvider; require_once __DIR__ . '/vendor/autoload.php'; $transport = new GuzzleTransport('https://YOUR_API_DOMAIN', 'YOUR_API_KEY'); $userProvider = new UserProvider($transport); $affiliateProvider = new AffiliateProvider($transport); $response = $userProvider->usersList(['limit' => 10]); var_dump($response->getStatus(), $response->getData()); $response = $affiliateProvider->affiliateList(['limit' => 10, 'page' => 5]); var_dump($response->getStatus(), $response->getData(), $response->getPagination()->getPage());
Transport layer
Transport is an abstraction layer over HTTP clients.
use Affise\Sdk\Transport\GuzzleTransport; use Affise\Sdk\Transport\PsrTransport; use GuzzleHttp\Client; require_once __DIR__ . '/vendor/autoload.php'; $transport = new GuzzleTransport('https://YOUR_API_DOMAIN', 'YOUR_API_KEY'); // Or you can use psr adapter $transport = new PsrTransport( new Http\Factory\Guzzle\RequestFactory(), new Http\Factory\Guzzle\UriFactory(), new Http\Factory\Guzzle\StreamFactory(), new Client(), 'https://YOUR_API_DOMAIN', 'YOUR_API_KEY' ); $raw = $transport->get('/3.0/admin/users', ['limit' => 10]); var_dump($raw); $raw = $transport->post('/3.0/admin/user/api_key/594927bd7e28fe1c4a8b4567'); var_dump($raw);
You can create your own transport. Just implement Affise\Sdk\Transport\TransportInterface.
Customize api transport
use Affise\Sdk\Api; use Affise\Sdk\Transport\GuzzleTransport; require_once __DIR__ . '/vendor/autoload.php'; $api = new Api(new GuzzleTransport('https://YOUR_API_DOMAIN', 'YOUR_API_KEY'));
Test
./vendor/bin/phpunit tests
License
The MIT license. Read LICENSE file.
统计信息
- 总下载量: 6.27k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 5
- 点击次数: 1
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2021-02-11