Процедура запроса

Процедуру запроса к AppMetrica Logs API можно разделить на два этапа:

Процедура запроса

Запрос на подготовку данных

AppMetrica Logs API принимает запрос и помещает его в очередь для обработки. Если запрос обработан корректно, AppMetrica подготавливает файл для выгрузки. В этом случае API возвращает HTTP-статус 202 Accepted. Если запрос вызвал ошибку, возвращается подходящий код ответа, а тело ответа содержит описание ошибки.

Примечание

Запросы в очереди обрабатываются последовательно (каждый последующий выполняются строго после завершения предыдущего).

Во время выполнения запроса и подготовки файла все идентичные запросы (с такими же параметрами) вернут HTTP-статус 202 Accepted.

Пример запроса:

GET /logs/v1/export/installations.json HTTP/1.1
Host: api.appmetrica.yandex.ru
Authorization: OAuth <your_token>

где <your_token> — это OAuth-токен, который можно получить по инструкции.

Пример ответа:

HTTP/1.1 202 Accepted
Content-Type: text/plain

Wait for result

Чтобы получать данные в сжатом виде, необходимо в запросе передать HTTP заголовок Accept-Encoding: gzip.

Запрос на выгрузку данных

Запрос на выгрузку данных идентичен запросу на подготовку. Если запрос на подготовку файла завершен, при следующем идентичном запросе Logs API возвращает HTTP-статус 200 OK. Файл с результатом запроса готов к загрузке.

Файл доступен для загрузки в течение 24 часов по URL первоначального запроса. При повторном запросе по истечении 24 часов, запрос помещается в очередь для обработки и формирования нового файла.

Вы можете вручную запросить повторную обработку запроса с помощью HTTP заголовка Cache-Control:

  • Для формирования нового файла отправить при запросе заголовок Cache-Control: no-cache.
  • Для скачивания файла, который сформирован не более чем N секунд назад, отправить при запросе заголовок Cache-Control: max-age=N. Если файл был создан более чем N секунд назад, AppMetrica формирует новый файл.
  • Для скачивания последнего сформированного файла, если он существует, не отправлять при запросе заголовок Cache-Control.

Как повысить доступность данных

Во время проведения технических работ некоторые шарды с данными могут оказаться временно недоступными. Если вам важно получить данные строго в определенный момент и небольшая погрешность в данных некритична, используйте параметр skip_unavailable_shards. По умолчанию он равен false.

Если установить параметр в значение true, Logs API вернет данные только с доступных шардов. При этом выборка будет неполной, но потери данных составят менее 1%.

  1. Проверьте доступность Logs API.

  2. Если запрос вернул logs_api_availability_status = disabled, в запросе на подготовку данных используйте skip_unavailable_shards = true.

    Если запрос вернул logs_api_availability_status = enabled, оставьте значение по умолчанию skip_unavailable_shards = false.

Выгрузка данных в интерфейсе AppMetrica

Вы можете выгрузить данные в файл в интерфейсе AppMetrica, подробнее см. Выгрузка данных в файл.

Список активных запросов на выгрузку

Чтобы получить список всех активных запросов на выгрузку данных, выполните запрос:

GET /logs/v1/export/get_active_queries?application_id={application_id} HTTP/1.1
Host: api.appmetrica.yandex.ru
Authorization: OAuth <your_token>

где <your_token> — это OAuth-токен, который можно получить по инструкции, а {application_id} — идентификатор приложения.

Пример запроса:

GET /logs/v1/export/get_active_queries?application_id=123456
Host: api.appmetrica.yandex.ru
Authorization: OAuth <your_token>

Пример ответа:

[
  {
    "application_id": 123456,
    "create_time": "2026-06-26 16:00:41",
    "entity": 1,
    "output_format": 0,
    "request_id": "112233445566778899",
    "query": "application_id=123456&date_since=...&date_until=...&date_dimension=default&fields=...",
    "status": 0,
    "total_progress": 0.125275,
    "total_rows_loaded": 0,
    "shards_unavailable": 0
  }
]

Название параметра

Описание

Пример значения

application_id

Идентификатор приложения.

123456

create_time

Дата и время создания запроса.

"2026-03-17 10:11:17"

entity

Тип события. Возможные значения:

  • 0 — трекинговые клики;
  • 1 — установки приложений;
  • 2 — события приложений;
  • 3 — постбеки;
  • 4 — ошибки;
  • 5 — крэши;
  • 6 — push-токены;
  • 7 — начала сессий;
  • 8 — устарело, не используется;
  • 9 - открытия приложения через deeplink;
  • 10 - события Revenue;
  • 11 - уведомления;
  • 12 - профили;
  • 13 - события Ad Revenue;
  • 14 - события Ecommerce.

5

output_format

Формат вывода:

  • 0 — CSV;
  • 1 — JSON.

1

request_id

Идентификатор запроса.

112233445566778899

query

Текст запроса.

"application_id=123456&date_since=2026-02-19&date_until=2026-02-19%2023%3A59%3A57&date_dimension=default&use_utf8_bom=true&fields=error_id%2Cerror_json&skip_unavailable_shards=true"

status

Текущий статус запроса. Возможные значения:

  • 0 — создан;
  • 1 — обработан.

0

total_progress

Процент выполнения. Значение от 0 до 1.

0.99

total_rows_loaded

Количество выгруженных строк данных.

0

shards_unavailable

Признак/доля недоступных шардов.

0

Если активных запросов нет, возвращается пустой массив [].

Отмена запроса на выгрузку

Вы можете отменить запрос на подготовку или выгрузку данных:

POST /logs/v1/export/{request_id}/cancel?application_id={application_id} HTTP/1.1
Host: api.appmetrica.yandex.ru
Authorization: OAuth <your_token>

где <your_token> — это OAuth-токен, который можно получить по инструкции, {request_id} — идентификатор запроса, который вы хотите отменить, а {application_id} — идентификатор приложения.

Идентификатор запроса можно посмотреть в списке активных запросов на выгрузку.

Пример запроса:

POST /logs/v1/export/112233445566778899/cancel?application_id=123456
Host: api.appmetrica.yandex.ru
Authorization: OAuth <your_token>

Если запрос на отмену выполнен успешно, он возвращает HTTP-статус 200 OK с сообщением:

  • запрос принят к отмене:

    {"message": "Request cancellation has been scheduled."}

  • запрос уже завершился и не может быть отменен:

    {"message": "The request has already finished and cannot be cancelled."}

Если вы не нашли ответ на свой вопрос, то вы можете задать его через форму обратной связи. Пожалуйста, опишите возникшую проблему как можно подробнее. Если возможно, приложите скриншот.

Написать в службу поддержки Предложить улучшение для документации
Предыдущая
Следующая