DOKUMENTACJA API V2

Błędy i ponowne próby API v2

Obsługa GenderAPI v2 Problem Details, błędy walidacyjne, limity stawek i niepewność rozliczeń. Dowiedz się, jakie są opłaty za ponowną próbę i kiedy należy skontaktować się z pomocą techniczną.

Błędy i kody stanu HTTP

Błędy aplikacji używają formatu application/problem+json (RFC 9457). Obsługuj je na podstawie stabilnych pól code i action, a nie tekstu w detail. Przy błędach walidacji pole errors zawiera lokalizacje JSON Pointer wskazujące odpowiednie pola. Kontaktując się z pomocą techniczną, podaj request_id. Błędy połączenia lub serwera proxy mogą zwrócić inną treść; przed analizą JSON sprawdź Content-Type.

Poniższy syntetyczny przykład 422 pokazuje nieprawidłową składnię wiadomości e-mail przed rozliczeniem. Publiczny katalog błędów zawiera listę wszystkich kodów, statusów, wyjaśnień i sugerowanych działań.

Stan HTTPTypowe znaczenieNastępny krok
400 / 413 / 415Zniekształcony JSON, zbyt duża obudowa lub nieobsługiwany typ nośnika.Popraw żądanie.
401 / 403Dostęp odrzucony, ograniczenie konta lub niewystarczające środki.Sprawdź code; popraw dostęp lub uzupełnij kredyty / poczekaj na reset próbny.
422Nieprawidłowe dane wejściowe lub niezgodne opcje.Popraw pola zidentyfikowane w errors.
404 / 405Nieznana trasa lub nieobsługiwana metoda HTTP.Sprawdź ścieżkę punktu końcowego i nagłówek odpowiedzi Allow.
429Limit szybkości lub współbieżności.Poczekaj na Retry-After przed wysłaniem kolejnego żądania.
500Nieoczekiwana awaria serwera.Skontaktuj się z pomocą techniczną za pomocą request_id; sprawdź rozliczenia przed ponowną próbą.
502 / 503 / 504Dostawca, zależność, rozliczenie lub błąd przekroczenia limitu czasu.Sprawdź code, action i billing_status przed ponowną próbą.
Przykładowa odpowiedź JSON
{
  "type": "urn:genderapi:problem:validation_error",
  "title": "validation error",
  "status": 422,
  "detail": "A valid email address is required.",
  "instance": "urn:uuid:11111111-1111-4111-8111-111111111111",
  "code": "validation_error",
  "request_id": "11111111-1111-4111-8111-111111111111",
  "documentation": "https://api.genderapi.io/api/v2/errors",
  "action": "correct_request",
  "errors": [
    {
      "pointer": "/value",
      "message": "Invalid email address."
    }
  ],
  "meta": {
    "request_id": "11111111-1111-4111-8111-111111111111",
    "duration_ms": 12,
    "access": {
      "mode": "ip_trial",
      "reason": "api_key_missing"
    },
    "usage": {
      "charged_credits": 0,
      "remaining_credits": null,
      "billing_status": "not_charged",
      "resets_at": "2026-09-26T12:00:00.000Z",
      "limit": 10,
      "period_seconds": 86400
    }
  }
}

Ponowne próby i rozliczenia

Każde żądanie predykcji to nowa operacja, w tym także ponowne wysłanie identycznego żądania. Do każdego wniosku mają zastosowanie normalne zasady kredytowania. Nie ma ochrony przed duplikatami żądań, więc unikaj automatycznych ponownych prób w przypadku utraty połączenia lub nieznanego wyniku.

Aby uzyskać odpowiedź 429, poczekaj na Retry-After przed wysłaniem kolejnego żądania. W przypadku niepowodzeń przewidywania najpierw sprawdź code, action i meta.usage.billing_status. W przypadku billing_reconciliation_required lub niepotwierdzonych rozliczeń skontaktuj się z pomocą techniczną pod adresem request_id przed ponowną próbą.

Częściowo udana partia może zwrócić HTTP 200. Sprawdź każdą pozycję i prześlij ponownie tylko pozycje, które się nie powiodły, po potwierdzeniu rozliczenia; pomyślne pozycje zostaną ponownie naliczone w przypadku ponownego przesłania.

X-Request-ID i meta.request_id identyfikują bieżącą próbę HTTP. Przeczytaj /usage, aby uzyskać aktualne saldo. HEAD nie uruchamia prognozy rozliczania. Prognozy i odpowiedzi konta nie są buforowane.

Klienci powinni tolerować addytywne pola odpowiedzi i zachowywać wartości null, gdy informacje są niedostępne.

Limity żądań

Zajmij się HTTP 429 i Retry-After, zamiast zakładać, że żądania będą zawsze akceptowane na tych sufitach. Pojemność usług jest współdzielona. Wyświetlane wartości są bieżącymi ustawieniami domyślnymi usługi. Odpowiedzi dotyczące limitów szybkości obejmują X-RateLimit-Limit, X-RateLimit-Remaining i X-RateLimit-Reset (sekundy Unix). Retry-After to opóźnienie w sekundach. Te nagłówki opisują limity żądań, a nie pozostałe kredyty. Nawet bezpłatny odczyt /usage wlicza się do limitów szybkości.

LimitWartość
Treść żądania JSONmaksymalnie 64 KiB
Wartość przewidywania1–254 znaki
Partia50 szt. z kluczem API; 10 z wersją próbną IP
Stawka konta120 żądań na minutę
Stawka IP600 żądań na minutę
Jednoczesne operacje2 na konto; 16 w całym serwisie