Sprawdź i sformatuj numer telefonu
| Parametr | Typ | Wymagany | Wartość domyślna | Opis |
|---|---|---|---|---|
number | string | Tak | — | Wymagane, 3–32 znaki. Cyfry ASCII, spacje, nawiasy i łączniki, z opcjonalnym + na początku. Numery wewnętrzne i litery nie są akceptowane. |
country | string | Warunkowo | — | Kod ISO 3166-1 alpha-2 zapisany wielkimi literami. Wymagany dla numeru krajowego; opcjonalny, gdy number zaczyna się od +. Pomiń, jeśli nie jest używany. |
Wyślij number oraz, w razie potrzeby, country do POST https://api.genderapi.io/api/v2/phone/validate. Użyj numeru międzynarodowego zaczynającego się od + albo podaj kod kraju ISO wielkimi literami dla numeru krajowego. GenderAPI.io V2 zwraca w data pola valid, possible, e164, country i country_calling_code, a także ten sam obiekt meta z informacjami o dostępie i rozliczeniu. Sprawdzana jest struktura numeru, a nie istnienie abonenta. Każda zakończona walidacja kosztuje 1 kredyt, także przy nieprawidłowym wyniku. Poniższa syntetyczna odpowiedź ilustruje nieprawidłowy numer, niezależnie od przykładu zapytania.
Wybierz język programowania. Skonfiguruj klucz API, następnie uruchom przykład na swoim serwerze.
Każde zapytanie o prognozę, łącznie z ponownymi próbami, jest nową płatną operacją. Te przykłady nie ponawiają zapytań automatycznie. Przed wysłaniem kolejnego zapytania sprawdź status rozliczenia.
Zanim uruchomisz: dostęp i obsługa błędów
Uruchamiaj te przykłady na swoim serwerze. Ustaw w środowisku procesu zmienną GENDERAPI_API_KEY na swój istniejący klucz API. Upewnij się, że meta.access.mode ma wartość api_key: nierozpoznany klucz może spowodować przejście na próbę dla adresu IP.
W przypadku odpowiedzi JSON z kodem HTTP 4xx i 5xx przykłady zachowują treść błędu i zwracają niezerowy kod wyjścia. Przed ponowną próbą sprawdź code, action i meta.usage.billing_status.
Przewodnik po błędach i ponawianiu zapytań →cURL 7.76+ w powłoce POSIX. Uruchom w terminalu. Dokumentacja środowiska uruchomieniowego
Node.js 22+; wbudowany fetch. Zapisz jako example.mjs i uruchom node example.mjs. Dokumentacja środowiska uruchomieniowego
Python 3.10+; biblioteka standardowa. Zapisz jako example.py i uruchom python3 example.py. Dokumentacja środowiska uruchomieniowego
PHP 8+ z rozszerzeniem cURL. Zapisz jako example.php i uruchom php example.php. Dokumentacja środowiska uruchomieniowego
Java 17+; standardowy klient HTTP. Zapisz jako GenderApiExample.java i uruchom java GenderApiExample.java. Dokumentacja środowiska uruchomieniowego
Aplikacja konsolowa .NET 8+. Użyj jako Program.cs w projekcie konsolowym, a następnie uruchom dotnet run. Dokumentacja środowiska uruchomieniowego
Go 1.22+; biblioteka standardowa. Zapisz jako main.go i uruchom go run main.go. Dokumentacja środowiska uruchomieniowego
{
"data": {
"valid": false,
"possible": false,
"e164": null,
"country": null,
"country_calling_code": null
},
"meta": {
"request_id": "11111111-1111-4111-8111-111111111111",
"duration_ms": 12,
"access": {
"mode": "ip_trial",
"reason": "api_key_missing"
},
"usage": {
"charged_credits": 1,
"remaining_credits": 7,
"billing_status": "confirmed",
"resets_at": "2026-09-26T12:00:00.000Z",
"limit": 10,
"period_seconds": 86400
}
}
}Odczytaj pola walidacji numeru telefonu
Odpowiedź 422 odrzuca nieprawidłowo sformatowane dane wejściowe przed rozliczeniem. Poprawnie sformułowane zapytanie, którego numeru nie da się przeanalizować, może zakończyć się kodem HTTP 200 z valid: false i polami formatowania o wartości null; taka zakończona walidacja kosztuje 1 kredyt. Numer, który da się przeanalizować, ale jest nieprawidłowy, może mimo to mieć wartość e164. Sprawdzaj valid, zamiast traktować sformatowany wynik jako dowód poprawności.
| Pole | Typ | Dopuszcza null | Przykład | Opis |
|---|---|---|---|---|
data.valid | boolean | Nie | false | Czy numer spełnia reguły walidacji planu numeracji. |
data.possible | boolean | Nie | false | Czy numer ma wiarygodną długość dla swojego planu numeracji; kryterium słabsze niż valid. |
data.e164 | string | Tak | null | Numer w formacie międzynarodowym, jeśli analiza się powiedzie; w przeciwnym razie null. |
data.country | string | Tak | null | Region ustalony na podstawie numeru lub null, gdy jest niedostępny; nie określa lokalizacji abonenta. |
data.country_calling_code | integer | Tak | null | Numeryczny międzynarodowy numer kierunkowy lub null, gdy jest niedostępny. |
Metadane dostępu, rozliczenia i zapytania
| Pole | Typ | Dopuszcza null | Przykład | Opis |
|---|---|---|---|---|
meta.request_id | string | Nie | "550e8400-e29b-41d4-a716-446655440000" | Unikalny identyfikator tej próby HTTP; wysyłany także w X-Request-ID. |
meta.duration_ms | integer | Nie | 42 | Czas przetwarzania zapytania w milisekundach. |
meta.access.mode | string | Nie | "api_key" | api_key, ip_trial lub unauthenticated. Korzystając z płatnego konta, sprawdź api_key. |
meta.access.reason | string | Tak | null | Powód przejścia na próbę: api_key_missing, api_key_invalid lub api_key_not_found; w pozostałych przypadkach null. |
meta.usage.charged_credits | integer | Tak | 1 | Liczba pobranych kredytów netto. Zero przed pobraniem lub po potwierdzonym pełnym zwrocie; null, gdy rozliczenie jest niepotwierdzone. |
meta.usage.remaining_credits | integer | Tak | 99 | Saldo po zakończeniu operacji. Może być ujemne; null, gdy saldo jest niedostępne lub rozliczenie jest niepotwierdzone. |
meta.usage.billing_status | string | Nie | "confirmed" | not_charged, confirmed lub unconfirmed. Sprawdź to pole przed ponowieniem nieudanej prognozy. |
meta.usage.resets_at | string | Tak | "2026-09-27T12:00:00.000Z" | Czas odnowienia próby dla adresu IP w UTC (ISO 8601); null dla kont z kluczem API lub gdy nie jest znany. |
meta.usage.limit | integer | Tak | 10 | Limit kredytów próby dla adresu IP; null dla kont z kluczem API. |
meta.usage.period_seconds | integer | Tak | 86400 | Okres próby dla adresu IP w sekundach; null dla kont z kluczem API. |
Uwierzytelnianie i ponawianie zapytań
Wyślij istniejący klucz API w nagłówku Bearer oraz Content-Type: application/json. Przykłady kodu odczytują GENDERAPI_API_KEY ze środowiska. Numery krajowe wymagają country; to pole jest opcjonalne, gdy number zaczyna się od +.