---
title: "rym: API Яндекс.Метрики совместимым с Core Reporting API Google Analytics"
author: "Alexey Seleznev"
date: "`r Sys.Date()`"
output: rmarkdown::html_vignette
vignette: >
  %\VignetteIndexEntry{rym: API Яндекс.Метрики совместимым с Core Reporting API Google Analytics}
  %\VignetteEngine{knitr::rmarkdown}
  %\VignetteEncoding{UTF-8}
---

```{r setup, include = FALSE}
knitr::opts_chunk$set(
  collapse = TRUE,
  comment = "#>"
)
```

# Работа с API совместимым с Core Reporting API Google Analytics

Если вы ранее работали с Core Reporting API Google Analytics, то именно данный API будет для вас наиболее удобен, т.к. он позволяет запрашивать данные используя такие же имена полей. Для работы с этим API в `rym` существует функция `rym_get_ga`.

Аргументы функции `rym_get_ga`:

* **start.date** - Дата начала отчетного периода. Вы можете указывать дату в формате YYYY-MM-DD или использовать относительные временные значения: today, yesterday, NdaysAgo. 
* **end.date** - Дата окончания отчетного периода. Вы можете указывать даты в формате YYYY-MM-DD или использовать относительные временные значения: today, yesterday, NdaysAgo.
* **counter** - Номер счетчика, данные которого необходимо получить. Перед номером счетчика необходимо указать префикс ga:.
* **dimensions** - Группировки объединяют данные по критериям. В состав одного запроса может входить не более 7 группировок. Актуальный справочник поддерживаемых группировок можно найти по [ссылке](https://yandex.ru/dev/metrika/doc/api2/ga/ga/implemented/metrika_dim-docpage).
* **metrics** - Метрики позволяют получать данные о статистике посещаемости и активности пользователей сайта. Если в запросе вы не укажете ни одной группировки, то API вернет общее значение метрики для выбранного временного интервала без разделения его на какие-либо группы. В состав одного запроса может входить не более 10 метрик.  Актуальный справочник поддерживаемых метрик можно найти по [ссылке](https://yandex.ru/dev/metrika/doc/api2/ga/ga/implemented/metrika_dim-docpage).
* **sort** - В качестве сортировки собранных данных может быть использован список метрик и группировок. По умолчанию используется сортировка по возрастанию. Чтобы использовать сортировку по убыванию, укажите знак «-» в запросе перед списком метрик и группировок. В качестве значения параметра sort вы можете использовать только те значения группировок и метрик, по которым были получены данные.
* **sampling.level** - Используйте данный параметр для указания уровня семплирования (количества визитов, использованных при расчете итогового значения). Возможные значения:
	* HIGHER_PRECISION — возвращает наиболее точное значение, используя наибольшую выборку данных. Этот режим может потребовать дополнительное время и замедлить обработку запроса.
	* FASTER — возвращает быстрый результат на основе сокращенной выборки данных.
	* DEFAULT — возвращает результат на основе выборки, сочетающей скорость и точность данных.
* **login** - Логин пользователя Яндекс.Метрики.
* **token.path** - Путь к директории в которой хранится файлс с учётными данными, для текущего пользователя Яндекс.Метрики, указанного в аргументе *login*.

### Пример работы с API совместимым с Core API Google Analytics

```r
ga.api.stat        <- rym_get_ga(counter    = "ga:00000000",
                                 dimensions = "ga:date,ga:source",
                                 metrics    = "ga:sessions,ga:users",
                                 start.date = "2018-08-01",
                                 end.date   = "20daysAgo",
                                 filters    = "ga:source==google.ru",
                                 sort       = "-ga:date",
                                 login      = "ваш логин",
                                 token.path = "metrica_token")
```
