Клуб Яндекс.Метрики

Создание цели через API

Пост в архиве.

Из справки по API v1 для создания цели не понятно, какие параметры должны передаваться в зависимости от типа цели.

Отправляю POST запрос '{"goal": {"depth": 1, "is_retargeting": 0, "type": "number", "name": "Goal name", "class": 0}}' на https://api-metrika.yandex.ru/management/v1/counter/<counter_id>/goals.json. В ответ 400 ошибка. Что не так?

Также в некоторых структурах для создания цели есть поле flag, которое нужно для маркета. Что должно передаваться в этом поле, если маркет не используется?

Еще проблема: при получении структуры по счетчику, в ней нет структуры по целям, хотя в самом счетчике в интерфейсе куча целей.

4 комментария
Яндекс Василиса
21 марта 2016, 11:54
Здравствуйте!

Насколько мы видим, Вы не указываете в условия достижения цели во входящих данных на сервер API Метрики. То есть, Вам нужно использовать массив "conditions" во входящих данных. Подробности об этом массиве Вы можете узнать на странице https://tech.yandex.ru/metrika/doc/api2/management/counters/class_goale-docpage/ .

Параметр "flag" не является обязательным. Его можно не указывать во входящих данных если он не используется.

При получении информации о счетчике Яндекс.Метрики с помощью API Метрики 2.0 Вы можете указывать поля, которые вернутся в результирующих данных. В Вашем случае мы можем порекомендовать Вам использовать параметр "field=goals" в URL Вашего запроса. По умолчанию список целей не возвращается в ответе сервера API. Больше информации о параметре "field" Вы можете найти на странице https://tech.yandex.ru/metrika/doc/api2/management/counters/counter-docpage/ .
Приведите, пожалуйста, пример структуры для создания цели с type='number'
Яндекс Василиса
22 марта 2016, 16:33
pikhovkins,
приносим свои извинения за предоставленную ранее некорректную информацию.

Для типа цели "number" ("Количество просмотров") действительно не нужно использовать массив "conditions". В данном случае в роли условия будет выступать глубина просмотра - параметр "depth".

Если воспользоваться указанным Вами ранее телом запроса, то действительно API Метрики вернет ошибку №400. Это связано со значением параметра "depth". Он не может иметь значения менее 2. Это общая логика сервиса Яндекс.Метрика.