geo Проверка геозависимости запросов
Определяет, геозависим ли запрос: ищет топоним региона в заголовках и сниппетах ТОП-50 Яндекса и считает, какая доля выдачи им локализована. По желанию добавляет коммерциализацию запросов. Метод асинхронный: POST ставит задачу и возвращает report_id, по нему результат забирается GET-запросом. Веб-версия — инструмент «Геозависимость запросов».
- Режим
- асинхронный:
report_id - Стоимость
- 1 лимит за запрос, списывается при постановке задачи
- Нужно на балансе
- 2 лимита на запрос
- Одновременно
- не больше 6 активных задач
Постановка задачи
/api/geo
Принимает список запросов и регион, ставит задачу в очередь и сразу отвечает её номером. Параметры задачи читаются из тела запроса; key — из query-строки.
Параметры query и тело формы
-
keystring обязательныйКлюч API из настроек аккаунта. Передаётся в query-строке и у POST-запроса тоже. -
requestsarray обязательныйЗапросы для проверки: массивrequests[]или одна строка, где запросы разделены переводом строки\r\n(строка очищается от пустых строк и дублей). -
lrintРегион Яндекса, код lr. Его название и синонимы и ищутся в выдаче. -
deepintСколько позиций ТОПа анализировать, от 1 до 50. Значение вне диапазона заменяется на 50. -
intentboolДобавить в ответ коммерциализацию запросов (блокdata). Включается любым непустым значением — даже строкойfalse; чтобы выключить, не передавайте параметр. -
search_systemstringПоисковая система. Неизвестное значение заменяется наyandex.Сейчас
googleпринимается, но не учитывается: проверка всегда идёт по выдаче Яндекса, и стоимость считается как для Яндекса.
Ответ
-
report_idintНомер задачи — передайте его в получение результата.
Получение результата
/api/geo
Пока задача выполняется, метод отвечает ошибкой 50 «In progress» — повторите запрос позже. Готовый результат хранится в истории инструмента, его можно забирать повторно.
Параметры query
-
keystring обязательныйКлюч API из настроек аккаунта. Передаётся в query-строке и у POST-запроса тоже. -
report_idint обязательныйНомер задачи из ответа на постановку.
Ответ
-
requestobjectПараметры задачи:queries,lr,ss,comm,deep. -
response.res_arrayobjectЗапрос →Да(геозависим) илиНет. Если топоним есть в самом запросе — всегдаНет: запрос уже локализован. -
response.local_powobjectЗапрос → доля ТОПа (в процентах), где в заголовке или сниппете встретился топоним региона. -
response.dataobjectТолько приintent: коммерциализация по каждому запросу.Вложенные поля
-
thematic_wordsarrayТематические слова запроса. -
comintПроцент коммерческих документов в ТОПе. -
revintПроцент документов с отзывами. -
mediaintПроцент фото- и видеодокументов. -
lexintПроцент словарных документов. -
musicintПроцент музыкальных документов. -
travintПроцент документов о путешествиях и отдыхе.
-
-
timestringВремя завершения задачи, Unix timestamp. -
costintСтоимость задачи в лимитах.
Ошибки
| Код | Сообщение | Когда |
|---|---|---|
50 |
In progress |
Задача ещё выполняется. Это не сбой — повторите запрос с тем же report_id позже. |
-50 |
Requests empty or is not an array |
Не передан параметр requests. |
-51 |
No requests data |
Задача ставится не POST-запросом. |
-60 |
To many tasks from one user. Try again later. |
У пользователя уже больше 5 незавершённых задач этого инструмента. |
-68, -80…-83 |
Not enough … limits |
Не хватает лимитов: нужно 2 на каждый запрос. В ответе есть available и need. |
-4 |
Access denied |
report_id принадлежит другому пользователю или другому инструменту. |
-104 |
Processing error |
Задача завершилась с ошибкой. |
-105 |
Limits run out |
Лимиты закончились во время выполнения. |
-106 |
The process was canceled by a user |
Задача отменена пользователем. |
-107 |
The process took more than 6 hours and was canceled |
Задача выполнялась дольше 6 часов и снята автоматически. |
-125 |
Processing error |
Задача завершилась с непредвиденным статусом. |
-1, -2 |
Access denied |
Ключ не передан (HTTP 404) или не найден (HTTP 403). |
Как считается геозависимость
Запросы и тексты выдачи лемматизируются. Если в самом запросе есть название города, запрос считается уже локализованным: res_array = Нет, local_pow = 0. Иначе в каждом документе ТОПа ищется название региона из lr и его синонимы (СПб, Питер, Мск, Екб и т. п.). Каждый найденный документ добавляет 100 / deep процентов к local_pow; запрос геозависим, если найден хотя бы один такой документ.
Лимиты
Для постановки на балансе должно быть 2 лимита на запрос, а списывается 1 лимит на запрос — сразу при постановке, с коммерциализацией и без. Поле cost в результате показывает ту же сумму.