используйте в Wordstat И Яндекс Директ
Динамический коллтрекинг
Стоимость
8 800 555 55 22
Google Телепорт: полное руководство
Google в 2017 году разработал сервис, который способен решить задачу по переносу или дубляжу готовой рекламной кампании из одного аккаунта в другой практически в автоматическом режиме. Телепорт поможет перенести рекламную кампанию из Яндекс.Директ в AdWords за 15-30 минут и 6 простых шагов…
Основы таргетированной рекламы
Таргетированная реклама в умелых руках является мощным и действенным инструментом привлечения клиентов. Поэтому в этой статье мы решили познакомить вас с механизмами ее работы
Оглавление
Виртуальная АТС
- Голосовое меню (IVR)
- Запись разговоров
Интеграция с LDAP- Конференцсвязь
- Многоканальные номера
- Поддержка
- Подключение
- Статистика и мониторинг
Коллтрекинг
- О продукте
- Как подключить
- Решения
Возможности- Стоимость
- Сквозная аналитика
- Мультиканальная аналитика
Контакт-центр
- Исходящий обзвон
- Оценка эффективности работы
- Поддержка
- Подключение
- Управление клиентским сервисом
Решения
- IP-Телефония
- Телефонизация офиса
- Бесплатный вызов 8-800
- Для стартапов
- Диспетчеризация ЖКХ ТСЖ и УК
Бизнес-кейсы
Партнерам
Поддержка
О компании
Почему MANGO OFFICE
Наша команда
Наши достижения
Карьера
Пресс-центр
Блог «Бизнес-рецепты»
Мероприятия
Наши клиенты
Отзывы
статистика ключевых слов, проверка частотностей поисковых запросов 🚀
Яндекс Вордстат: статистика ключевых слов, проверка частотностей поисковых запросов 🚀один
два
три
четыре
пять
4.
3 (18)
Инструмент показывает количество обращений запросов к поисковой системе за последний месяц. Можно проверять как базовую частоту, подразумевающая все словоформы и варианты запроса, так и точную, показывающая частоту запроса в том виде, в котором он был введен.
Остались вопросы? Обращайтесь!
Задать вопрос
Или позвоните нам
Что думают наши клиенты
Александр Трачум Основатель агентства по продвижению сайтов Seodev.by
Серпхант собрал в себе все инструменты, которые нужны SEO специалисту: анализ контента, проверка позиций, анализ конкурентов и многое другое. С помощью данного сервиса можно забыть о том, что такое ручной труд в работе специалиста по продвижению сайтов.
Марк Автор блога по SEO-оптимизации znet.ru
Пользуюсь проверкой индексации, снятием позиций и некоторыми другими функциями сервиса. Мало есть бесплатных инструментов, которые позволяют массово парсить данные Google, а вкупе с понятным и современным дизайном это делает Serphunt действительно востребованным в повседневной работе
Артур Чахалян SEO-оптимизатор
Очень удобно, что большой объем данных видно сразу в одном месте: страницы, ключи, позиции, тошнотность, биграммы, оценки по главреду, объем текста и даже трафик для каждой статьи за день и месяц! При чем все эти данные формируются автоматически.
Достаточно указать url статей (или просто установить плагин WP) и можно получить все данные в пару кликов.
Юрий Гришаев Вебмастер
Очень удобный сервис, для информационных сайтов, т.к. в нём можно смотреть все параметры в постатейном срезе. Показываются все важные метрики, с помощью этого не надо никуда лезть, всё в 1-м месте. Сейчас активно им пользуюсь, что говорит о том, что мне всё нравится.
Александр Савин Вебмастер
Серпхант — один из лучших сервисов поисковой аналитики, который вмещает в себя необходимые инструменты для анализа продвигаемого ресурса. Главными его достоинствами являются точная проверка и семантический анализ текста.
Виктор SEO-специалист
Сервис Серпхант имеет понятный интерфейс. Он способен собрать полную информацию о вашем сайте, благодаря богатому SEO функционалу. В сервисе есть бесплатные проверки позиций, с использованием лимитов Яндекс.XML.
Наши инструменты для продвижения сайтов
- Проверка позиций сайта Бесплатный парсер занимаемых позиций в Яндексе и Гугл
- Проверка индексации страниц Контроль за наличием страниц в индексе поисковых систем Яндекс
- Анализ контента Комплексный семантический анализ контента
- Проверка частотности запросов Статистика ввода запросов в поисковых системах
- Анализ страниц конкурентов Глубокий, сравнительный анализ страниц конкурентов из ТОП 10 Яндекса
- Парсинг подсветок Анализ сниппетов в поисковой выдаче
Войти в аккаунт
Восстановление пароля
Загрузка .
..
Получить статистику по клиентам агентства. API Яндекс Директ. Версия 5
Python версии 2 или 3 с использованием JSON с библиотекой запросов
В этом примере показано, как использовать метод AgencyClients.get для получения списка клиентов агентства, а затем выполнять запросы к службе отчетов для получения статистики по аккаунтам рекламодателей для прошедший день. Режим формирования отчета выбирается автоматически. Если отчет добавляется в очередь в автономном режиме, выполняются повторные запросы.
Чтобы использовать пример, укажите во входных данных токен доступа OAuth, который вы получили для представителя агентства.
# --*- кодировка: utf-8 --*- запросы на импорт из запросов.исключения импортировать ConnectionError из времени импортировать сон импортировать json с даты импорта datetime, timedelta из времени импортировать время # Метод правильного анализа строк в кодировке UTF-8 как для Python 3, так и для Python 2 импорт системы если sys.version_info < (3,): защита и(х): пытаться: вернуть x.encode ("utf8") кроме UnicodeDecodeError: вернуть х еще: защита и(х): если isinstance(x, байт): вернуть x.decode('utf8') еще: вернуть х # --- Входные данные --- # Адрес службы AgencyClients для отправки JSON-запросов (с учетом регистра) AgencyClientsURL = 'https://api.direct.yandex.com/json/v5/agencyclients' # Адрес службы отчетов для отправки JSON-запросов (с учетом регистра) ReportsURL = 'https://api.direct.yandex.com/json/v5/reports' # Токен OAuth представителя агентства, от имени которого будут делаться запросы токен = 'ТОКЕН' # --- Подготовка запроса к сервису AgencyClients --- # Создание заголовков HTTP-запроса заголовки = { # Токен OAuth. Слово Bearer должно быть использовано "Авторизация": "Предъявитель" + токен, # Язык ответных сообщений "Accept-Language": "ru" } АгентствоClientsBody = { "метод": "получить", "параметры": { "Критерий выбора": { "Архив": "НЕТ" # Получить только активных клиентов }, «Имена полей»: [«Логин»], "Страница": { "Limit": 10000, # Получить максимум 10000 клиентов в ответе сервера "Смещение": 0 } } } # --- Выполнение запросов к сервису AgencyClients --- # Если параметра LimitedBy нет в ответе, значит # что все клиенты были получены HasAllClientLoginsReceived = Ложь Список клиентов = [] пока не HasAllClientLoginsReceived: ClientsResult = request.
post(AgencyClientsURL, json.dumps(AgencyClientsBody), headers=headers).json() для клиента в ClientsResult['result']['Clients']: ClientList.append(Клиент["Логин"]) если ClientsResult['result'].get("LimitedBy", False): AgencyClientsBody['Page']['Offset'] = ClientsResult['result']["LimitedBy"] еще: HasAllClientLoginsReceived = Истина # --- Подготовка запроса к сервису отчетов --- # Создание тела сообщения запроса # Отчет содержит статистику кликов, показов и расходов по всем кампаниям клиента тело = { "параметры": { "Критерий выбора": {}, "Имена полей": [ «Впечатления», "клики", "Расходы" ], "ReportName": u("ACCOUNT_PERFORMANCE"), "ReportType": "ACCOUNT_PERFORMANCE_REPORT", «Датеранжетипе»: «АВТО», "Формат": "TSV", "Включить НДС": "НЕТ", "IncludeDiscount": "НЕТ" } } # Создание выходных данных resultcsv = "Логин;Показы;Клики;Стоимость\n" # Дополнительные заголовки HTTP для запроса отчетов заголовки['skipReportHeader'] = "истина" заголовки['skipColumnHeader'] = "истина" заголовки['skipReportSummary'] = "истина" заголовки['returnMoneyInMicros'] = "ложь" # --- Выполнение запросов к службе отчетов --- для клиента в ClientList: # Добавление HTTP-заголовка "Client-Login" headers['Client-Login'] = Клиент # Кодирование тела сообщения запроса в формате JSON requestBody = json. dumps (тело, отступ = 4) # Запускаем цикл выполнения запроса # Если возвращается код ответа HTTP 200, данные отчета добавляются к выходным данным # Если возвращается код ответа HTTP 201 или 202, выполняются повторные запросы пока верно: пытаться: req = request.post (ReportsURL, requestBody, заголовки = заголовки) req.encoding = 'utf-8' # Обязательная обработка ответа в UTF-8 если req.status_code == 400: print("Неверные параметры запроса, либо очередь запросов заполнена") print("RequestId: {}".format(req.headers.get("RequestId", False))) print("Код JSON для запроса: {}".format(u(body))) print("Код JSON для ответа сервера: \n{}".format(u(req.json()))) ломать Элиф req.status_code == 200: print("Отчет для учетной записи {} успешно создан".format(str(Client))) print("RequestId: {}".format(req.headers.get("RequestId", False))) если затреб.
текст != "": tempresult = req.text.split('\t') resultcsv += "{};{};{};{}\n".format(Client, tempresult[0], tempresult[1], str(tempresult[2]).replace('.', ',' )) еще: resultcsv += "{};0;0;0\n".format(Клиент) ломать Элиф req.status_code == 201: print("Отчет для аккаунта {} добавлен в очередь в автономном режиме".format(str(Client))) retryIn = int(req.headers.get("retryIn", 60)) print("Повторно отправить запрос через {} секунд".format(retryIn)) print("RequestId: {}".format(req.headers.get("RequestId", False))) спать (повторить попытку) Элиф req.status_code == 202: print("Отчет будет сформирован в автономном режиме".format(str(Клиент))) retryIn = int(req.headers.get("retryIn", 60)) print("Повторить запрос через {} секунд".format(retryIn)) print("RequestId: {}".
format(req.headers.get("RequestId", False))) спать (повторить попытку) Элиф req.status_code == 500: print("Ошибка создания отчета. Пожалуйста, повторите запрос позже.") print("RequestId: {}".format(req.headers.get("RequestId", False))) напечатайте "JSON-код для ответа сервера: \n{}".format(u(req.json()))) ломать Элиф req.status_code == 502: print("Превышен лимит сервера на время создания отчета.") Распечатать( "Попробуйте изменить параметры запроса: уменьшите период времени и объем запрашиваемых данных".) print("Код JSON для запроса: {}".format(body)) print("RequestId: {}".format(req.headers.get("RequestId", False))) print("Код JSON для ответа сервера: \n{}".format(u(req.json()))) ломать еще: print("Непредвиденная ошибка") print("RequestId: {}".
format(req.headers.get("RequestId", False))) print("Код JSON для запроса: {}".format(body)) print("Код JSON для ответа сервера: \n{}".format(u(req.json()))) ломать # Обработка ошибок, если не удалось установить соединение с API-сервером Яндекс Директ кроме ConnectionError: # В этом случае мы рекомендуем повторить запрос позже print("Ошибка подключения к серверу API Яндекс Директ") # Принудительный выход из цикла ломать # Если произошла какая-либо другая ошибка кроме: # В этом случае рекомендуем проанализировать действия приложения print("Непредвиденная ошибка") # Принудительный выход из цикла ломать print("Завершено создание отчетов для аккаунтов") # Создание и сохранение файла имя_файла = "AccountsPerfomanceReport_{}.csv".format (str(время())) файл результата = открыть (имя файла, 'w+') файл результатов. написать (результатcsv) файл результатов.
close() print("Результаты сохраняются в файл {}".format(filename))
Была ли статья полезна?
Получить статистику за любые даты. API Яндекс Директ. Версия 5
Python версии 2 или 3 с использованием JSON с библиотекой запросов
В этом примере показан запрос к службе отчетов, а также обработка и вывод результатов. Режим формирования отчета выбирается автоматически. Если отчет добавляется в очередь в автономном режиме, выполняются повторные запросы.
Отчет содержит статистику показов, кликов и расходов по всем кампаниям рекламодателя за любой указанный период с группировкой по дате, названию кампании и местоположению пользователя.
Чтобы использовать пример, укажите токен доступа OAuth во входных данных. Для запроса от имени агентства также укажите логин клиента. В теле сообщения запроса укажите дату начала и окончания отчетного периода, а также имя отчета, уникальное среди отчетов рекламодателя.
# --*- кодировка: utf-8 --*- запросы на импорт из запросов.исключения импортировать ConnectionError из времени импортировать сон импортировать json # Метод правильного анализа строк в кодировке UTF-8 как для Python 3, так и для Python 2 импорт системы если sys.version_info < (3,): защита и(х): пытаться: вернуть x.encode ("utf8") кроме UnicodeDecodeError: вернуть х еще: защита и(х): если тип (x) == тип (b''): вернуть x.decode('utf8') еще: вернуть х # --- Входные данные --- # Адрес службы отчетов для отправки JSON-запросов (с учетом регистра) ReportsURL = 'https://api.direct.yandex.com/json/v5/reports' # Токен OAuth пользователя, от имени которого будут выполняться запросы токен = 'ТОКЕН' # Логин клиента рекламного агентства # Обязательный параметр, если запросы делаются от имени рекламного агентства clientLogin = 'CLIENT_LOGIN' # --- Подготовка запроса --- # Создание заголовков HTTP-запроса заголовки = { # Токен OAuth. Слово Bearer должно быть использовано "Авторизация": "Предъявитель" + токен, #Логин клиента рекламного агентства «Клиент-Логин»: clientLogin, # Язык ответных сообщений "Accept-Language": "ru", # Режим формирования отчета "режим обработки": "авто" # Формат денежных значений в отчете # "returnMoneyInMicros": "false", # Не включать строку с названием отчета и диапазоном дат в отчет # "skipReportHeader": "true", # Не включать строку с именами столбцов в отчет # "skipColumnHeader": "true", # Не включать строку с количеством строк статистики в отчет # "skipReportSummary": "true" } # Создание тела сообщения запроса тело = { "параметры": { "Критерий выбора": { "ДатаОт": "START_DATE", "DateTo": "END_DATE" }, "Имена полей": [ "Свидание", "Название кампании", "МестонахождениеПрисутствия", «Впечатления», "клики", "Расходы" ], "ИмяОтчета": u("ИМЯ_ОТЧЕТА"), "ReportType": "CAMPAIGN_PERFORMANCE_REPORT", "DateRangeType": "CUSTOM_DATE", "Формат": "TSV", "Включить НДС": "НЕТ", "IncludeDiscount": "НЕТ" } } # Кодирование тела сообщения запроса в формате JSON тело = json.
dumps (тело, отступ = 4) # --- Запуск цикла выполнения запроса --- # Если возвращается HTTP-код 200, выводим содержимое отчета # Если возвращается HTTP-код 201 или 202, отправляем повторные запросы пока верно: пытаться: req = request.post (URL-адрес отчетов, тело, заголовки = заголовки) req.encoding = 'utf-8' # Обязательная обработка ответа в UTF-8 если req.status_code == 400: print("Неверные параметры запроса, либо очередь отчетов заполнена") print("RequestId: {}".format(req.headers.get("RequestId", False))) print("Код JSON для запроса: {}".format(u(body))) print("Код JSON для ответа сервера: \n {}".format(u(req.json()))) ломать Элиф req.status_code == 200: print("Отчет успешно создан") print("RequestId: {}".format(req.headers.get("RequestId", False))) print("Содержание отчета: \n{}".format(u(req.text))) ломать Элиф req.status_code == 201: print("Отчет успешно добавлен в автономную очередь") retryIn = int(req.
headers.get("retryIn", 60)) print("Запрос будет отправлен повторно через {} секунд".format(retryIn)) print("RequestId: {}".format(req.headers.get("RequestId", False))) спать (повторить попытку) Элиф req.status_code == 202: print("Отчет создается в автономном режиме") retryIn = int(req.headers.get("retryIn", 60)) print("Запрос будет отправлен повторно через {} секунд".format(retryIn)) print("RequestId: {}".format(req.headers.get("RequestId", False))) спать (повторить попытку) Элиф req.status_code == 500: print("При создании отчета произошла ошибка. Пожалуйста, повторите запрос позже") print("RequestId: {}".format(req.headers.get("RequestId", False))) print("Код JSON для ответа сервера: \n{}".format(u(req.json()))) ломать Элиф req.status_code == 502: print("Превышен лимит сервера на время создания отчета.") print("Пожалуйста, попробуйте изменить параметры запроса: уменьшите период времени и объем запрашиваемых данных.

version_info < (3,):
защита и(х):
пытаться:
вернуть x.encode ("utf8")
кроме UnicodeDecodeError:
вернуть х
еще:
защита и(х):
если isinstance(x, байт):
вернуть x.decode('utf8')
еще:
вернуть х
# --- Входные данные ---
# Адрес службы AgencyClients для отправки JSON-запросов (с учетом регистра)
AgencyClientsURL = 'https://api.direct.yandex.com/json/v5/agencyclients'
# Адрес службы отчетов для отправки JSON-запросов (с учетом регистра)
ReportsURL = 'https://api.direct.yandex.com/json/v5/reports'
# Токен OAuth представителя агентства, от имени которого будут делаться запросы
токен = 'ТОКЕН'
# --- Подготовка запроса к сервису AgencyClients ---
# Создание заголовков HTTP-запроса
заголовки = {
# Токен OAuth. Слово Bearer должно быть использовано
"Авторизация": "Предъявитель" + токен,
# Язык ответных сообщений
"Accept-Language": "ru"
}
АгентствоClientsBody = {
"метод": "получить",
"параметры": {
"Критерий выбора": {
"Архив": "НЕТ" # Получить только активных клиентов
},
«Имена полей»: [«Логин»],
"Страница": {
"Limit": 10000, # Получить максимум 10000 клиентов в ответе сервера
"Смещение": 0
}
}
}
# --- Выполнение запросов к сервису AgencyClients ---
# Если параметра LimitedBy нет в ответе, значит
# что все клиенты были получены
HasAllClientLoginsReceived = Ложь
Список клиентов = []
пока не HasAllClientLoginsReceived:
ClientsResult = request.
dumps (тело, отступ = 4)
# Запускаем цикл выполнения запроса
# Если возвращается код ответа HTTP 200, данные отчета добавляются к выходным данным
# Если возвращается код ответа HTTP 201 или 202, выполняются повторные запросы
пока верно:
пытаться:
req = request.post (ReportsURL, requestBody, заголовки = заголовки)
req.encoding = 'utf-8' # Обязательная обработка ответа в UTF-8
если req.status_code == 400:
print("Неверные параметры запроса, либо очередь запросов заполнена")
print("RequestId: {}".format(req.headers.get("RequestId", False)))
print("Код JSON для запроса: {}".format(u(body)))
print("Код JSON для ответа сервера: \n{}".format(u(req.json())))
ломать
Элиф req.status_code == 200:
print("Отчет для учетной записи {} успешно создан".format(str(Client)))
print("RequestId: {}".format(req.headers.get("RequestId", False)))
если затреб.
текст != "":
tempresult = req.text.split('\t')
resultcsv += "{};{};{};{}\n".format(Client, tempresult[0], tempresult[1], str(tempresult[2]).replace('.', ',' ))
еще:
resultcsv += "{};0;0;0\n".format(Клиент)
ломать
Элиф req.status_code == 201:
print("Отчет для аккаунта {} добавлен в очередь в автономном режиме".format(str(Client)))
retryIn = int(req.headers.get("retryIn", 60))
print("Повторно отправить запрос через {} секунд".format(retryIn))
print("RequestId: {}".format(req.headers.get("RequestId", False)))
спать (повторить попытку)
Элиф req.status_code == 202:
print("Отчет будет сформирован в автономном режиме".format(str(Клиент)))
retryIn = int(req.headers.get("retryIn", 60))
print("Повторить запрос через {} секунд".format(retryIn))
print("RequestId: {}".
format(req.headers.get("RequestId", False)))
спать (повторить попытку)
Элиф req.status_code == 500:
print("Ошибка создания отчета. Пожалуйста, повторите запрос позже.")
print("RequestId: {}".format(req.headers.get("RequestId", False)))
напечатайте "JSON-код для ответа сервера: \n{}".format(u(req.json())))
ломать
Элиф req.status_code == 502:
print("Превышен лимит сервера на время создания отчета.")
Распечатать(
"Попробуйте изменить параметры запроса: уменьшите период времени и объем запрашиваемых данных".)
print("Код JSON для запроса: {}".format(body))
print("RequestId: {}".format(req.headers.get("RequestId", False)))
print("Код JSON для ответа сервера: \n{}".format(u(req.json())))
ломать
еще:
print("Непредвиденная ошибка")
print("RequestId: {}".
format(req.headers.get("RequestId", False)))
print("Код JSON для запроса: {}".format(body))
print("Код JSON для ответа сервера: \n{}".format(u(req.json())))
ломать
# Обработка ошибок, если не удалось установить соединение с API-сервером Яндекс Директ
кроме ConnectionError:
# В этом случае мы рекомендуем повторить запрос позже
print("Ошибка подключения к серверу API Яндекс Директ")
# Принудительный выход из цикла
ломать
# Если произошла какая-либо другая ошибка
кроме:
# В этом случае рекомендуем проанализировать действия приложения
print("Непредвиденная ошибка")
# Принудительный выход из цикла
ломать
print("Завершено создание отчетов для аккаунтов")
# Создание и сохранение файла
имя_файла = "AccountsPerfomanceReport_{}.csv".format (str(время()))
файл результата = открыть (имя файла, 'w+')
файл результатов. написать (результатcsv)
файл результатов.
close()
print("Результаты сохраняются в файл {}".format(filename))
исключения импортировать ConnectionError
из времени импортировать сон
импортировать json
# Метод правильного анализа строк в кодировке UTF-8 как для Python 3, так и для Python 2
импорт системы
если sys.version_info < (3,):
защита и(х):
пытаться:
вернуть x.encode ("utf8")
кроме UnicodeDecodeError:
вернуть х
еще:
защита и(х):
если тип (x) == тип (b''):
вернуть x.decode('utf8')
еще:
вернуть х
# --- Входные данные ---
# Адрес службы отчетов для отправки JSON-запросов (с учетом регистра)
ReportsURL = 'https://api.direct.yandex.com/json/v5/reports'
# Токен OAuth пользователя, от имени которого будут выполняться запросы
токен = 'ТОКЕН'
# Логин клиента рекламного агентства
# Обязательный параметр, если запросы делаются от имени рекламного агентства
clientLogin = 'CLIENT_LOGIN'
# --- Подготовка запроса ---
# Создание заголовков HTTP-запроса
заголовки = {
# Токен OAuth. Слово Bearer должно быть использовано
"Авторизация": "Предъявитель" + токен,
#Логин клиента рекламного агентства
«Клиент-Логин»: clientLogin,
# Язык ответных сообщений
"Accept-Language": "ru",
# Режим формирования отчета
"режим обработки": "авто"
# Формат денежных значений в отчете
# "returnMoneyInMicros": "false",
# Не включать строку с названием отчета и диапазоном дат в отчет
# "skipReportHeader": "true",
# Не включать строку с именами столбцов в отчет
# "skipColumnHeader": "true",
# Не включать строку с количеством строк статистики в отчет
# "skipReportSummary": "true"
}
# Создание тела сообщения запроса
тело = {
"параметры": {
"Критерий выбора": {
"ДатаОт": "START_DATE",
"DateTo": "END_DATE"
},
"Имена полей": [
"Свидание",
"Название кампании",
"МестонахождениеПрисутствия",
«Впечатления»,
"клики",
"Расходы"
],
"ИмяОтчета": u("ИМЯ_ОТЧЕТА"),
"ReportType": "CAMPAIGN_PERFORMANCE_REPORT",
"DateRangeType": "CUSTOM_DATE",
"Формат": "TSV",
"Включить НДС": "НЕТ",
"IncludeDiscount": "НЕТ"
}
}
# Кодирование тела сообщения запроса в формате JSON
тело = json.
dumps (тело, отступ = 4)
# --- Запуск цикла выполнения запроса ---
# Если возвращается HTTP-код 200, выводим содержимое отчета
# Если возвращается HTTP-код 201 или 202, отправляем повторные запросы
пока верно:
пытаться:
req = request.post (URL-адрес отчетов, тело, заголовки = заголовки)
req.encoding = 'utf-8' # Обязательная обработка ответа в UTF-8
если req.status_code == 400:
print("Неверные параметры запроса, либо очередь отчетов заполнена")
print("RequestId: {}".format(req.headers.get("RequestId", False)))
print("Код JSON для запроса: {}".format(u(body)))
print("Код JSON для ответа сервера: \n {}".format(u(req.json())))
ломать
Элиф req.status_code == 200:
print("Отчет успешно создан")
print("RequestId: {}".format(req.headers.get("RequestId", False)))
print("Содержание отчета: \n{}".format(u(req.text)))
ломать
Элиф req.status_code == 201:
print("Отчет успешно добавлен в автономную очередь")
retryIn = int(req.
headers.get("retryIn", 60))
print("Запрос будет отправлен повторно через {} секунд".format(retryIn))
print("RequestId: {}".format(req.headers.get("RequestId", False)))
спать (повторить попытку)
Элиф req.status_code == 202:
print("Отчет создается в автономном режиме")
retryIn = int(req.headers.get("retryIn", 60))
print("Запрос будет отправлен повторно через {} секунд".format(retryIn))
print("RequestId: {}".format(req.headers.get("RequestId", False)))
спать (повторить попытку)
Элиф req.status_code == 500:
print("При создании отчета произошла ошибка. Пожалуйста, повторите запрос позже")
print("RequestId: {}".format(req.headers.get("RequestId", False)))
print("Код JSON для ответа сервера: \n{}".format(u(req.json())))
ломать
Элиф req.status_code == 502:
print("Превышен лимит сервера на время создания отчета.")
print("Пожалуйста, попробуйте изменить параметры запроса: уменьшите период времени и объем запрашиваемых данных.