Документация API

Асинхронные задачи

Большинство инструментов собирают данные дольше, чем длится HTTP-запрос. Поэтому работа идёт в два шага: запрос ставит задачу и сразу возвращает report_id, а результат забирается тем же методом с параметром report_id, когда задача готова.

Как это выглядит

  1. Постановка. POST /api/<метод>?key=… с параметрами задачи в теле формы. Ответ: {"report_id": 2617068}. Лимиты списываются при постановке.
  2. Опрос. GET /api/<метод>?key=…&report_id=2617068 раз в 10–30 секунд. Пока задача идёт, приходит {"error": "In progress", "code": 50}, иногда с полем progress — процент готовности.
  3. Результат. Когда задача готова, тот же запрос вернёт данные. Результат хранится в истории инструмента — его можно забирать повторно, лимиты при этом не тратятся.
# 1. Поставить задачу
curl -X POST 'https://tools.pixelplus.ru/api/intent?key=ВАШ_КЛЮЧ' \
  --data-urlencode 'requests=купить iphone' --data-urlencode 'lr=213'
# {"report_id": 2617068}

# 2. Забрать результат
curl -G 'https://tools.pixelplus.ru/api/intent' \
  --data-urlencode 'key=ВАШ_КЛЮЧ' --data-urlencode 'report_id=2617068'

Ограничения

  • Одновременно у пользователя может выполняться ограниченное число задач одного инструмента (обычно 5). Сверх этого метод вернёт ошибку -60 — дождитесь завершения уже поставленных.
  • Некоторые инструменты не запускают новую задачу, пока идёт предыдущая, и возвращают её report_id с кодом -32.
  • report_id чужого пользователя или другого инструмента вернёт Access denied (-4).
  • Задача, которая шла дольше 6 часов, отменяется (-107).

Ошибки

КодСообщениеКогда
50 In progress Задача ещё выполняется — повторите запрос позже. Поле progress — процент готовности, если известен.
-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 Задача завершилась с неизвестным статусом.
Обратная связь и помощь
Если у вас есть идеи, как улучшить данный инструмент или остались вопросы по работе с ним, напишите в нашу службу поддержки, мы обязательно вам поможем.