# Viralliset GenderAPI.io V2 -SDK:t

> Asenna GenderAPI.io V2:n viralliset SDK:t: Python, JavaScript, PHP, Ruby, Java, R ja C#. Vertaa paketteja, vaatimuksia ja yhteistä pyyntöjen käsittelyä.

Canonical HTML: https://www.genderapi.io/fi/docs/v2/sdks

Last reviewed: 2026-09-30

## Valitse paketti

Viralliset avoimen lähdekoodin SDK:t kutsuvat samaa API V2:ta, jota nämä oppaat kuvaavat. Kunkin paketin versio 2.x käyttää API V2:ta. Asenna uusiin projekteihin 2.x-versiosarja.

| Kieli | Paketti | Asennus | Vaatimukset |
| --- | --- | --- | --- |
| Python | `genderapi (PyPI)` | `pip install "genderapi>=2,<3"` | Python 3.9+ |
| JavaScript / TypeScript | `genderapi (npm)` | `npm install genderapi@2` | Node.js 18+ |
| PHP | `genderapi/genderapi (Packagist)` | `composer require "genderapi/genderapi:^2.0"` | PHP 8.1+ |
| Ruby | `genderapi (RubyGems)` | `gem install genderapi -v "~> 2.0"` | Ruby 3.0+ |
| Java | `com.github.GenderAPI:genderapi-java (JitPack)` | `implementation 'com.github.GenderAPI:genderapi-java:v2.0.0'` | Java 11+ |
| R | `genderapi (GitHub)` | `remotes::install_github("GenderAPI/genderapi-R", ref = "v2.0.0")` | R 4.1+ |
| C# / .NET | `GenderAPI (NuGet)` | `dotnet add package GenderAPI` | .NET 8 tai .NET Standard 2.0 |

## Huomioita pakettirekistereistä

- Java: lisää https://jitpack.io repositorioihisi. Sama julkaisu on saatavilla myös GitHub Packages -palvelussa nimellä io.genderapi:genderapi, mikä edellyttää GitHub-tokenia, jolla on read:packages-oikeus.
- R: CRAN tarjoaa yhä 1.x-pakettia, kun versio 2.0.0 on tarkastettavana CRAN-palvelussa. Asenna 2.0.0 GitHub-tagista, kunnes CRAN julkaisee sen.
- JavaScript: paketti on tarkoitettu palvelinpuolen ajoympäristöihin. Älä käytä sitä selainkoodissa, koska API-avaimesi paljastuisi.

## Yhteinen toiminta

- Jokainen asiakaskirjasto lukee API-avaimen ympäristömuuttujasta GENDERAPI_API_KEY tai ottaa sen vastaan konstruktorissa. Pidä avain palvelimellasi.
- Ilman API-avainta pyynnöt käyttävät jaettua IP-kokeilua: 10 krediittiä IP-osoitetta kohden 24 tunnin jaksossa.
- Paketin tuominen tai asiakasolion luominen ei lähetä pyyntöä. Jokainen metodikutsu lähettää täsmälleen yhden pyynnön.
- Mikään SDK ei yritä pyyntöä uudelleen automaattisesti. Uudelleenyritys on uusi toiminto, joka laskutetaan normaalisti, joten tarkista ensin virhe ja laskutuksen tila.
- SDK:t eivät seuraa uudelleenohjauksia, ja oletusaikakatkaisu on 10 sekuntia.
- Tuntematon tulos on onnistunut vastaus: gender on null, ja pyyntö laskutetaan normaalisti.
- Virheistä näkyvät HTTP-tila, virhekoodi, pyynnön tunniste ja mahdollinen Retry-After-arvo.

- [Todennus ja kokeilukäyttö](https://www.genderapi.io/fi/docs/v2/authentication)
- [Krediitit ja käyttö](https://www.genderapi.io/fi/docs/v2/credits-and-usage)
- [Virheet ja uudelleenyritykset](https://www.genderapi.io/fi/docs/v2/errors-and-retries)

## Pikaesimerkit

Jokainen esimerkki lähettää yhden nimen ennustepyynnön ja maksaa 1 krediitin. Aseta ensin GENDERAPI_API_KEY palvelimen ympäristöön. Kunkin repositorion README kattaa eräpyynnöt, käytön tarkistukset ja virheenkäsittelyn.

**Python**

```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**

```javascript
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
<?php
require __DIR__ . '/vendor/autoload.php';

use GenderApi\Client;

$client = new Client(); // reads GENDERAPI_API_KEY
$result = $client->name('Juha', country: 'FI');
echo $result->data->gender ?? 'unknown', ' ', $result->meta->usage->chargedCredits, "\n";
```

**Ruby**

```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**

```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**

```r
library(genderapi)

res <- genderapi_name("Emilia", country = "FI")  # reads GENDERAPI_API_KEY
res$data$gender
res$meta$usage$charged_credits
```

**C# / .NET**

```csharp
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);
```

## Pidä V1-integraatio versiossa 1.x

Version 1.x paketit ovat edelleen saatavilla olemassa oleville V1-integraatioille, eikä niitä ole merkitty vanhentuneiksi. Lukitse pääversio, jotta päivitys ei asenna versiota 2.x, ja siirrä kukin integraatio, kun olet valmis.

| Kieli | 1.x-asennus |
| --- | --- |
| Python | `pip install "genderapi<2"` |
| JavaScript / TypeScript | `npm install genderapi@1` |
| PHP | `composer require "genderapi/genderapi:^1.0"` |
| Ruby | `gem install genderapi -v "~> 1.0"` |
| Java | `implementation 'com.github.GenderAPI:genderapi-java:v1.0.3'` |
| R | `remotes::install_version("genderapi", "1.0.3")` |

- [Siirtyminen V1:stä](https://www.genderapi.io/fi/docs/v2/migration)
- [Version 1.x asiakaskirjastot](https://www.genderapi.io/fi/docs-client-libraries)

## Lähdekoodi ja vikailmoitukset

Jokainen SDK on avointa lähdekoodia. Ilmoita virheistä tai pyydä ominaisuuksia vastaavassa GitHub-repositoriossa.

- [Python-SDK GitHubissa](https://github.com/GenderAPI/genderapi-python)
- [JavaScript-SDK GitHubissa](https://github.com/GenderAPI/genderapi-js)
- [PHP-SDK GitHubissa](https://github.com/GenderAPI/genderapi-php)
- [Ruby-SDK GitHubissa](https://github.com/GenderAPI/genderapi-ruby)
- [Java-SDK GitHubissa](https://github.com/GenderAPI/genderapi-java)
- [R-SDK GitHubissa](https://github.com/GenderAPI/genderapi-R)
- [C#-SDK GitHubissa](https://github.com/GenderAPI/genderapi-C)
