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

sitkoru/context-cache

Repository files navigation

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([]);