Yandex Metrika API
Библиотека для удобного взаимодействия с Yandex Metrika API
Fork
Изменил минимальную версию php с 8.0 на 7.4
Оглавление
Старт
Использование
Ответ
Автор
Лицензия
Старт
Установка через composer
$ composer require axp-dev/ya-metrika
Получение токена
Переходим на страницу oauth.yandex.ru
Нажимаем "Зарегистрировать новое приложение"
Вписываем название и выбираем "Получение статистики, чтение параметров своих и доверенных счетчиков"
Выбираем "Подставить URL для разработки"
Копируем ID
Переходим по ссылке: https://oauth.yandex.ru/authorize?response_type=token&client_id=ВАШ ID
Подтверждаем запрос
Инициализация
$ token = getenv('TOKEN' );
$ counterId = getenv('COUNTER_ID' );
$ client = new Client ($ token , $ counterId );
$ metrika = new YaMetrika ($ client );
Примеры
Использование
Данные по посещаемости
Будут получены данные: визитов, просмотров, уникальных посетителей по дням.
За последние N дней
public function getVisitors(int $ days = 30 ): Response
Название
Тип
Описание
$days
integer
Кол-во дней. По умолчанию 30
За указанный период
public function getVisitorsForPeriod(DateTime $ startDate , DateTime $ endDate ): Response
Название
Тип
Описание
$startDate
DateTime
Начальная дата
$endDate
DateTime
Конечная дата
Самые просматриваемые страницы
За последние N дней
public function getMostViewedPages(int $ days = 30 , int $ limit = 10 ): Response
Название
Тип
Описание
$days
integer
Кол-во дней. По умолчанию 30
$limit
integer
Лимит записей. По умолчанию 10
За указанный период
public function getMostViewedPagesForPeriod(DateTime $ startDate , DateTime $ endDate , int $ limit = 10 ): Response
Название
Тип
Описание
$startDate
DateTime
Начальная дата
$endDate
DateTime
Конечная дата
$limit
integer
Лимит записей. По умолчанию 10
Браузеры пользователей
За последние N дней
public function getBrowsers(int $ days = 30 , int $ limit = 10 ): Response
Название
Тип
Описание
$days
integer
Кол-во дней. По умолчанию 30
$limit
integer
Лимит записей. По умолчанию 10
За указанный период
public function getBrowsersForPeriod(DateTime $ startDate , DateTime $ endDate , int $ limit = 10 ): Response
Название
Тип
Описание
$startDate
DateTime
Начальная дата
$endDate
DateTime
Конечная дата
$limit
integer
Лимит записей. По умолчанию 10
Пользователи из поисковых систем
За последние N дней
public function getUsersSearchEngine(int $ days = 30 , int $ limit = 10 ): Response
Название
Тип
Описание
$days
integer
Кол-во дней. По умолчанию 30
$limit
integer
Лимит записей. По умолчанию 10
За указанный период
public function getUsersSearchEngineForPeriod(DateTime $ startDate , DateTime $ endDate , int $ limit = 10 ): Response
Название
Тип
Описание
$startDate
DateTime
Начальная дата
$endDate
DateTime
Конечная дата
$limit
integer
Лимит записей. По умолчанию 10
Пользователи по странам и регионам
За последние N дней
public function getGeo($ days = 7 , $ limit = 20 ): Response
Название
Тип
Описание
$days
integer
Кол-во дней. По умолчанию 7
$limit
integer
Лимит записей. По умолчанию 20
За указанный период
public function getGeoForPeriod(DateTime $ startDate , DateTime $ endDate , int $ limit = 20 ): Response
Название
Тип
Описание
$startDate
DateTime
Начальная дата
$endDate
DateTime
Конечная дата
$limit
integer
Лимит записей. По умолчанию 20
Пол и возраст пользователей
За последние N дней
public function getAgeGender($ days = 30 , $ limit = 20 ): Response
Название
Тип
Описание
$days
integer
Кол-во дней. По умолчанию 30
$limit
integer
Лимит записей. По умолчанию 20
За указанный период
public function getAgeGenderForPeriod(DateTime $ startDate , DateTime $ endDate , int $ limit = 20 ): Response
Название
Тип
Описание
$startDate
DateTime
Начальная дата
$endDate
DateTime
Конечная дата
$limit
integer
Лимит записей. По умолчанию 20
Поисковые фразы
За последние N дней
public function getSearchPhrases($ days = 30 , $ limit = 20 ): Response
Название
Тип
Описание
$days
integer
Кол-во дней. По умолчанию 30
$limit
integer
Лимит записей. По умолчанию 20
За указанный период
public function getSearchPhrasesForPeriod(DateTime $ startDate , DateTime $ endDate , int $ limit = 20 ): Response
Название
Тип
Описание
$startDate
DateTime
Начальная дата
$endDate
DateTime
Конечная дата
$limit
integer
Лимит записей. По умолчанию 20
Данные по шаблону
Шаблоны (preset) автоматически задают метрики и группировки, которые необходимы для того или иного отчета.
Список всех шаблонов доступен по ссылке - tech.yandex.ru/metrika/../presets-docpage .
За последние N дней
public function getPreset(string $ preset , int $ days = 30 , int $ limit = 10 ): Response
Название
Тип
Описание
$preset
string
Название шаблона
$days
integer
Кол-во дней. По умолчанию 30
$limit
integer
Лимит записей. По умолчанию 10
За указанный период
public function getPresetForPeriod(string $ preset , DateTime $ startDate , DateTime $ endDate , int $ limit = 10 ): Response
Название
Тип
Описание
$preset
string
Название шаблона
$startDate
DateTime
Начальная дата
$endDate
DateTime
Конечная дата
$limit
integer
Лимит записей. По умолчанию 10
Произвольный запрос
Параметры ids
и oauth_token
передавать не нужно.
public function customQuery(array $ params ): Response
Название
Тип
Описание
$params
array
Параметры запроса
Ответ
Чистые данные
Возвращает исходные данные, которые были получены напрямую из api.
public function rawData(): array
Отформатированные данные
Возвращает отформатированные данные. Будут переименованы поля, удалены ненужные префиксы.
public function formatData(): array
Свой формат данных
Возвращает отформатированные данные. Будут переименованы поля, удалены ненужные префиксы.
public function customFormat(callable $ callback ): array
Автор
Alexander Pushkarev , e-mail: axp-dev@yandex.com
Лицензия
Основой Yandex Metrika API являет открытый исходный код, в соответствии MIT license