Wyniki żądań

Każde żądanie do FourA API jest klasyfikowane do dokładnie jednego rezultatu (outcome), podobnie jak każdy tunel przez port proxy. Rezultat jest obliczany raz, na końcu wywołania, i zapisywany na koncie danych uwierzytelniających, które je wykonały. Twój panel, strumień aktywności i rozliczenia korzystają z tego samego pola.

Tylko success kosztuje kredyty. Ruch premium jest liczony niezależnie od kredytów i nie zależy od rezultatu: zobacz Billing Implications.

The Seven Outcomes

Oto siedem rezultatów, którymi może zakończyć się żądanie. Tunel używa pięciu z nich: zobacz sekcję Tunnels Use the Same Vocabulary poniżej.

Outcome Layer What it means
success n/a Zwrócono poprawną odpowiedź. Wlicza się do rozliczanego limitu.
application_error target Cel zwrócił HTTP 200, ale treść zawierała pole błędu lub jest stroną weryfikacji botów rozpoznawaną przez FourA.
application_fail target Cel zwrócił kod inny niż 2xx, którego nie zaakceptowały Twoje reguły validate, lub nie zwrócił żadnej odpowiedzi, w tym gdy nazwa hosta docelowego nie może zostać rozwiązana.
client_error caller Twoje żądanie zostało odrzucone, zanim opuściło FourA. Błędne parametry, nieprawidłowa wartość proxy, URL zablokowany przez ochronę SSRF.
rate_limit FourA Żądanie zostało odrzucone przed uruchomieniem: przez jeden z limitów Twojego planu (403 dla endpointu lub parametru niedostępnego w planie, 429 po wyczerpaniu limitu) albo przez współdzielony limit RPM lub współbieżności platformy.
service_error FourA Silnik zwrócił błąd serwera lub treść odpowiedzi nie była poprawnym formatem JSON.
service_fail FourA Błąd własnej sieci FourA: silnik nie odpowiedział na czas, połączenie zostało zerwane lub nastąpiło rozłączenie z Twojej strony.

Kolumna warstwy (layer) wskazuje stronę odpowiedzialną:

  • Rezultaty target dotyczą wywoływanej witryny. Twoje żądanie dotarło do FourA poprawnie, a FourA poprawnie dotarło do celu. Błąd zwrócił sam cel.
  • Rezultaty caller oznaczają, że Twoje żądanie nie miało szans na realizację. Popraw strukturę żądania.
  • Rezultaty FourA leżą po naszej stronie. Ponów próbę, a jeśli błędy będą się powtarzać, sprawdź status page.

Gdy witryna docelowa zwraca 403, jest to application_fail, a nie client_error. Twoje wywołanie było poprawne. Witryna po prostu odmówiła dostępu.

Success Is validate-Aware

Bez validate API oznacza żądanie jako success tylko wtedy, gdy cel zwróci HTTP 200.

Przy użyciu validate sukces zależy od zadeklarowanych reguł. Jeśli wskażesz w API, że kody 200 i 403 są dopuszczalne dla danego żądania, kod 403 zostanie zwrócony jako success. Treść odpowiedzi nadal dotrze do Ciebie bez zmian.

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

W tym wywołaniu odpowiedź 403 liczy się jako success i jest rozliczana jako jedno żądanie. Odpowiedź 500 liczy się jako application_fail i nie jest rozliczana.

Ta sama logika dotyczy validate.headers oraz validate.data. Każda odpowiedź zaakceptowana przez silnik zgodnie z Twoimi regułami jest zwracana jako success niezależnie od statusu HTTP.

Jedna odpowiedź nigdy nie jest success, z validate lub bez niego: kod HTTP 200, którego treść jest stroną weryfikacji botów rozpoznawaną przez FourA, na przykład zadaniem weryfikacji wizualnej lub stroną wymagającą jedynie uruchomienia kodu JavaScript przez przeglądarkę. Takie żądanie otrzymuje status application_error i nie jest rozliczane. Treść nadal dociera do Ciebie w niezmienionej postaci, a nagłówek X-FourA-Check-Page wskazuje stronę weryfikacyjną.

Konsekwencje dla rozliczeń

Wynik Płatne Wlicza się do limitu
success Tak Tak
application_error Nie Nie
application_fail Nie Nie
client_error Nie Nie
rate_limit Nie Nie
service_error Nie Nie
service_fail Nie Nie

Rozliczane są tylko te żądania, które dostarczyły żądane dane. Błędy po stronie FourA, po stronie celu lub po Twojej stronie są bezpłatne.

Tabela dotyczy kredytów. Ruch premium jest liczony niezależnie od nich: żądanie, w którym podjęto próbę przez węzeł wyjściowy premium, nalicza przesłany w tej próbie ruch, niezależnie od wyniku, ponieważ węzeł został wykorzystany. Próba, która wciąż trwała, gdy inny węzeł wyjściowy zwrócił odpowiedź, jest natychmiast przerywana, a przesłany do tego momentu ruch również się liczy.

