Поиск

Документация на метод "gruppirovka"

API для группировки запросов по ТОПу:
URL: https://tools.pixelplus.ru/api/gruppirovka

Описание:
Метод позволяет создать задачу для группировки запросов и получить сгруппированные запросы.
Для создания задачи необходимо сформировать POST-запрос и отправить его на URL метода с обязательными GET-параметром key и POST-параметром requests. Система поставит задачу в очередь выполнения и вернет идентификатор отчета: report_id. Для получения результата группировки необходимо отправить GET запрос с параметрами key и report_id.

Внимание! В зависимости от загруженности системы и количества запросов — группировка может занимать продолжительное время (до 30 минут / чаще укладывается в 3 минуты). Запрашивать результат следует не ранее, чем через 3 минуты после формирования задачи.

Принимает параметры:
GET:

  1. key — ключ доступа к API;
  2. report_id — номер отчета с группировкой;

POST:

  1. requests — массив запросов для проверки;
  2. lr — регион по Яндексу;
  3. method — метод группировки;
  4. degree_group — степень группировки;
  5. home_pages — подсчет количества главных страниц в выдаче;
  6. rel_url — вернуть релевантные страницы;

ДОПУСТИМЫЕ ЗНАЧАНИЯ ПАРАМЕТРОВ:

  1. requests — массив запросов от 2 до 2000 фраз;
  2. lr — код региона в Яндексе из списка, скажем, Москва — 213 (можно опустить, по умолчанию стоит регион 213);
  3. method — целое число от 0 до 3. Поддерживаются методы pixeltools — 3, hard — 2, middle — 1, soft — 0, подробней (можно опустить, по умолчанию выбран метод pixeltools — 3);
  4. degree_group — число от 1 до 10 (можно опустить, по умолчанию выбрано значение 3);
  5. home_pages — true или null (можно опустить, по умолчанию стоит true);
  6. rel_url — доменное имя сайта или null (можно опустить, по умолчанию стоит null)

Метод возвращает JSON с массивом:

В случае запроса на обработку:  [{"report_id":"номер запроса"}]
В случае запроса обработки: 

  1. [{"error":"In progress", "code":50}] - если задача стоит в очереди на выполнение
  2. [{"error":"In progress", "code":50, "progress":int, "time":"Y-m-d H:i:s"}] - если задача выполняется
  3. ["time":response_time, "cost":base_cost, "0": {"request":"Запрос1","group":"Имя группы1"}, "1":{"request":"Запрос2","group":"Имя группы2"}...], где time - время в которое инструмент завершил работу, cost - расчетная стоимость инструмента, может незначительно отличаться от фактической в меньшую сторону;

В случае неудачи:

  1. {"error":"Empty requests","code":-50} — если не заданы или неверно заданы запросы для проверки;
  2. {"error":"Not enough requests","code":-66} — если задано меньше 2-х запросов для проверки;
  3. {"error":"To much requests","code":-67} — если задано больше 2000 запросов для проверки;
  4. {"error":"Not enough daily limits","code":-68} — недостаточно дневных лимитов;
  5. {"error":"Not enough hourly limits","code":-80} — недостаточно часовых лимитов;
  6. {"error":"Not enough weekly limits","code":-81} — недостаточно недельных лимитов;
  7. {"error":"Not enough monthly limits","code":-82} — недостаточно месячных лимитов;
  8. {"error":"Not enough yearly limits","code":-83} — недостаточно годовых лимитов;
  9. {"error":"To many tasks from one user. Try again later.","code":-60} — превышен лимит одновременно поставленных задач для пользователя;
  10. {"error":"access denided","code":-1} — если не задан ключ доступа;
  11. {"error":"access denided","code":-2} — если неверно задан ключ доступа;
  12. {"error":"unknown method","code":-3} — если неверно задано название метода;
  13. {"error":"Processing error","code":-104} — инструмент завершился с фатальной ошибкой;
  14. {"error":"Limits run out","code":-105} — во время выполнения инструмента закончились лимиты;
  15. {"error":"The process was canceled by a user","code":-106} — задача отменена пользователем;
  16. {"error":"The process took more than 6 hours and was canceled","code":-107} — инструмент очень долго работал в фоне и мы автоматически завершили процесс;
  17. {"error":"Processing error":-125} — непредвиденная ошибка;

Пример формирования GET и POST запросов:
GET:
$url
= 'http://tools.pixelplus.ru/api/gruppirovka?key=q1i84o90a1s2d3fg5g6hj7';

POST:
$post_array =
http_build_query(array(
    'requests' => array('Первый запрос', 'Второй запрос', 'Третий запрос'),
    'lr' => 213,
    'method' => 3,
    'degree_group' => 3,
    'home_pages' => true,
));