volga/metrika-logs

Logs API Яндекс.Метрики

This package's canonical repository appears to be gone and the package has been frozen as a result.

v1.1 2019-04-12 20:18 UTC

This package is auto-updated.

Last update: 2023-05-13 06:36:49 UTC


README

Total Downloads Latest Stable Version License

Logs API позволяет получать неагрегированные данные, собираемые Яндекс.Метрикой. Данный API предназначен для пользователей сервиса, которые хотят самостоятельно обрабатывать статистические данные и использовать их для решения уникальных аналитических задач.

Для использования данного API необходима авторизация с помощью авторизационного токена .

Установка

Минимальные требования — PHP 7.2+.

composer require volga/metrika-logs

Laravel

$client = new \Volga\MetrikaLogs\MetrikaClient('token');

Laravel <5.5

Добавьте в config/app.php:

'providers' => [
        ...
        \Volga\MetrikaLogs\MetrikaLogsServiceProvider::class,
        ...
 ]

Иные фреймворки/без фреймворка

require_once '../vendor/autoload.php';

\Doctrine\Common\Annotations\AnnotationRegistry::registerLoader('class_exists');

$client = new \Volga\MetrikaLogs\MetrikaClient('token');

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

Оценка возможности создания запроса

Оценивает возможность создания запроса логов по его примерному размеру.

use Volga\MetrikaLogs\MetrikaClient;
use Volga\MetrikaLogs\Requests\CapabilityRequest;

$client = new MetrikaClient('token');

$request = (new CapabilityRequest(counterId))
            ->setDate1(new \DateTime('2019-01-01'))
            ->setDate2(new \DateTime('yesterday'))
            ->setFields(
                [
                    'ym:pv:watchID',
                    'ym:pv:counterID',
                    'ym:pv:date',
                    'ym:pv:dateTime',
                    'ym:pv:title',
                    'ym:pv:URL',
                    'ym:pv:referer',
                ]
            )
            ->setSource('hits');

$response = $client->sendCapabilityRequest($request);

Создание запроса логов

Создает запрос логов.

use Volga\MetrikaLogs\MetrikaClient;
use Volga\MetrikaLogs\Requests\CreateRequest;

$client = new MetrikaClient('token');

$request = (new CreateRequest(counterId))
            ->setDate1(new \DateTime('2019-01-01'))
            ->setDate2(new \DateTime('yesterday'))
            ->setFields(
                [
                    'ym:pv:watchID',
                    'ym:pv:counterID',
                    'ym:pv:date',
                    'ym:pv:dateTime',
                    'ym:pv:title',
                    'ym:pv:URL',
                    'ym:pv:referer',
                ]
            )
            ->setSource('hits');

$response = $client->sendCreateRequest($request);

Отмена не обработанного запроса логов

Отменяет еще не обработанный запрос логов.

use Volga\MetrikaLogs\MetrikaClient;
use Volga\MetrikaLogs\Requests\CancelRequest;

$client = new MetrikaClient('token');

$request = new CancelRequest(counterId, requestId);

$response = $client->sendCancelRequest($request);

Информация о запросе логов

Возвращает информацию о запросе логов.

use Volga\MetrikaLogs\MetrikaClient;
use Volga\MetrikaLogs\Requests\InformationRequest;

$client = new MetrikaClient('token');

$request = new InformationRequest(counterId, requestId);

$response = $client->sendInformationRequest($request);

Загрузка части подготовленных логов обработанного запроса

Загружает часть подготовленных логов обработанного запроса.

use Volga\MetrikaLogs\MetrikaClient;
use Volga\MetrikaLogs\Requests\DownloadRequest;

$client = new MetrikaClient('token');

$request = new DownloadRequest(counterId, requestId, partNumber);

$response = $client->sendDownloadRequest($request);

if ($response instanceof \GuzzleHttp\Psr7\Stream) {
    
    while (!$response->eof()) {
        echo $response->read(1024);
    }
    
}

Очистка подготовленных для загрузки логов обработанного запроса

Очищает подготовленные для загрузки логи обработанного запроса.

use Volga\MetrikaLogs\MetrikaClient;
use Volga\MetrikaLogs\Requests\CleanRequest;

$client = new MetrikaClient('token');

$request = new CleanRequest(counterId, requestId);

$response = $client->sendCleanRequest($request);

Список запросов логов

Возвращает список запросов логов.

use Volga\MetrikaLogs\MetrikaClient;
use Volga\MetrikaLogs\Requests\LogListRequest;

$client = new MetrikaClient('token');

$request = new LogListRequest(counterId);

$response = $client->sendLogListRequest($request);

Автор

Лицензия

Данный пакет распространяется под лицензией MIT.