요청 결과

FourA API로 전송되는 모든 request는 정확히 하나의 결과(outcome)로 분류됩니다. 이 결과는 request 시점에 한 번 계산되어 귀하의 API key에 기록됩니다. 대시보드, 활동 피드, 결제 정보 모두 동일한 필드를 참조합니다.

success 결과만 과금됩니다.

7가지 결과 유형

Outcome 레이어 의미
success 해당 없음 유효한 response가 전달되었습니다. 과금 대상 할당량에 반영됩니다.
application_error target 대상 서버가 HTTP 200을 반환했으나, body에 에러 필드가 포함되어 있습니다.
application_fail target 대상 서버가 validate 규칙에서 허용하지 않는 non-2xx 코드를 반환했거나, 아무런 response도 반환하지 않았습니다.
client_error caller request가 FourA를 벗어나기 전에 거부되었습니다. 잘못된 파라미터, 잘못된 형식의 proxy 값, SSRF 보호 대상 URL 등이 원인입니다.
rate_limit FourA RPM 또는 동시성 제한에 도달했습니다.
service_error FourA 백엔드가 5xx 코드를 반환했거나, body가 유효한 JSON이 아닙니다.
service_fail FourA 네트워크 장애: 타임아웃, 연결 거부, DNS 에러, 클라이언트 연결 끊김 등입니다.

레이어 열은 누구에게 책임이 있는지 나타냅니다:

  • target 결과는 호출한 사이트와 관련이 있습니다. 귀하의 request가 FourA에 정상적으로 도달했고, FourA가 대상 서버에 정상적으로 도달했으나, 대상 서버 자체에서 에러를 반환한 경우입니다.
  • caller 결과는 request를 보낼 수 없는 상태였음을 의미합니다. request 형식을 수정하십시오.
  • FourA 결과는 FourA 측의 문제입니다. 재시도해 보시고, 문제가 지속되면 상태 페이지를 확인하십시오.

대상 사이트가 403을 반환하는 것은 client_error가 아니라 application_fail입니다. 귀하의 호출은 올바른 형식이었으나, 사이트가 요청을 거부한 것입니다.

Success는 validate 설정을 반영합니다

validate 설정이 없으면, API는 대상 서버가 HTTP 200을 반환할 때만 request를 success로 표시합니다.

validate를 사용하면 success 여부가 설정한 규칙을 따릅니다. 특정 request에 대해 200과 403을 모두 허용하도록 API에 지시하면, 403 반환 시에도 success로 처리됩니다. body는 변경되지 않은 상태로 그대로 전달됩니다.

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] }
    }
  }'

이 호출에서는 403 response가 success로 간주되어 1회의 request로 과금됩니다. 500 response는 application_fail로 간주되어 과금되지 않습니다.

동일한 로직이 validate.headersvalidate.data에도 적용됩니다. 엔진이 설정한 규칙에 따라 허용한 모든 response는 HTTP 상태 코드와 관계없이 success로 반환됩니다.

과금 영향

Outcome 과금 여부 할당량 차감 여부
success
application_error 아니요 아니요
application_fail 아니요 아니요
client_error 아니요 아니요
rate_limit 아니요 아니요
service_error 아니요 아니요
service_fail 아니요 아니요

요청한 데이터를 성공적으로 전달한 request만 과금됩니다. FourA 측, 대상 서버 측, 또는 귀하 측의 실패는 모두 과금되지 않습니다.

대시보드에서 결과 확인하기

귀하의 API key로 전송된 모든 request는 결과(outcome) 레이블과 함께 Activity 피드에 표시됩니다. MetricsOverview 페이지는 도넛 차트와 타임라인을 위해 동일한 필드를 집계합니다.

결과별로 Activity를 필터링할 때 특정 제품(Single, Proxy, Browser)에 집중하여 특정 유형의 실패가 특정 endpoint에 국한된 것인지 확인할 수도 있습니다.

재시도 휴리스틱

재시도 정책을 결정할 때 참고할 수 있는 결과별 가이드라인입니다:

Outcome 재시도 안전 여부 시점
success 해당 없음 response를 수신한 상태입니다.
application_error 경우에 따라 다름 대상 서버의 에러 body를 확인하십시오. 일부는 일시적이지만 대부분은 그렇지 않습니다.
application_fail 경우에 따라 다름 대상 서버가 rate limit를 적용 중이라면 속도를 늦추십시오. 차단 중이라면 Proxy 또는 Browser endpoint로 전환하십시오.
client_error 아니요 request가 동일한 방식으로 다시 실패합니다. 입력을 수정하십시오.
rate_limit response body의 retryAfter 값을 준수하십시오.
service_error 짧은 지수 백오프(exponential backoff)를 적용하십시오.
service_fail service_error와 동일합니다.

관련 문서

최근 업데이트: 2026년 6월 18일