Работает полностью в ручном режиме (без ожидания и автоматической загрузки результата), зато с кучей предварительных проверок и подсказок. В общем, бережно относится к серверам Яндекс и риск получить от них ошибку минимален)
Прежде чем загрузить (метод download) готовый отчет, его нужно создать методом create и дождаться, пока его статус сменится на processed. Сколько ждать? Зависит от загрузки серверов Яндекс, кол-ва полей в запросе и диапазона дат.
- Сначала запустите функцию без параметров и получите токен по инструкции, если у вас его ещё нет
- Укажите токен в первом параметре и снова вызовите функцию. Вы увидите список счетчиков, к которым есть доступ у токена
- Скопируйте номер нужного счетчика и вставьте его вторым параметром в вызов функции. Вы увидите таблицу со списком допустимых значений параметра request_id и предложением указать 0, если не планируете работать с идентификаторами запроса.
- Скопируйте нужное значение request_id и укажите его третьим параметром в вызове функции. После этого вы получите список допустимых значений методов API (method)
- Аналогично по остальным параметрам: вводите один - получаете подсказку по следующему и т. д.
- Список полей можно загружать сплошным текстом через запятую или в виде списка текстовых значений. Можно отфильтровать нужные поля из копии запроса и подставить куда нужно.
Отчеты подготавливаются в течение некоторого времени от нескольких минут и более. Возможные статусы отчета:
- processed — обработан (подготовлен).
- canceled — отменён.
- processing_failed — ошибка при обработке.
- created — создан.
- cleaned_by_user — очищен пользователем.
- cleaned_automatically_as_too_old — очищен автоматически.
Метод | ID запроса | Описание |
---|---|---|
create | - | Создать запрос логов для указанного аккаунта с выбранными типом, периодом и списком полей отчета. Расширенная реализация метода Создания запроса логов : прежде чем создать запрос, проверяет, что в аккаунте нет аналогичных отчетов по периоду дат, типу отчета и полям. Если находит, то возвращает его идентификатор, если это произошло, то можно его сразу же download 😉 |
list | - | Отобразить список запросов и отчетов в аккаунте. Реализует метод Список запросов логов |
info | обязателен | Запросить статус отчета с указанным идентификатором (список статусов представлен ниже). Реализует метод Информация о запросе логов |
download | обязателен | Загрузить готовый отчет (со статусом processed). Расширенная реализация метода Загрузки подготовленных логов. Особенность в том, что загружаются и объединяются сразу все части, а не по отдельности, как это реализовано в оригинальном методе. Если отчет не готов, то вернется список запросов. Дождитесь статуса processed и попробуйте заново через какое-то время. Загружать готовые отчеты можно сразу все или выборочно (см. ниже) |
clean | обязателен | Удалить готовый отчет с указанным идентификатором (см. ниже). Реализует метод Очистка обработанных запросов логов |
cancel | обязателен | Отменить не подготовленный отчет с указанным идентификатором (см. ниже). Реализует метод Отмена не обработанного запроса логов |
Чтобы очистить или отменить создание всех запросов:
- передавайте идентификаторы запросов в параметр request_id по одному или списком (в том числе строкой через запятую)
- укажите в параметре request_id значение "all" (все запросы)
Загрузить (download) можно только подготовленные отчеты (в статусе processed):
- без указания идентфикатора запроса в request_id - будет автоматически найден запрос с совпадающими параметрами counter_id, date_from, date_to, source, fields, attribution. Совпадения будут обнаружены даже в случае перестановки полей в списке fields.
- передвая идентификаторы в request_id по одному, списком или "all" (все запросы)
Подсказки возвращаются в виде таблицы, например, вот такой:
Позиция | Параметр | Допустимое значение | Описание |
---|---|---|---|
2 | counter_id | 55130555 | Мой сайт - yogaBI.ru |
Где:
- Позиция - порядковый номер параметра в вызове функции
- Параметр - название этого параметра
- Допустимое значение - допустимое значение параметра. Его можно копировать и подставлять на своё место в вызов функции прямо в таком виде, со всеми кавычками и др. знаками, например, #date(2020,5,2)
- Описание - что означает данное значение параметра
Для attribution подсказки нет (но неверные значения все равно не принимаются) https://yandex.ru/dev/metrika/doc/api2/logs/param-docpage/#param. По-умолчанию возвращается LAST - последний переход, т.к. в случае других значений вместо идентификаторов источников визита возвращаются числа. В поддержке метрики по поводу расшифровки этих чисел ответили:
Добрый день!
Указанные Вами цифры это идентификаторы соответсвующих полей. В этом случае мы можем порекомендовать Вам получать аналогичные измерения с помощью API отчетов для сопоставления идентификаторов с наименованиями.
Функционал атрибуции явно сырой, поэтому не рекомендую менять LAST на что-то другое.