Документация API
Асинхронные задачи
Большинство инструментов собирают данные дольше, чем длится HTTP-запрос. Поэтому работа идёт в два шага: запрос ставит задачу и сразу возвращает report_id, а результат забирается тем же методом с параметром report_id, когда задача готова.
Как это выглядит
- Постановка.
POST /api/<метод>?key=…с параметрами задачи в теле формы. Ответ:{"report_id": 2617068}. Лимиты списываются при постановке. - Опрос.
GET /api/<метод>?key=…&report_id=2617068раз в 10–30 секунд. Пока задача идёт, приходит{"error": "In progress", "code": 50}, иногда с полемprogress— процент готовности. - Результат. Когда задача готова, тот же запрос вернёт данные. Результат хранится в истории инструмента — его можно забирать повторно, лимиты при этом не тратятся.
# 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 |
Задача завершилась с неизвестным статусом. |