top of page

Yandex.Metrika Logs API

У Метрики есть отличная документация, но иногда простыми словами воспринимается легче.

Всего в Logs API 7 методов. Чтобы получить данные достаточно 3х, их мы и рассмотрим. Остальные можно и нужно применять в отдельных ситуациях. С ними познакомимся когда будем автоматизировать сбор.

Будем использовать:

  • Запросить Метрику подготовить данные с нужным набором полей и периодом времени.

  • Проверить статус запроса.

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

Не будем использовать:

  • Уточнить, готова ли Метрика принять запрос.

  • Отменить запрос, если он ещё не готов.

  • Удалить запрос, если он уже готов.

  • Посмотреть список всех запросов.

Чтобы достать логи нам понадобится:

  1. Авторизационный токен, который можно получить тут. Если с этим сложности - сообщите и я распишу процесс, а пока можно пользоваться токеном из примеров.

  2. Инструмент отправки POST запросов. Дополнение Postman для Chrome вполне подойдет.

  3. Аккаунт Метрики. Например, её демо аккаунт. Номер счётчика 44147844.

Из логов можно забирать атрибуты визитов или атрибуты просмотров, смешивать нельзя.

Список доступных атрибутов для визитов и просмотров по ссылкам.

Первым делом выбираем атрибуты, которые надо собрать. В этом примере это будут данные по визитам:

ym:s:date

ym:s:clientID

ym:s:visitID

ym:s:bounce

ym:s:lastTrafficSource

ym:s:startURL

ym:s:pageViews

Данные возьмем с января по октябрь 2017.

Формируем запрос в Метрику на подготовку данных

Общий вид запроса:

POST https://api-metrika.yandex.ru/management/v1/counter/{counterId}/logrequests ?date1=<Дата начала периода> &date2=<Дата окончания периода> &fields=<Список полей через запятую> &source=<visits / hits> &oauth_token=<Наш токен>

Подставляем наши вводные в url и получаем:

https://api-metrika.yandex.ru/management/v1/counter/44147844/logrequests?date1=2017-01-01&date2=2017-10-31&fields=ym:s:date,ym:s:clientID,ym:s:visitID,ym:s:bounce,ym:s:lastTrafficSource,ym:s:startURL,ym:s:pageViews&source=visits&token=AQAAAAAheZhGAASfOtngUOfmKUqNioaJUDMInZQ

Заходим в Postman.

При первом входе он может попросить зарегистрироваться или авторизоваться. Если лень - нажимаем в самом низу страницы "Take me straight to the app".

Копируем готовый запрос в поле для урла, выставляем POST и отправляем запрос. В итоге должно получиться как на картинке.

Из всего ответа нужно запомнить только request_id, в моём случае это 309345.

 

Теперь нужно собрать узнать статус запроса

Общий вид запроса:

GET https://api-metrika.yandex.ru/management/v1/counter/{counterId}/logrequest/{requestId}?oauth_token=<Наш токен>

Подставляем наши значения:

https://api-metrika.yandex.ru/management/v1/counter/44147844/logrequest/309345?oauth_token=AQAAAAAheZhGAASfOtngUOfmKUqNioaJUDMInZQ

В ответе нас интересует во-первых статус, а во-вторых количество частей, на которые яндекс разбил наши данные.

Отправляем этот запрос с небольшими паузами, пока не получим статус "processed". В демо счётчике данных мало, так что считается быстро. На практике может понадобиться несколько часов..

 

Получить результаты запроса (данные)

Общий вид запроса:

GET https://api-metrika.yandex.ru/management/v1/counter/{counterId}/logrequest/{requestId}/part/{partNumber}/download?oauth_token=<Наш токен>

Подставляем наши значения:

https://api-metrika.yandex.ru/management/v1/counter/44147844/logrequest/309345/part/0/download?oauth_token=AQAAAAAheZhGAASfOtngUOfmKUqNioaJUDMInZQ

Часть у нас одна (с номером 0) так что одного запроса хватит.

Постман будет ругаться на количество данных, так что полученный урл вставляем просто в новую вкладку браузера.. В браузере появятся данные, нажимаем правой кнопкой мышки в любое место и выбираем "Сохранить как". Сохраняем в любое удобное место. Для лёгкости в название файла можно указать расширение ".txt", например "download.txt"

В файле 75736 строк, т.к. 75735 записей визитов и строчка с заголовками. С веб-интерфейсом Метрики сходится.

Файл лучше не удаляйте, мы его будем использовать для загрузки в КХ.

 
 

Недавние посты

Смотреть все

Comments


bottom of page