Процедура запроса
Процедуру запроса к 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 05dd3dd84ff948fdae2bc4fb91f13e22bb1f289ceef0037
Пример ответа:
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
.
Если вы не нашли ответ на свой вопрос, то вы можете задать его через форму обратной связи. Пожалуйста, опишите возникшую проблему как можно подробнее. Если возможно, приложите скриншот.