--- title: "rym: API отчётов Яндекс.Метрики" author: "Alexey Seleznev" date: "`r Sys.Date()`" output: rmarkdown::html_vignette vignette: > %\VignetteIndexEntry{rym: API отчётов Яндекс.Метрики} %\VignetteEngine{knitr::rmarkdown} %\VignetteEncoding{UTF-8} --- ```{r setup, include = FALSE} knitr::opts_chunk$set( collapse = TRUE, comment = "#>" ) ``` # Работа с API отчётов Для работы с API отчётов в `rym` предназначена функция `rym_get_data`. На данный момент `rym_get_data` принимает следующие аргументы: * **direct.client.logins** - Логины клиентов Яндекс.Директа, через запятую. * **counters** - Идентификаторы счетчиков, через запятую. * **metrics** - Список метрик, разделенных запятой. Лимит: 20 метрик в запросе. Актуальный список поддерживаемых метрик можно найти в [официальной документации](https://yandex.ru/dev/metrika/doc/api2/api_v1/metrics/visits/basic.html). * **dimensions** - Список группировок, разделенных запятой. Лимит: 10 группировок в запросе. Актуальный список поддерживаемых группировок можно найти в [официальной документации](https://yandex.ru/dev/metrika/doc/api2/api_v1/attributes/visits/source-docpage). * **filters** - [Фильтр сегментации](https://yandex.ru/dev/metrika/doc/api2/api_v1/segmentation.html), при фильтрации вы можете сочетать фильтры с помощью логических выражений AND и OR, а так же задавать приоритет выражений с помощью скобок пример: ` "ym:s:regionCityName=='Киев'"`, `ym:s:regionCityName=='Москва' OR ym:s:regionCityName=='Санкт-Петербург'`, `(ym:s:regionCityName=='Москва' OR ym:s:regionCityName=='Санкт-Петербург') AND ym:s:lastTrafficSource=='Переходы по рекламе'`. * **sort** - Список группировок и метрик, разделенных запятой, по которым осуществляется сортировка. * **date.from** - Дата начала периода выборки в формате YYYY-MM-DD. Также используйте значения: today, yesterday, ndaysAgo. * **date.to** - Дата окончания периода выборки в формате YYYY-MM-DD. Также используйте значения: today, yesterday, ndaysAgo. * **accuracy** - Точность вычисления результата. Позволяет управлять [семплированием](https://yandex.ru/dev/metrika/doc/api2/api_v1/sampling-docpage) (количеством визитов, использованных при расчете итогового значения). Возможные значения: * low — возвращает быстрый результат на основе сокращенной выборки данных. * medium — возвращает результат на основе выборки, сочетающей скорость и точность данных. * high — возвращает наиболее точное значение, используя наибольшую выборку данных. Этот режим может потребовать дополнительное время и замедлить обработку запроса. * full — возвращает все данные. * 1 — отсутствует семплирование (соответствует значению full). * 0.1 или 0.01 — доля возвращаемых данных (10%, 1%). Любое значение (например, 0.42) будет округляться до ближайшей степени числа 10. * **include_undefined** - Включает в ответ строки, для которых значения группировок не определены. * **lang** - Язык, по умолчанию 'ru'. * **timezone** - Часовой пояс в формате ±hh:mm в диапазоне [-23:59; +23:59] (знак плюса нужно нужно передавать как %2B), в котором будут расчитан период выборки запроса, а также связанные с датой и временем группировки. * **pretty** - Задает форматирование результата. * **login** - Логин пользователя Яндекс.Метрики. * **token.path** - Путь к директории в которой хранится файлс с учётными данными, для текущего пользователя Яндекс.Метрики, указанного в аргументе *login*. ### Пример работы с API управления ```r reporting.api.stat <- rym_get_data(counters = "00000000,111111111", date.from = "2018-08-01", date.to = "yesterday", dimensions = "ym:s:date,ym:s:lastTrafficSource", metrics = "ym:s:visits,ym:s:pageviews,ym:s:users", filters = "ym:s:trafficSourceName=='Переходы из поисковых систем' AND ym:s:isNewUser=='Yes'", sort = "-ym:s:date", accuracy = "full", login = "ваш логин", token.path = "metrica_token", lang = "ru") ``` *Необходимо указать номера своиз счётчиков, логин и путь к папке для хранения файла с учётными данными.*