Унифицированная абстракция над API Яндекс.Директ и GoogleAdWords с функцией кэширования
Используются библиотеки sitkoru/yandex-direct-api и googleads/googleads-php-lib.
Реализовано кэширование сущностей в MongoDB.
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([]);