bilaleren/tune-api

TUNE 是业内最灵活的 SaaS 平台,用于管理移动和 Web 上的营销合作伙伴关系。

v1.0.3 2021-01-24 19:46 UTC

This package is auto-updated.

Last update: 2024-10-03 11:30:16 UTC


README

TUNE 为管理移动和 Web 上的营销合作伙伴关系提供了业内最灵活的 SaaS 平台。在一个平台上,您可以通过合作伙伴(如联盟、网络、影响者、代理商和其他业务发展关系)的最大化回报率,从上线到支付。

安装

composer require bilaleren/tune-api

设置

use Tune\Networks;
use Tune\AffiliateApi;
use Tune\Utils\Network;
use Tune\Repository\NetworkRepository;

$networks = new Networks([
    new Network('api_key_1', 'network_id_1'), // Auto selected network
    new Network('api_key_2', 'network_id_2')
]);

class CustomNetwork implements NetworkRepository 
{

    /**
     * @inheritDoc
     */
    public function name(): string
    {
        return $this->networkId();
    }

    /**
     * @inheritDoc
     */
    public function apiKey(): string
    {
        return 'api_key_3';
    }

    /**
     * @inheritDoc
     */
    public function networkId(): string
    {
        return 'network_id_3';
    }

    /**
     * @inheritDoc
     */
    public function requestOptions(): array
    {
        return [];
    }
    
}

$networks->registerNetwork(new CustomNetwork(), false);

$affiliateApi = new AffiliateApi($networks);

$affiliateApi->networks->switchToNetwork('network_id_3');

网络 API - 文档

允许网络所有者以编程方式管理网络的所有方面,而无需在应用程序本身之外。

示例

use Tune\Tune;
use Tune\Networks;
use Tune\NetworkApi;

$tuneNetworkApi = new NetworkApi($networks = new Networks());
// 0r
$tuneNetworkApi = Tune::networkApi($networks);

联盟 API - 文档

允许网络所有者的联盟成员以编程方式检索和管理 TUNE 中的数据。

示例

use Tune\Tune;
use Tune\Networks;
use Tune\AffiliateApi;

$tuneAffiliateApi = new AffiliateApi($networks = new Networks());
// 0r
$tuneAffiliateApi = Tune::affiliateApi($networks);

广告商 API - 文档

允许与网络所有者合作的广告商从 TUNE 中检索数据。

示例

use Tune\Tune;
use Tune\Networks;
use Tune\AdvertiserApi;

$tuneAdvertiserApi = new AdvertiserApi($networks = new Networks());
// 0r
$tuneAdvertiserApi = Tune::advertiserApi($networks);

API 调用示例

use Tune\Networks;
use Tune\AffiliateApi;
use Tune\Utils\Operator;
use Tune\Utils\HttpQueryBuilder;

$affiliateApi = new AffiliateApi(new Networks());

print_r($affiliateApi->report()->getConversions(function (HttpQueryBuilder $builder) {
    return $builder->setFields([
        'Browser.id',
        'Browser.display_name',
        'OfferUrl.preview_url',
        'Offer.name'
    ])->addFilter('Stat.datetime', [
        '2019-12-19 00:00:00',
        '2020-12-19 00:00:00'
    ], null, Operator::BETWEEN);
}, /* Request options */ []));

// Or 

print_r($affiliateApi->report()->getConversions([
    'filters' => [
        'Stat.datetime' => [
            'conditional' => Operator::BETWEEN,
            'values' => [
                '2019-12-19 00:00:00',
                '2020-12-19 00:00:00'
            ]
        ]
    ],
    'fields' => [
        'Browser.id',
        'Browser.display_name',
        'OfferUrl.preview_url',
        'Offer.name'
    ]
], /* Request options */ []));