---
metadata:
  - name: generator
    content: Diplodoc Platform v5.54.1
alternate:
  - https://yandex.ru/dev/metrika/en/intro/quick-start.md
  - https://yandex.ru/dev/metrika/ru/intro/quick-start.md
  - href: ru/intro/quick-start.md
    type: text/markdown
    title: Markdown version
  - href: ../llms.txt
    type: text/markdown
    title: llms.txt
---
> **Documentation Index:** Fetch the complete configuration index at https://yandex.ru/dev/metrika/ru/llms.txt

# Быстрый старт

## Шаг 1. Получите oauth-токен {#token}

<!-- source: ru/_includes/oauth.md -->
1. [Создайте приложение](https://oauth.yandex.ru/?dialog=create-client-entry) и выберите пункт **Для доступа к API или отладки**. 

1. Заполните поля:
    - **название** — можно указать произвольно;
    - **почта** — укажите предпочтительную почту для связи;
    - **доступ к данным** — укажите набор доступов для вашего приложения. 
    
        Какие бывают доступы:

        - **metrika:read** — получение статистики, чтение параметров своих и доверенных счетчиков, получение списка счетчиков;
        - **metrika:write** — создание счетчиков, изменение параметров своих и доверенных счетчиков, загрузка любых данных;
        - **metrika:expenses** — загрузка в счетчики расходов;
        - **metrika:user_params** — загрузка в счетчики параметров пользователей;
        - **metrika:offline_data** — загрузка в счетчики офлайн-данных (данные из CRM, офлайн-конверсии, звонки).

        Доступы **metrika:expenses**, **metrika:user_params**, **metrika:offline_data** не обязательны, если используется доступ **metrika:write**.

    {% note info %}

    Если вы работаете через porg-логины (логины организации), то в правах доступа добавьте **passport:business** — это необходимо для выдачи токена от организации.

    {% endnote %}

1. Нажмите **Создать приложение** и скопируйте его ClientID (напротив идентификатора нажмите значок ![](../../_images/copy.svg)).

1. Добавьте скопированный ClientID в ссылку вида

    ```http translate=no
    https://oauth.yandex.ru/authorize?response_type=token&client_id=<application_id>
    ```

1. Перейдите по ссылке и на открывшейся странице скопируйте ваш авторизационный токен.
<!-- endsource: ru/_includes/oauth.md -->

### Возможные проблемы и их решение {#troubles}

<!-- source: ru/_includes/oauth.md -->
{% cut "Ошибка 403 (Access is denied) после получения токена" %}

Возможные причины:

**На стороне приложения**

- Приложение не имеет доступа к Метрике. Для чтения данных счётчиков (построение отчётов, просмотр информации по счётчику и т.п.) нужен доступ `metrika:read`. Для управления счётчиками (загрузка офлайн-данных, изменения счётчиков, сегментов и т.п.) нужен `metrika:write`.

**На стороне токена**

- Токен невалидный. Срок действия токена истек, либо на аккаунте, для которого он был заведен, изменился пароль авторизации. Перевыпустите токен.

- Токен создан не для того аккаунта. Мог быть заведён на логине, который не имеет доступ к счётчику Яндекс Метрики.

     {% note warning %}

     Владельцем токена является не владелец приложения, а аккаунт, из-под которого вы были авторизованы, когда выполняли GET-запрос на получение токена.

     {% endnote %}

- Токен создан не для того приложения. При выполнении GET-запроса на получение токена в параметре `client_id` было указано не то значение или была допущена опечатка, из-за которой токен был заведён на приложение, не имеющее доступа к Метрике (`metrika:read` или `metrika:write`).

**На стороне Метрики**

- На счётчике, к которому вы обращаетесь по API нет доступа у владельца токена. [Подробнее](https://yandex.ru/support/metrica/general/access.html) о типах доступов к счётчику. Для API нужен владелец, гостевой доступ на просмотр или гостевой доступ на редактирование, если речь идёт об API управления.

**На стороне API запроса**

- В коде для вызова API-запроса некорректно заданы параметры авторизации, из-за чего чтение токена происходит некорректно/не происходит вообще.

{% endcut %}

{% cut "Ошибка 401 (unauthorized) после получения токена" %}

Возможные причины:

1. Параметры авторизации в заголовке запроса заданы некорректно.
2. Параметры авторизации в заголовке отсутствуют.

{% endcut %}
<!-- endsource: ru/_includes/oauth.md -->

## Шаг 2. Выберите API для работы {#api}

Метрика предоставляет четыре основных API:

* [API управления](https://yandex.ru/dev/metrika/ru/management/index.md). Через этот API можно создавать/редактировать счетчики, цели, фильтры и другие объекты.
* [API импорта данных](https://yandex.ru/dev/metrika/ru/data-import/index.md). Через этот API можно импортировать данные о клиентах и заказах из CRM, звонках, офлайн-конверсиях, параметрах посетителей.
* [API отчетов](https://yandex.ru/dev/metrika/ru/stat/index.md). Через этот API можно получать информацию о посещаемости сайта и другие данные. Формировать отчеты, в том числе с помощью сегментации и параметризации.
* [API Logs](https://yandex.ru/dev/metrika/ru/logs/index.md). Через этот API можно получать неагрегированные данные, которые собирает Яндекс Метрика. Используйте API, если самостоятельно обрабатываете статистические данные и используете их для решения уникальных аналитических задач.

## Шаг 3. Измените объект через API {#edit}

В качестве примера возьмем API управления и создадим цель:

1. Перед тем как создать цель, выбираем счетчик, на котором необходимо создать цель. Для этого вызываем метод [GET https://api-metrika.yandex.net/management/v1/counters](https://yandex.ru/dev/metrika/ru/management/openapi/counter/counters.md) и выбираем нужный счетчик из списка.

   **Запрос:**
   ```http translate=no
   curl -i -X GET 'https://api-metrika.yandex.net/management/v1/counters' \
   -H 'Authorization: OAuth 05dd3dd8...'
   ```

   **Ответ:**
   ```json translate=no
   {
     "rows": 2,
     "counters": [
       {
         "id": 880000,
         "status": "Active",
         "owner_login": "example-developer",
         "code_status": "CS_ERR_UNKNOWN",
         "activity_status": "low",
         "name": "counter_option test example-developer",
         "type": "simple",
         "favorite": 0,
         "hide_address": 0,
         "pro": 0,
         "permission": "view",
         "webvisor": {
           "arch_enabled": 0,
           "arch_type": "none",
           "load_player_type": "proxy",
           "wv_version": 2,
           "allow_wv2": true,
           "notify_wv2": false,
           "wv_forms": 1
         },
         "code_options": {
           "async": 1,
           "informer": {
             "enabled": 0,
             "type": "ext",
             "size": 3,
             "indicator": "pageviews",
             "color_start": "FFFFFFFF",
             "color_end": "EFEFEFFF",
             "color_text": 0,
             "color_arrow": 1
           },
           "visor": 0,
           "track_hash": 0,
           "xml_site": 0,
           "clickmap": 1,
           "in_one_line": 0,
           "ecommerce": 0,
           "alternative_cdn": 0,
           "ecommerce_object": "dataLayer",
           "ytm": false
         },
         "create_time": "2022-03-25T15:59:52+03:00",
         "time_zone_name": "Europe/Moscow",
         "time_zone_offset": 180,
         "partner_id": 0,
         "site": "example-developer.ru",
         "site2": {
           "site": "example-developer.ru",
           "domain": "example-developer.ru"
         },
         "gdpr_agreement_accepted": 0,
         "delete_guest_allowed": 1
       },
       {
         "id": 87686941,
         "status": "Active",
         "owner_login": "example-manager",
         "code_status": "CS_ERR_UNKNOWN",
         "activity_status": "low",
         "name": "example-manager_1",
         "type": "simple",
         "favorite": 0,
         "hide_address": 0,
         "pro": 0,
         "permission": "edit",
         "webvisor": {
           "arch_enabled": 0,
           "arch_type": "none",
           "load_player_type": "proxy",
           "wv_version": 2,
           "allow_wv2": true,
           "notify_wv2": false,
           "wv_forms": 1
         },
         "code_options": {
           "async": 1,
           "informer": {
             "enabled": 0,
             "type": "ext",
             "size": 3,
             "indicator": "pageviews",
             "color_start": "FFFFFFFF",
             "color_end": "EFEFEFFF",
             "color_text": 0,
             "color_arrow": 1
           },
           "visor": 0,
           "track_hash": 0,
           "xml_site": 0,
           "clickmap": 1,
           "in_one_line": 0,
           "ecommerce": 0,
           "alternative_cdn": 0,
           "ecommerce_object": "dataLayer",
           "ytm": false
         },
         "create_time": "2022-03-02T16:06:27+03:00",
         "time_zone_name": "Europe/Moscow",
         "time_zone_offset": 180,
         "partner_id": 0,
         "site": "example-manager.ru",
         "site2": {
           "site": "example-manager.ru",
           "domain": "example-manager.ru"
         },
         "gdpr_agreement_accepted": 0,
         "delete_guest_allowed": 1
       }
     ]
   }
   ```

2. Для создания цели используем метод [POST https://api-metrika.yandex.net/management/v1/counter/{counterId}/goals](https://yandex.ru/dev/metrika/ru/management/openapi/goal/addGoal.md). Создадим цель [MessengerGoal](https://yandex.ru/dev/metrika/ru/management/openapi/goal/addGoal.md#messengergoal), которая будет фиксировать переходы в определенный мессенджер.

   **Запрос:**
   ```http translate=no
   curl -i -X POST 'https://api-metrika.yandex.net/management/v1/counter/XXX/goals' \
   -H 'Authorization: OAuth 05dd3dd8...' \
   -H 'Content-Type: application/json' \

   -d '{
          "goal": {
            "id": 0,
            "name": "MyMessengerGoal",
            "type": "messenger ",
            "conditions" : [{
              "type" :  "messenger", 
              "url" :  "whatsapp"
            }]
          }
    }'
   ```

   **Ответ:**
   ```http translate=no
   HTTP/1.1 200 OK

   {
      "goal": {
        "id": 222,
        "name": "MyMessengerGoal",
        "type": "messenger",
        "conditions" : [{
              "type" :  "messenger", 
              "url" :  "whatsapp"
            }]
        }
    }
   ```

