Онлайн- и офлайн-отчет

Выбор режима

В зависимости от параметров и объема данных в отчете, сервер Директа может сформировать отчет в режиме онлайн или офлайн. Режим можно указать в HTTP-заголовке запроса processingMode:

processingMode: online

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

processingMode: offline

Отчет ставится в очередь на формирование в режиме офлайн. Проверять готовность отчета нужно с помощью повторных запросов с теми же параметрами, см. подраздел Как проверить готовность офлайн-отчета. Рекомендуемый интервал проверки указан в HTTP-заголовке ответа retryIn. Если формирование отчета завершено успешно, сервер возвращает отчет в теле ответа.

processingMode: auto

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

Отсутствие заголовка эквивалентно значению auto.

Примечание

Отчеты с типом SEARCH_QUERY_PERFORMANCE_REPORT могут быть сформированы только в режиме офлайн.

Как проверить готовность офлайн-отчета

Последовательность действий для режима auto:

  1. Отправьте запрос, инициирующий формирование отчета. Укажите в запросе HTTP-заголовок processingMode: auto.

В ответе сервера указан один из следующих HTTP-кодов:

  • 200 — отчет успешно сформирован в режиме онлайн и передан в теле ответа.

  • 201 — отчет успешно поставлен в очередь на формирование в режиме офлайн. Переходите к шагу 2.

  • 400 — ошибка в параметрах запроса либо превышено ограничение на количество запросов или отчетов в очереди. В этом случае проанализируйте сообщение об ошибке, скорректируйте запрос и отправьте его снова.

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

  1. Спустя интервал времени, указанный в HTTP-заголовке ответа retryIn (или другой выбранный вами интервал), отправьте повторный запрос с теми же параметрами.

В ответе сервера указан один из следующих HTTP-кодов:

  • 200 — отчет успешно сформирован и передан в теле ответа.

  • 202 — формирование отчета еще не завершено. Повторите шаг 2.

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

Узнайте больше

Коды ответов и ошибки