Skip to content
This repository has been archived by the owner on Sep 14, 2023. It is now read-only.

Latest commit

 

History

History
56 lines (39 loc) · 2.18 KB

README.md

File metadata and controls

56 lines (39 loc) · 2.18 KB

context-cache

Унифицированная абстракция над API Яндекс.Директ и GoogleAdWords с функцией кэширования

Используются библиотеки sitkoru/yandex-direct-api и googleads/googleads-php-lib.

Реализовано кэширование сущностей в MongoDB.

Latest Stable Version Total Downloads License

Установка

composer require sitkoru/context-cache

Использование

Подготовка

Необходимо инициировать аннотации. Замените

require __DIR__ . '/vendor/autoload.php';

На

$loader = require __DIR__ . '/vendor/autoload.php';
AnnotationRegistry::registerLoader([$loader, 'loadClass']);

Первый вызов

Для примера, получим список кампаний аккаунта в Яндекс.Директ

$logger = new Logger('directLogger');
$logger->pushHandler(new ErrorLogHandler());
$cacheProvider = new MongoDbCacheProvider('mongodb://mongodb', $logger);
$contextEntitiesProvider = new ContextEntitiesProvider($cacheProvider, $logger);
$provider = $contextEntitiesProvider->getDirectProvider("ваш токен", "ваш логин");
$campaigns = $provider->campaigns->getAll([]);

Тоже самое для Google AdWords

$logger = new Logger('adWordsLogger');
$logger->pushHandler(new ErrorLogHandler());
$cacheProvider = new MongoDbCacheProvider('mongodb://mongodb', $logger);
$contextEntitiesProvider = new ContextEntitiesProvider($cacheProvider, $logger);
$provider = $contextEntitiesProvider->getAdWordsProvider("айди клиента", "путь к файлу auth.ini");
$campaigns = $provider->campaigns->getAll([]);