DOKUMENTACE API V2

Oficiální SDK pro GenderAPI.io V2

Nainstalujte oficiální SDK GenderAPI.io V2 pro Python, JavaScript, PHP, Ruby, Java, R a C#. Porovnejte balíčky, systémové požadavky a společné chování při odesílání požadavků.

Vyberte balíček

Oficiální open-source SDK volají stejné API V2, které popisují tyto návody. Verze 2.x každého balíčku používá API V2. Pro nové projekty instalujte řadu 2.x.

JazykBalíčekInstalacePožadavky
Pythongenderapi (PyPI)pip install "genderapi>=2,<3"Python 3.9+
JavaScript / TypeScriptgenderapi (npm)npm install genderapi@2Node.js 18+
PHPgenderapi/genderapi (Packagist)composer require "genderapi/genderapi:^2.0"PHP 8.1+
Rubygenderapi (RubyGems)gem install genderapi -v "~> 2.0"Ruby 3.0+
Javacom.github.GenderAPI:genderapi-java (JitPack)implementation 'com.github.GenderAPI:genderapi-java:v2.0.0'Java 11+
Rgenderapi (GitHub)remotes::install_github("GenderAPI/genderapi-R", ref = "v2.0.0")R 4.1+
C# / .NETGenderAPI (NuGet)dotnet add package GenderAPI.NET 8 nebo .NET Standard 2.0

Poznámky k registrům balíčků

  • Java: přidejte https://jitpack.io do svých repozitářů. Stejné vydání je publikováno také v GitHub Packages jako io.genderapi:genderapi; tam je potřeba GitHub token s oprávněním read:packages.
  • R: CRAN stále poskytuje balíček 1.x, zatímco verze 2.0.0 prochází kontrolou v CRAN. Dokud ji CRAN nezveřejní, instalujte 2.0.0 z tagu na GitHubu.
  • JavaScript: balíček je určen pro serverová běhová prostředí. Nepoužívejte jej v kódu prohlížeče, protože by tím byl prozrazen váš API klíč.

Společné chování

  • Každý klient načítá API klíč z GENDERAPI_API_KEY nebo jej přijímá v konstruktoru. Klíč uchovávejte na svém serveru.
  • Bez API klíče používají požadavky sdílený zkušební režim podle IP: 10 kreditů na IP adresu za 24 hodin.
  • Import balíčku ani vytvoření klienta neodesílá žádný požadavek. Každé volání metody odešle právě jeden požadavek.
  • Žádné SDK neopakuje požadavek automaticky. Opakování je nová operace s běžným účtováním, proto nejprve zkontrolujte chybu a stav účtování.
  • SDK nenásledují přesměrování a výchozí časový limit je 10 sekund.
  • Neznámý výsledek je úspěšná odpověď: gender je null a požadavek se účtuje běžným způsobem.
  • Chyby zpřístupňují stavový kód HTTP, kód chyby, ID požadavku a případně hodnotu Retry-After.

Příklady pro rychlý start

Každý příklad odešle jeden odhad jména a stojí 1 kredit. Nejprve nastavte GENDERAPI_API_KEY v prostředí serveru. README každého repozitáře popisuje dávkové požadavky, kontrolu využití a zpracování chyb.

Python
from genderapi import GenderAPI

client = GenderAPI()  # reads GENDERAPI_API_KEY
result = client.name("Alice", country="US")
print(result.data.gender, result.data.result_status)
print(result.meta.usage.charged_credits)
JavaScript / TypeScript
import { GenderAPI } from "genderapi";

const client = new GenderAPI(); // reads GENDERAPI_API_KEY
const { data, meta } = await client.name("Andrea", { country: "IT" });
console.log(data.gender, data.result_status, meta.usage.charged_credits);
PHP
<?php
require __DIR__ . '/vendor/autoload.php';

use GenderApi\Client;

$client = new Client(); // reads GENDERAPI_API_KEY
$result = $client->name('Tomáš', country: 'CZ');
echo $result->data->gender ?? 'unknown', ' ', $result->meta->usage->chargedCredits, "\n";
Ruby
require "genderapi"

client = GenderAPI::Client.new # reads ENV["GENDERAPI_API_KEY"]
result = client.name("Andrea", country: "IT")
puts result.data.gender, result.usage.charged_credits
Java
import io.genderapi.GenderApiClient;
import io.genderapi.model.GenderResponse;

GenderApiClient client = new GenderApiClient(); // reads GENDERAPI_API_KEY
GenderResponse response = client.name("Andrea", "IT");
System.out.println(response.getData().getGender());
System.out.println(response.getMeta().getUsage().getChargedCredits());
R
library(genderapi)

res <- genderapi_name("Lucie", country = "CZ")  # reads GENDERAPI_API_KEY
res$data$gender
res$meta$usage$charged_credits
C# / .NET
using GenderApi;

using var client = new GenderApiClient(); // reads GENDERAPI_API_KEY
GenderResponse res = await client.NameAsync("Alice", country: "US");
Console.WriteLine(res.Data!.Gender ?? "unknown");
Console.WriteLine(res.Meta!.Usage!.ChargedCredits);

Integraci V1 ponechte na 1.x

Balíčky verze 1.x zůstávají dostupné pro stávající integrace V1 a nejsou označeny jako zastaralé. Zafixujte hlavní verzi, aby aktualizace nenainstalovala 2.x, a jednotlivé integrace migrujte, až budete připraveni.

JazykInstalace 1.x
Pythonpip install "genderapi<2"
JavaScript / TypeScriptnpm install genderapi@1
PHPcomposer require "genderapi/genderapi:^1.0"
Rubygem install genderapi -v "~> 1.0"
Javaimplementation 'com.github.GenderAPI:genderapi-java:v1.0.3'
Rremotes::install_version("genderapi", "1.0.3")

Zdrojový kód a hlášení problémů

Každé SDK je open source. Chyby hlaste a nové funkce navrhujte v příslušném repozitáři na GitHubu.