Результаты запросов

Каждый request к FourA API классифицируется ровно по одному результату (outcome). Результат вычисляется один раз во время request и записывается для вашего API-ключа. Ваш dashboard, лента активности и биллинг используют одно и то же поле.

Тарифицируется только success.

Семь результатов

Результат Уровень Что это значит
success н/д Доставлен корректный response. Учитывается в вашей тарифицируемой квоте.
application_error target Целевой ресурс вернул HTTP 200, но в теле содержалось поле ошибки.
application_fail target Целевой ресурс вернул статус, отличный от 2xx, который не был принят вашими правилами validate, или не вернул response вообще.
client_error caller Ваш request был отклонен до того, как он покинул FourA. Неверные параметры, некорректное значение proxy, URL, заблокированный защитой от SSRF.
rate_limit FourA Превышен лимит RPM или ограничение на количество одновременных запросов.
service_error FourA Бэкенд вернул 5xx или его тело не является валидным JSON.
service_fail FourA Сетевой сбой: таймаут, отказ в соединении, ошибка DNS, отключение клиента.

Колонка уровня указывает, кто несет ответственность:

  • target результаты относятся к сайту, который вы вызывали. Ваш request успешно дошел до FourA, а FourA успешно связался с целевым ресурсом. Ошибку вернул сам целевой ресурс.
  • caller результаты означают, что у вашего request не было шансов. Исправьте структуру request.
  • FourA результаты относятся к нашей зоне ответственности. Повторите попытку, а если ошибка повторится, проверьте страницу статуса.

Если целевой сайт возвращает 403, это классифицируется как application_fail, а не client_error. Ваш вызов был сформирован корректно. Сайт просто ответил отказом.

Определение Success зависит от validate

Без использования validate API помечает request как success только тогда, когда целевой ресурс возвращает HTTP 200.

При использовании validate статус success определяется объявленными вами правилами. Если вы укажете для API, что для данного request допустимы как 200, так и 403, то ответ 403 вернется со статусом success. При этом тело ответа все равно дойдет до вас без изменений.

curl -X POST https://eu.api.foura.ai/api/single/ \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "method": "GET",
    "url": "https://target.example/feed",
    "validate": {
      "status": { "accept": [200, 403] }
    }
  }'

В этом вызове response со статусом 403 считается как success и тарифицируется как один request. Response со статусом 500 считается как application_fail и не тарифицируется.

Эта же логика применима к validate.headers и validate.data. Любой response, который движок принимает в соответствии с вашими правилами, возвращается как success независимо от HTTP-статуса.

Влияние на биллинг

Результат Тарифицируется Учитывается в квоте
success Да Да
application_error Нет Нет
application_fail Нет Нет
client_error Нет Нет
rate_limit Нет Нет
service_error Нет Нет
service_fail Нет Нет

Тарифицируются только те requests, которые доставили запрошенные вами данные. Сбои на стороне FourA, на стороне целевого ресурса или на вашей стороне не оплачиваются.

Просмотр результатов в Dashboard

Каждый request, выполненный с вашим API-ключом, отображается в ленте Activity с меткой результата. Страницы Metrics и Overview агрегируют это же поле для построения круговых диаграмм и временных шкал.

При фильтрации Activity по результату вы также можете сфокусироваться на конкретном продукте (Single, Proxy, Browser), чтобы проверить, характерна ли определенная категория сбоев для конкретного endpoint.

Эвристика повторных попыток

Первичная политика повторных попыток на основе результатов:

Результат Безопасно повторить? Когда
success н/д Вы получили response.
application_error Иногда Проанализируйте тело ошибки целевого ресурса. Некоторые из них временные, но большинство — нет.
application_fail Sometimes Если целевой ресурс ограничивает ваши запросы (rate-limiting), снизьте скорость. Если он вас блокирует, переключитесь на endpoint Proxy или Browser.
client_error Нет Request снова завершится с той же ошибкой. Исправьте входные данные.
rate_limit Да Следуйте значению retryAfter из тела response.
service_error Yes Короткая экспоненциальная задержка (exponential backoff).
service_fail Yes Так же, как и для service_error.

Связанные разделы

  • API Errors: Ошибки на уровне HTTP в response
  • Rate Limits: Что вызывает rate_limit
  • Metrics: Где можно посмотреть разбивку результатов
  • Activity Log: История результатов для каждого request
Обновлено: 18 июня 2026 г.