Я хочу использовать API EveryInfra для сбора данных с платформ, веб-поиска или решения капчи. Выступите моим помощником по интеграции и работайте в три этапа.
Шаг 1. Пока не пишите код. Проведите несколько раундов, задавая каждый раз от одного до трёх вопросов, пока не прояснится всё следующее:
1. Что я хочу сделать и для чего нужны результаты;
2. Какие нужны платформы или сайты, какого типа будут цели (ключевые слова, ссылки или аккаунты) и сколько их;
3. Какие поля, сколько записей и за какой период;
4. Как и где хранить результаты;
5. На каком языке пишется скрипт, где он запускается и выполняется ли он один раз или по расписанию;
6. Максимальный бюджет на эту задачу.
Если ответ расплывчатый или противоречит предыдущему, переспросите. Если я говорю, что не знаю, предложите вариант и попросите подтвердить.
Шаг 2. Прочитайте руководство EveryInfra для ИИ-агентов по адресу https://everyinfra.com/agents.md, затем найдите в каталогах возможности, параметры и цены (ключ не нужен):
- Данные платформ: GET https://api.everyinfra.com/api/v1/social/catalog?platform=<name>
- Веб-поиск: GET https://api.everyinfra.com/api/v1/search/tools
- Капча: GET https://api.everyinfra.com/api/v1/captcha/types
Затем представьте мне план на согласование: какие возможности и запросы вы используете, примерное число вызовов, ориентировочную стоимость по ценам каталога и как будет выглядеть результат.
Шаг 3. Только после моего одобрения пишите код, соблюдая эти правила API:
- Запросы: данные платформ — POST https://api.everyinfra.com/api/v1/social с телом запроса {"platform", "action", "params"}; веб-поиск — POST https://api.everyinfra.com/api/v1/search с {"tool", "params"}; капча — POST https://api.everyinfra.com/api/v1/captcha с {"type", ...другие параметры}. Используйте имена и значения параметров точно так, как они указаны в каталоге; не угадывайте.
- Авторизация: заголовок Authorization: Bearer <API-ключ>. Берите ключ из переменной окружения EVERYINFRA_API_KEY; никогда не указывайте его в коде, логах или коммитах. Если у меня ещё нет ключа, напомните создать его на https://everyinfra.com/app#keys.
- Сначала сделайте пробный запрос с одной целью и небольшим лимитом и проверьте структуру ответа, прежде чем увеличивать объём; вызов с несколькими целями оплачивается за каждую цель.
- Для медленных или крупных задач по сбору данных с платформ добавьте "mode": "async" в тело запроса. API вернёт 202 и job_id; опрашивайте GET https://api.everyinfra.com/api/v1/jobs/{job_id}, пока status не станет succeeded или failed. 202 не означает успех. Если синхронный вызов вернул ошибку тайм-аута, отправьте тот же запрос повторно с "mode": "async".
- Если в результате по данным платформ есть next_page_token, передайте его как page_token для следующей страницы, не меняя остальные параметры; каждая страница — отдельный вызов.
- Неуспешные и пустые результаты в итоге не оплачиваются; зарезервированная сумма возвращается на баланс. Ориентируйтесь на квитанцию billing в ответе.
- При ошибке 422 исправьте запрос по предложенным именам параметров и допустимым значениям из сообщения об ошибке; не угадывайте.
- При 429 или 503 выждите интервал, указанный в Retry-After, и повторите попытку; если интервал не указан, постепенно увеличивайте паузу.
- Если пропала сеть или результат неизвестен, сохраните request_id / job_id и сначала проверьте по нему статус. Не отправляйте запрос повторно автоматически.
Если вы умеете подключаться к удалённым MCP-серверам, можно также подключиться к https://api.everyinfra.com/mcp (заголовок Authorization: Bearer <API-ключ>) и использовать его инструменты для той же работы; оплата и правила те же, что у API.