MyTarget API Client for PHP
PHP-ΠΊΠ»ΠΈΠ΅Π½Ρ Π΄Π»Ρ MyTarget Api ΠΎΡΠ½ΠΎΠ²Π°Π½ΡΠΉ Π½Π° kradwhite/mytarget-api-client.
Π’ΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ
- PHP 7.0 ΠΈ Π²ΡΡΠ΅
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ°
Π‘ ΠΏΠΎΠΌΠΎΡΡΡ composer:
composer require dugard/mytarget
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅
ΠΠ³Π»Π°Π²Π»Π΅Π½ΠΈΠ΅
- ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠΎΠΊΠ΅Π½Π°
- ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°
- ΠΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°
- ΠΡΠΈΠΌΠ΅ΡΡ Π·Π°ΠΏΡΠΎΡΠΎΠ²
- ΠΠΎΠ»Π΅Π·Π½Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ
ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠΎΠΊΠ΅Π½Π°
use kradwhite\myTarget\oauth2\Oauth2;
$oauth = new Oauth2();
$token = $oauth->clientCredentialsGrant('client_id', 'client_secret')->request();
$access_token = $token['access_token'];
ΠΠ»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΏΠΎ Π΄ΡΡΠ³ΠΈΠΌ Π²ΠΈΠ΄Π°ΠΌ ΡΠΎΠΊΠ΅Π½ΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΡΡ Π² kradwhite\mytarget-oauth2
ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°
use kradwhite\myTarget\api\Client;
$client = new Client($access_token);
ΠΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°
$config = [
// ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ false. ΠΡΠ»ΠΈ true, Π·Π°ΠΏΡΠΎΡΡ Π±ΡΠ΄ΡΡ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡΡΡ ΠΊ ΠΏΠ΅ΡΠΎΡΠ½ΠΈΡΠ΅ myTarget.
'sandbox' => true,
// ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ true. ΠΡΠ»ΠΈ true, ΠΎΡΠ²Π΅ΡΠΎΠΌ Π½Π° Π·Π°ΠΏΡΠΎΡΡ ΠΊ myTarget Π±ΡΠ΄Π΅Ρ Π°ΡΡΠΎΡΠΈΠ°ΡΠΈΠ²Π½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ²,
// Π² ΠΏΡΠΎΡΠΈΠ²Π½ΠΎ ΡΠ»ΡΡΠ°Π΅ ΠΎΠ±ΡΠ΅ΠΊΡ.
'assoc' => false,
// ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ false. ΠΠΊΠ»ΡΡΠ°Π΅Ρ ΠΎΠΏΡΠΈΡ debug
// http://docs.guzzlephp.org/en/stable/request-options.html#debug.
'debug' => true,
// ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ 0. Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΎΠΏΡΠΈΠΈ timeout
// http://docs.guzzlephp.org/en/stable/request-options.html#timeout.
'timeout' => 0,
// ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ kradwhite\myTarget\transport\Transport. ΠΠΌΡ ΠΊΠ»Π°ΡΡΠ° ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΠ΅Π³ΠΎ
// ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ kradwhite\mytarget\transport\TransportInterface.
'transport' => Class::name,
];
// ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠ΅ΠΉ
$client = new Client($access_token, $config);
ΠΡΠΈΠΌΠ΅ΡΡ Π·Π°ΠΏΡΠΎΡΠΎΠ²
// ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΊΠ°ΠΌΠΏΠ°Π½ΠΈΠΉ
$allCampaigns = $client->campaigns()->get();
// ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π°ΠΊΡΠΈΠ²Π½ΡΡ
ΠΊΠ°ΠΌΠΏΠ°Π½ΠΈΠΉ
$activedCampaigns = $client->campaigns()->get([
'_status' => 'active',
'sorting' => 'id'
]);
// ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΡΡΠ»ΠΊΠΈ
$newUrlId = $client->createUrl()->post([
'url' => 'http://example.com/123456789?1=1'
]);
// ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ΅ΠΊΠ»Π°ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ
$response = $client->banner()->post([
'status' => 'blocked'
]);
// Π·Π°ΠΏΡΠΎΡ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠ° ΠΏΠΎ ΠΊΠ°ΠΌΠΏΠ°Π½ΠΈΠΈ
$statistics = $client->statistics()->get(
// Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΡΠ΅ΡΡΡΡΠ° campaigns, banners ΠΈΠ»ΠΈ user
'campaigns',
// id ΡΠ΅ΡΡΡΡΠ°, ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ id ΡΠ΅ΡΠ΅Π· Π·Π°ΠΏΡΡΡΡ
'1234',
// ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ base, ΠΌΠ΅ΡΡΠΈΠΊΠ°
'base',
// ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ summary, summary ΠΈΠ»ΠΈ days. EΡΠ»ΠΈ days, Π½ΡΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ
// 2 ΡΠ»Π΅Π΄ΡΡΡΠΈΡ
ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π² Π²ΠΈΠ΄Π΅ Π΄Π°ΡΡ
'day',
// Π΄Π°ΡΠ° Π½Π°ΡΠ°Π»Π° ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠΈ
'2019-10-08'
// Π΄Π°ΡΠ° ΠΊΠΎΠ½ΡΠ° ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠ°
'2019-11-01'
);
ΠΠΎΠ»Π΅Π·Π½Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ
- Π ΠΊΠ»Π°ΡΡΠ΅ kradwhite\myTarget\api\Client ΠΏΠ΅ΡΠ΅Π΄ ΠΊΠ°ΠΆΠ΄ΡΠΌ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ Π² ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡ ΠΈΠΌΠ΅Π΅ΡΡΡ ΡΡΡΠ»ΠΊΠ° Π½Π° ΠΎΡΡΠΈΡΠΈΠ°Π»ΡΠ½ΡΡ ΡΡΡΠ°Π½ΠΈΡΡ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ myTarget ΠΏΠΎ Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°Π΅ΠΌΠΎΠΌΡ ΡΠ΅ΡΡΡΡΡ.
- ΠΠΌΠ΅Π½Π° ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ»ΠΈΠ΅Π½ΡΠ° Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠ΅ΡΡΡΡΠΎΠ² ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡ Ρ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ ΡΠ΅ΡΡΡΡΠΎΠ² ΠΈΠ· ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ.