Онлайн- и офлайн-отчет
Выбор режима
В зависимости от параметров и объема данных в отчете, сервер Директа может сформировать отчет в режиме онлайн или офлайн. Режим можно указать в HTTP-заголовке запроса processingMode:
processingMode: online
Отчет формируется в режиме онлайн. Если отчет успешно сформирован, он будет передан в теле ответа. Если отчет не может быть сформирован в режиме онлайн, возвращается ошибка.
processingMode: offline
Отчет ставится в очередь на формирование в режиме офлайн. Проверять готовность отчета нужно с помощью повторных запросов с теми же параметрами, см. подраздел Как проверить готовность офлайн-отчета. Рекомендуемый интервал проверки указан в HTTP-заголовке ответа retryIn. Если формирование отчета завершено успешно, сервер возвращает отчет в теле ответа.
processingMode: auto
Сервер автоматически выбирает режим формирования отчета. Если отчет успешно сформирован в режиме онлайн, он будет передан в теле ответа. Если отчет не может быть сформирован в режиме онлайн, он ставится в очередь на формирование в режиме офлайн. Приложение должно поддерживать оба режима.
Отсутствие заголовка эквивалентно значению auto.
Примечание
Отчеты с типом SEARCH_QUERY_PERFORMANCE_REPORT могут быть сформированы только в режиме офлайн.
Как проверить готовность офлайн-отчета
Последовательность действий для режима auto
:
- Отправьте запрос, инициирующий формирование отчета. Укажите в запросе HTTP-заголовок
processingMode: auto
.
В ответе сервера указан один из следующих HTTP-кодов:
-
200 — отчет успешно сформирован в режиме онлайн и передан в теле ответа.
-
201 — отчет успешно поставлен в очередь на формирование в режиме офлайн. Переходите к шагу 2.
-
400 — ошибка в параметрах запроса либо превышено ограничение на количество запросов или отчетов в очереди. В этом случае проанализируйте сообщение об ошибке, скорректируйте запрос и отправьте его снова.
-
500 — при формировании отчета произошла ошибка на сервере. Если для этого отчета ошибка на сервере возникла впервые, попробуйте сформировать отчет заново. Если ошибка повторяется, обратитесь в службу поддержки.
- Спустя интервал времени, указанный в HTTP-заголовке ответа retryIn (или другой выбранный вами интервал), отправьте повторный запрос с теми же параметрами.
В ответе сервера указан один из следующих HTTP-кодов:
-
200 — отчет успешно сформирован и передан в теле ответа.
-
202 — формирование отчета еще не завершено. Повторите шаг 2.
-
500 — при формировании отчета произошла ошибка на сервере. Если для этого отчета ошибка на сервере возникла впервые, попробуйте сформировать отчет заново — вернитесь к шагу 1. Если ошибка повторяется, обратитесь в службу поддержки.