gruppirovka Группировка запросов по ТОП-10 Яндекса
Собирает ТОП-10 Яндекса по каждому запросу и объединяет в группу запросы, у которых в выдаче достаточно общих URL. Метод асинхронный: POST ставит задачу и возвращает report_id, по нему GET отдаёт результат. То же, что инструмент Группировка запросов по ТОПу.
- Стоимость
- 2 лимита за запрос, 4 — со сбором частот (
ws_queries) - Режим
- асинхронный: report_id
- Запросов за задачу
- от 2 до 10 000 (после удаления дублей)
- Поисковая система
- только Яндекс
Постановка задачи
/api/gruppirovka
Задача встаёт в очередь, лимиты списываются сразу при постановке. Пустые строки и точные повторы из requests отбрасываются до подсчёта количества и стоимости.
Параметры query и тело формы
-
keystring обязательныйКлюч API из настроек аккаунта. Всегда в query-строке, в том числе у POST. -
requestsarray обязательныйЗапросы, каждый отдельным элементом:requests[]=…&requests[]=…. Строка с переводами строк не принимается — только массив. -
lrintРегион Яндекса, например213— Москва. -
methodstringАлгоритм группировки.hard— у всех запросов группы должны быть одни и те же общие URL;middle— цепочкой: достаточно пересечения с любым запросом группы;soft— достаточно пересечения с первым запросом группы. Любое другое значение, в том числе числа, работает какhard. -
degree_groupintСтепень группировки: сколько общих URL в ТОП-10 нужно, чтобы запросы попали в одну группу. -
ws_queriesintСобрать частоты Вордстата. Тогда группа называется запросом с наибольшей точной частотой, а стоимость растёт до 4 лимитов за запрос.
Ответ
-
report_idintID задачи для получения результата.
Получение результата
/api/gruppirovka
Пока задача в работе, приходит {"error":"In progress","code":50}, а после старта обработки — ещё процент готовности. Обычно группировка занимает несколько минут, большое ядро — до получаса: опрашивайте раз в 30–60 секунд.
Параметры query
-
keystring обязательныйКлюч API из настроек аккаунта. Всегда в query-строке, в том числе у POST. -
report_idint обязательныйID задачи из ответа на постановку.
Ответ
Объект с полями time и cost и пронумерованными с нуля парами «запрос — группа». Группа называется по первому запросу в ней; запрос, ни с чем не сгруппированный, образует группу из себя самого.
-
timeintВремя завершения задачи, Unix timestamp. -
costintСтоимость задачи в лимитах. -
0, 1, 2…objectЗапрос и его группа.Вложенные поля
-
requeststringЗапрос. -
groupstringНазвание группы.
-
Ошибки
| Код | Сообщение | Когда |
|---|---|---|
50 |
In progress |
Задача ещё выполняется. Когда обработка началась, в ответе есть progress (проценты) и time. |
-50 |
Empty requests |
POST без requests. |
-66 |
Not enough requests |
После удаления пустых строк и повторов осталось меньше 2 запросов. |
-67 |
To much requests |
Больше 10 000 запросов. |
-60 |
To many tasks from one user. Try again later. |
У пользователя уже больше 5 незавершённых задач группировки. |
-65 |
Empty report id |
GET без report_id. |
-4 |
Access denied |
report_id не существует, принадлежит другому пользователю или другому инструменту. |
-104 |
Processing error |
Задача завершилась с ошибкой. Также -105 (кончились лимиты), -106 (отменена), -107 (дольше 6 часов), -125 (прочее). |
-68 |
Not enough daily limits |
Не хватает лимитов. Для тарифов с ограничением по периодам — также -80, -81, -82, -83; см. ошибки. |
-1 |
Access denied |
Не передан key. HTTP-код 404. |
-2 |
Access denied |
Ключ не найден. HTTP-код 403. |
Что не работает через API
Параметры home_pages и rel_url, которые упоминались в прежней документации, метод не использует. Числовые значения method (0–3, «pixeltools») тоже не распознаются: группировка идёт методом hard. Выбрать Google, исключить домены или агрегаторы, как в веб-версии, через API нельзя.
Повторы запросов
Повторы отбрасываются с учётом регистра и пробелов: Диван и диван при постановке считаются разными запросами и оба оплачиваются, хотя в результате совпадут. Нормализуйте список заранее.