Nazwy partii, adresy e-mail i nazwy użytkowników
POST /gender/batch akceptuje tablicę items zawierającą 1–50 wpisów z dostępem za pomocą klucza API lub maksymalnie 10 wpisów w przypadku wersji próbnej protokołu IP. Wysyłaj nazwiska, adresy e-mail, nazwy użytkowników lub kombinację tych trzech. Każdy wpis ma osobne pola country, forceToGenderize i options. Identyfikatory są opcjonalne, ale muszą być unikalne w ramach partii.
Wyniki są zgodne z kolejnością wprowadzania. Każdy wynik zawiera index, charged_credits i dokładnie jeden z data lub error. Jeśli dostarczyłeś id, zostanie on również zwrócony. Odpowiedź HTTP 200 może zawierać błędy dla poszczególnych wpisów, dlatego sprawdź każdy wynik. meta.summary obejmuje total, succeeded, identified, unknown i failed. Ukończona prognoza bez znanej płci nadal liczy się jako udana i kosztuje kredyty.
Jeśli weryfikacja wniosku lub planowanie nie powiedzie się, cała partia zostanie odrzucona przed odliczeniem jakichkolwiek kredytów. Jeśli podczas wykonywania wszystkie wpisy zawiodą, interfejs API zwróci odpowiedź Problem inną niż 2xx z tablicą data i starszym aliasem results. Nieudane wpisy kosztują zero punktów po potwierdzeniu zwrotu pieniędzy. Jeśli rozliczenie nie zostało potwierdzone, nie należy zakładać, że zgłoszony koszt każdego wpisu jest ostateczny.
Wybierz język programowania. Skonfiguruj klucz API, następnie uruchom przykład na swoim serwerze.
Każde żądanie prognozy jest nową płatną operacją, włączając ponowne próby. W tych przykładach nie następuje automatycznie ponowna próba. Sprawdź status płatności przed wysłaniem kolejnej prośby.
Zanim uruchomisz: dostęp i obsługa błędów
Uruchom te przykłady na swoim serwerze. Ustaw GENDERAPI_API_KEY w środowisku procesowym na istniejący klucz API. Potwierdź, że meta.access.mode to api_key: nierozpoznany klucz może wrócić do wersji próbnej IP.
W przypadku odpowiedzi JSON HTTP 4xx i 5xx przykłady zachowują treść błędu i kończą działanie ze statusem niezerowym. Przed ponowną próbą sprawdź code, action i meta.usage.billing_status. W przypadku odpowiedzi wsadowej HTTP 200 sprawdź także data lub error w każdym wyniku.
Przewodnik po błędach i ponownych próbach →cURL 7.76+ w powłoce POSIX. Uruchom w swoim terminalu. Dokumentacja środowiska wykonawczego
Node.js 22+; wbudowane pobieranie. Zapisz jako example.mjs i uruchom node example.mjs. Dokumentacja środowiska wykonawczego
Python 3.10+; biblioteka standardowa. Zapisz jako example.py i uruchom python3 example.py. Dokumentacja środowiska wykonawczego
PHP 8+ z rozszerzeniem cURL. Zapisz jako example.php i uruchom php example.php. Dokumentacja środowiska wykonawczego
Java 17+; standardowy klient HTTP. Zapisz jako GenderApiExample.java i uruchom java GenderApiExample.java. Dokumentacja środowiska wykonawczego
Aplikacja konsolowa .NET 8+. Użyj jako Program.cs w projekcie konsolowym, a następnie uruchom dotnet run. Dokumentacja środowiska wykonawczego
Go 1.22+; biblioteka standardowa. Zapisz jako main.go i uruchom go run main.go. Dokumentacja środowiska wykonawczego
Przeczytaj odpowiedź zbiorczą
Ten niezależny, syntetyczny przykład zawiera dopasowanie zestawu danych, nieznany wynik i awarię dostawcy. Ilustruje odpowiedź HTTP 200 o częściowym sukcesie, a nie oczekiwany wynik powyższego żądania wsadowego. Dwa udane przedmioty kosztują 1 kredyt każdy; uszkodzony przedmiot ma potwierdzone zerowe obciążenie.
{
"data": [
{
"index": 0,
"id": "known",
"charged_credits": 1,
"data": {
"input": {
"type": "name",
"value": "Onur",
"country": "TR"
},
"name": "onur",
"gender": "male",
"country": "TR",
"confidence": 0.9,
"confidence_kind": "observed_frequency",
"sample_count": 100,
"source": "dataset",
"result_status": "identified",
"reason": null,
"country_source": "dataset",
"match": {
"name": "onur",
"method": "normalized",
"scope": "country",
"country": "TR"
}
}
},
{
"index": 1,
"id": "missing",
"charged_credits": 1,
"data": {
"input": {
"type": "name",
"value": "zzzxxyy",
"country": null
},
"name": null,
"gender": null,
"country": null,
"confidence": null,
"confidence_kind": null,
"sample_count": null,
"source": "none",
"result_status": "unknown",
"reason": "not_found",
"country_source": null,
"match": {
"name": null,
"method": null,
"scope": null,
"country": null
}
}
},
{
"index": 2,
"id": "failed",
"charged_credits": 0,
"error": {
"type": "urn:genderapi:problem:ai_upstream_error",
"title": "ai upstream error",
"status": 502,
"detail": "The AI provider could not complete the request.",
"instance": "urn:uuid:11111111-1111-4111-8111-111111111111",
"code": "ai_upstream_error",
"request_id": "11111111-1111-4111-8111-111111111111",
"documentation": "https://api.genderapi.io/api/v2/errors",
"action": "inspect_billing_before_retry"
}
}
],
"meta": {
"request_id": "11111111-1111-4111-8111-111111111111",
"duration_ms": 12,
"access": {
"mode": "ip_trial",
"reason": "api_key_missing"
},
"usage": {
"charged_credits": 2,
"remaining_credits": 6,
"billing_status": "confirmed",
"resets_at": "2026-09-26T12:00:00.000Z",
"limit": 10,
"period_seconds": 86400
},
"summary": {
"total": 3,
"succeeded": 2,
"identified": 1,
"unknown": 1,
"failed": 1
}
}
}Planuj kredyty zbiorcze i ponowne próby
Uwierzytelnij się za pomocą istniejącego klucza Bearer API i wyślij Content-Type: application/json. Każda przesłana partia to nowa operacja. W przypadku ponownej próby częściowego niepowodzenia, po sprawdzeniu rozliczeń prześlij tylko te pozycje, które się nie powiodły; ponowne wysłanie udanych przedmiotów powoduje ich ponowne obciążenie.
Domyślnie wpisy wsadowe używają off i kosztują 1 kredyt za każdą ukończoną prognozę. Wybranie fallback również kosztuje łącznie 1 kredyt, łącznie z AI. Wybranie always kosztuje 2 kredyty. W przypadku forceToGenderize płeć znaleziona w zestawie danych kosztuje 1 kredyt; korzystanie z AI kosztuje w sumie 2 kredyty. Ukończone przewidywania dotyczące nieznanej płci również kosztują kredyty. Saldo początkowe wynoszące 1 kredyt wystarczy, aby rozpocząć partię. Ostateczne odliczenie może pozostawić saldo ujemne.