Jak wygląda odpowiedź z błędem?
Większość błędów API Enrow zwraca prosty obiekt JSON z jednym polemmessage:
reason obok success:
error, status ani retry_after. Odczytaj kod statusu HTTP, aby rozgałęzić swoją logikę, oraz pole message (lub reason), aby uzyskać czytelny dla człowieka opis.
Jakie są najczęstsze błędy i jak je naprawić?
Poniższe błędy obejmują zdecydowaną większość nieudanych żądań. Każdy z nich zawiera treść odpowiedzi zwracaną przez API oraz sposób naprawy.Dlaczego otrzymuję 400 Bad Request?
400 oznacza, że ładunek żądania jest nieprawidłowy lub brakuje wymaganego parametru:
fullname oraz dodatkowo company_domain albo company_name.
Dlaczego otrzymuję 401 Unauthorized?
401 oznacza, że klucz API jest brakujący lub nieprawidłowy:
x-api-key (a nie Authorization). Zobacz Authentication, aby dowiedzieć się, jak przekazywać klucz w każdym żądaniu.
Dlaczego otrzymuję 402 Insufficient Credits?
402 oznacza, że konto nie ma wystarczającej liczby środków, aby wykonać żądanie:
402 jest zwracany w standardowej formie { "message": "..." }.
Rozwiązanie: Sprawdź saldo środków w Dashboard lub za pomocą GET /account/info. Doładuj środki lub przejdź na wyższy plan na enrow.io/pricing. Zobacz Credits & billing, aby dowiedzieć się, jak środki są zużywane na poszczególnych endpointach.
Dlaczego otrzymuję 429 Rate Limit Exceeded?
429 oznacza, że w krótkim oknie czasowym wysłano zbyt wiele żądań:
Dlaczego otrzymuję 500 Internal Server Error?
500 oznacza, że coś nie powiodło się po stronie Enrow:
Jak obsługiwać błędy w kodzie?
Sprawdź status HTTP przed parsowaniem treści odpowiedzi sukcesu, a następnie zgłoś błąd zawierający kod statusu, aby Twoja logika ponawiania mogła się na nim rozgałęzić. Polemessage zawiera opis dla większości błędów, a reason zawiera go dla odpowiedzi 402 z endpointów pojedynczych.
Jak ponawiać nieudane żądania?
Ponawiaj tylko te błędy, które warto ponawiać —429 i 5xx — i stosuj wykładnicze wycofywanie między próbami. Błędy klienta z zakresu 4xx (z wyjątkiem 429) sygnalizują problem z samym żądaniem, więc ich ponawianie nie pomoże.
Najlepsze praktyki
- Nie ponawiaj błędów 4xx (z wyjątkiem 429) — zamiast tego napraw żądanie
- Ponawiaj błędy 429 — zastosuj wykładnicze opóźnienia przed ponowieniem
- Ponawiaj błędy 5xx — z wykładniczym wycofywaniem
- Używaj webhooków zamiast odpytywania, aby niepotrzebnie nie przekraczać limitów żądań — zobacz How webhooks work
- Loguj błędy z kontekstem — uwzględnij endpoint, parametry i znacznik czasu na potrzeby debugowania
FAQ
Jak odróżnić 402 na endpointach pojedynczych od zbiorczych?
Jak odróżnić 402 na endpointach pojedynczych od zbiorczych?
Na endpointach pojedynczych (email/phone find single, verify single)
402 zwraca { "reason": "Insufficient credits", "success": false }. Na endpointach zbiorczych ten sam 402 zwraca standardową formę { "message": "..." }. Odczytywanie zarówno message, jak i reason (tak jak robią to przykłady kodu) obsługuje oba przypadki.Które błędy powinienem ponawiać automatycznie?
Które błędy powinienem ponawiać automatycznie?
Ponawiaj błędy
429 (limit żądań) i 5xx (serwer) z wykładniczym wycofywaniem. Nie ponawiaj innych błędów 4xx, takich jak 400, 401 czy 402 — wskazują one na problem z żądaniem, kluczem API lub saldem środków, którego samo ponawianie nie naprawi.Czy istnieje nagłówek retry_after informujący, jak długo czekać?
Czy istnieje nagłówek retry_after informujący, jak długo czekać?
Nie. Odpowiedzi z błędami nigdy nie zawierają pól
retry_after, error ani status. Stosuj własne wykładnicze wycofywanie między próbami. Zobacz Rate limits, aby poznać limity obowiązujące w Twoim planie.Gdzie w odpowiedzi odczytać komunikat błędu?
Gdzie w odpowiedzi odczytać komunikat błędu?
W przypadku większości błędów opis znajduje się w polu
message. W przypadku błędu niewystarczających środków 402 na endpoincie pojedynczym jest on natomiast w polu reason. Zawsze rozgałęziaj swoją logikę na podstawie kodu statusu HTTP, a nie parsując tekst komunikatu.Kolejne kroki
Status codes
Pełna lista kodów statusu HTTP i ich znaczeń.
Rate limits
Poznaj limity żądań dla poszczególnych planów, aby uniknąć błędów 429.
Authentication
Jak przekazywać klucz API w nagłówku x-api-key.
Credits & billing
Zobacz, jak środki są zużywane na każdym endpoincie.