Ruch standardowy również nie zależy od wyniku: w planie z limitem transferu ruch każdego żądania wlicza się do tego limitu. Żądanie odrzucone z powodu jednego z limitów Twojego planu nie nalicza żadnego ruchu.

Tunele używają tej samej terminologii

Tunel przez port proxy również kończy się jednym z tych wyników, więc jeden zestaw oznaczeń obejmuje oba produkty. Wystąpić może tylko pięć z siedmiu wyników, ponieważ oba wyniki target wymagają od FourA odczytania odpowiedzi celu, a odpowiedź tunelu to Twój własny zaszyfrowany ruch.

Wynik W przypadku tunelu oznacza to
success Tunel został otwarty i Twoje narzędzie go otrzymało.
client_error FourA nie otworzy tego tunelu: adres prywatny, zastrzeżony lub nieobsługiwany port.
rate_limit Osiągnięto jedną z wartości granicznych planu (liczba jednocześnie otwartych tuneli, liczba otwarć tuneli na minutę, standardowy ruch w okresie, brak dostępnego ruchu premium) lub sam port osiągnął limit pojemności bądź częstotliwości otwierania.
service_error FourA nie miało węzła wyjściowego spełniającego wymagania. Zazwyczaj problem tymczasowy.
service_fail Cel nie był osiągalny przez żaden węzeł wyjściowy sprawdzony przez FourA: DNS, timeout, połączenie odrzucone.
application_error Nigdy nie występuje w tunelu.
application_fail Nigdy nie występuje w tunelu.

Odmowa zawiera również krótki powód, a panel wyświetla go w Twoich własnych terminach zamiast naszych. Opcja, której FourA nie może obsłużyć, jest zwracana jako 400 na samym połączeniu i nie zapisuje żadnego wiersza, więc nigdy się tutaj nie pojawia.

Powód na ekranie Co się wyczerpało
port not in plan Twój plan nie obejmuje tego portu proxy
tunnels at once Wszystkie tunele dozwolone jednocześnie w Twoim planie były w użyciu
openings per minute Limit otwarć tuneli w tej minucie dla Twojego planu został wyczerpany
traffic used up Twój transfer danych dla tego okresu został wyczerpany
premium not available Ruch premium nie jest obecnie dostępny w Twoim planie
port was full Sam port osiągnął limit pojemności lub częstotliwości otwarć. Spróbuj ponownie za chwilę.
port not served FourA nie otwiera tuneli do tego portu
private address Adresy prywatne i zastrzeżone są nieosiągalne

Żaden element tunelu nie jest rozliczany w kredytach, ponieważ tunel nie posiada żądania, do którego można by je przypisać. Zamiast tego port zlicza bajty. Zobacz How Your Plan Is Metered.

Reading Outcomes in the Dashboard

Każde żądanie wykonane przez Twój klucz API pojawia się w strumieniu Activity wraz z etykietą wyniku. Strony Metrics i Overview agregują to samo pole na potrzeby wykresów pierścieniowych i osi czasu.

Gdy filtrujesz aktywność według wyniku, możesz również skupić się na pojedynczym punkcie końcowym (Auto, Single, Proxy Finder, Browser), aby sprawdzić, czy dany typ błędu dotyczy tylko jednego z nich. Przełącz opcję Product na stronie na Proxy, a te same etykiety wyników przefiltrują Twoje tunele.

Retry Heuristics

Wstępna polityka ponawiania prób oparta na wynikach:

Wynik Ponawianie bezpieczne? Kiedy
success nd. Masz odpowiedź.
application_error Czasami Odczytaj treść błędu celu. Niektóre są tymczasowe, większość nie. Jeśli ustawiono X-FourA-Check-Page, strona wyświetliła stronę weryfikacyjną: wyślij URL do Auto, który traktuje stronę weryfikacyjną jako krok do przejścia, a nie ostateczną odpowiedź.
application_fail Czasami Jeśli cel nakłada na Ciebie limit zapytań (rate limit), zwolnij. Jeśli Cię blokuje, przełącz się na punkt końcowy Proxy lub Browser.
client_error Nie Żądanie zakończy się niepowodzeniem ponownie w ten sam sposób. Popraw dane wejściowe.
rate_limit Zależy Uwzględnij czas oczekiwania podany w odpowiedzi: Retry-After, retry_after_seconds lub retryAfter. W przypadku plan_limit_browser_daily wstrzymaj do północy UTC; w przypadku plan_limit_credits lub plan_limit_bandwidth wstrzymaj do resets_at; w przypadku plan_limit_feature lub plan_limit_premium zmień żądanie.
service_error Tak Krótkie wykładnicze wycofywanie (exponential backoff).
service_fail Tak Tak samo jak service_error.
  • API Errors: Błędy na poziomie HTTP
  • Proxy Port: Kody statusu zwracane przy odrzuceniu tunelu
  • Rate Limits: Co wyzwala rate_limit i dwa formaty, w jakich jest zwracany
  • Metrics: Gdzie sprawdzić szczegółowy podział wyników
  • Activity Log: Historia wyników dla pojedynczych requestów
Aktualizacja: 27 września 2026