← Wszystkie wpisy

FourA Digest: 16-23 października 2026

Nieprawidłowe requesty zwracają teraz bezpłatny błąd 400 ze wskazaniem błędnych pól, Budget rozdziela środki rozliczone od wykorzystanych, a zmiana hasła wylogowuje pozostałe sesje.

Najważniejsze zmiany

Błędne requesty zwracają teraz kod 400 zamiast naszego 503. Single, Proxy Finder oraz Browser wskazują konkretne niepoprawne pola, nie pobierają za to opłat i nie wywołują ponownych prób, które nie mają szans powodzenia. Widok Budget rozdziela teraz opłacone kredyty od tych zużytych przez requesty, a zmiana hasła wylogowuje wszystkie pozostałe sesje w Dashboardzie. Pierwsze dwie zmiany znajdziesz w sekcji changelog.

Co nowego

Błędny request wskazuje przyczynę

Gdy wyślesz do Single, Proxy Finder lub Browser treść, której nie da się przetworzyć (brakujące pole url, wartość timeout_ms niebędąca liczbą), otrzymasz HTTP 400. Nagłówek error zaczyna się od Invalid request: i wymienia każde błędne pole wraz z powodem, maksymalnie do pięciu pozycji. Jest to wynik client_error i kosztuje 0 kredytów.

Do tego tygodnia takie requesty zwracały ogólny błąd 503, co sugerowało problem po naszej stronie i uruchamiało pętlę ponawiania prób. Jeśli Twój klient traktuje kod 400 jako ostateczny (tak jak w przykładzie w naszej sekcji error reference), literówka natychmiast zatrzyma dalsze wywołania:

import requests

r = requests.post(
    "https://api.foura.ai/api/single",
    headers={"X-API-Key": "pk_live_..."},
    json={"url": "https://example.com/data", "timeout_ms": "fast"},
)
if r.status_code == 400:
    # "Invalid request: timeout_ms: ..." means fix the call, don't retry it
    raise ValueError(r.json()["error"])

Auto działa tutaj tak jak wcześniej. Pole, którego nie może zaakceptować, nadal zwraca HTTP 200 z status: 400 i przyczyną w error, przed jakąkolwiek próbą i bez żadnych kosztów.

Kredyty rozliczone i wykorzystane, obok siebie

Widok Budget w Metrics zaczyna się teraz od rozliczonych kredytów (tych używanych tylko przez udane żądania) i pokazuje wszystkie wykorzystane kredyty tuż pod spodem jako „z N wykorzystanych”. Koszt na żądanie również podawany jest w rozliczonych kredytach. Z kolei podział według klucza, domeny lub adresu IP klienta ma sortowalną kolumnę dla każdej liczby.

Wykorzystane kredyty zliczają każdy wynik, ponieważ nieudane żądanie wciąż wymaga węzła wyjściowego lub przeglądarki, aby stwierdzić błąd. Różnica między tymi dwiema kolumnami pokazuje więc, domena po domenie, ile pracy włożono w żądania, które się nie powiodły.

Wylogowanie oznacza wylogowanie

Zmień hasło w Settings, zresetuj je na stronie logowania lub kliknij Sign Out Others, a każda inna przeglądarka zalogowana na Twoje konto zostanie wylogowana. Ta, z której dokonano zmiany, pozostaje zalogowana. Wylogowanie kończy teraz tę sesję również po naszej stronie, a nie tylko w Twojej przeglądarce.

Strona resetowania hasła wymaga teraz tego samego kroku weryfikacji, co logowanie i rejestracja. Pozostaje niewidoczna, dopóki nie jest potrzebna.

Proxy Finder i przekierowania bramek

Niektóre węzły wyjściowe znajdują się za bramką sieci firmowej. Poprzedni przegląd obejmował te, które odpowiadają własną stroną logowania. Proxy Finder wykrywa teraz także te, które odpowiadają przekierowaniem do swojej usługi logowania, traktuje to jako nieudaną próbę i przechodzi do innego węzła wyjściowego, zamiast zwracać to przekierowanie jako odpowiedź witryny.

Mniejsze poprawki w Dashboardzie

  • Gdy wybrany właściciel (Everything, Personal lub organizacja) nie ma jeszcze kluczy API, Overview i Metrics informują o tym pod zakresem dat i kierują do utworzenia klucza.
  • Każda liczba na ekranie Overview znajduje się tuż pod swoją etykietą w jednym rozmiarze, więc rząd paneli czyta się prosto przy dowolnej szerokości. Panel prób Auto jest zawsze widoczny i wskazuje zero dla okresu bez wywołań Auto.
  • Subscribe ukrywa przełącznik Monthly/Annual dla planu oferowanego tylko w jeden sposób.
  • W przypadku okresu próbnego skonfigurowanego przez nas, wybór innego planu na stronie uaktualnienia wymaga teraz karty i rozpoczyna pełny okres rozliczeniowy tego samego dnia. Okres próbny kończy się po zrealizowaniu płatności.

Pod maską

Wywołania api.foura.ai i eu.api.foura.ai są teraz obsługiwane przez kilka serwerów jednocześnie zamiast jednego. Jeśli jeden przestanie odpowiadać, nowe wywołania trafiają do pozostałych w ciągu paru minut.

Auto działa lżej. Wybór zapisanej sesji dla wywołania wymaga czterech wewnętrznych operacji wyszukiwania tam, gdzie wcześniej wymagał kilkudziesięciu, a każdy serwer obsługuje większą pojemność Auto niż wcześniej, więc wywołania Auto spędzają mniej czasu w kolejce w godzinach szczytu.

Wraz z październikowym wydaniem bezpieczeństwa każdy silnik przeszedł na bieżące środowisko uruchomieniowe LTS, a my zaktualizowaliśmy biblioteki w API, Dashboardzie, dokumentacji i na blogu. W Single i Proxy Finder nowe środowisko runtime zapobiega sytuacji, w której pojedyncze wyjście przerywające odczyt w trakcie żądania spowalnia pozostałe żądania na tym samym serwerze. Zanim serwer zrestartuje się do nowej wersji, przestaje przyjmować nowe wywołania i dołącza ponownie dopiero po pomyślnym przejściu testów.

Ponawianie prób ma sens w przypadku witryn, które każą czekać, a nie literówek we własnym żądaniu.