# SDK อย่างเป็นทางการของ GenderAPI.io V2

> ติดตั้ง SDK อย่างเป็นทางการของ GenderAPI.io V2 สำหรับ Python, JavaScript, PHP, Ruby, Java, R และ C# พร้อมเปรียบเทียบแพ็กเกจ ข้อกำหนด และลักษณะการทำงานของคำขอที่เหมือนกันทุก SDK

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

Last reviewed: 2026-09-30

## เลือกแพ็กเกจ

SDK โอเพนซอร์สอย่างเป็นทางการเรียกใช้ API V2 เดียวกับที่อธิบายไว้ในคู่มือเหล่านี้ แพ็กเกจแต่ละตัวในเวอร์ชัน 2.x ใช้ API V2 สำหรับโปรเจกต์ใหม่ให้ติดตั้งเวอร์ชันสาย 2.x

| ภาษา | แพ็กเกจ | การติดตั้ง | ข้อกำหนด |
| --- | --- | --- | --- |
| 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 หรือ .NET Standard 2.0 |

## หมายเหตุเกี่ยวกับรีจิสทรี

- Java: เพิ่ม https://jitpack.io ในรายการ repository ของคุณ รุ่นเดียวกันนี้ยังเผยแพร่บน GitHub Packages ในชื่อ io.genderapi:genderapi ด้วย ซึ่งต้องใช้โทเค็น GitHub ที่มีสิทธิ์ read:packages
- R: CRAN ยังคงให้บริการแพ็กเกจ 1.x ระหว่างที่เวอร์ชัน 2.0.0 อยู่ในขั้นตอนการตรวจสอบของ CRAN ให้ติดตั้ง 2.0.0 จากแท็กบน GitHub จนกว่า CRAN จะเผยแพร่เวอร์ชันนี้
- JavaScript: แพ็กเกจนี้มีไว้สำหรับรันไทม์ฝั่งเซิร์ฟเวอร์ อย่าใช้ในโค้ดฝั่งเบราว์เซอร์ เพราะจะทำให้คีย์ API ของคุณถูกเปิดเผย

## ลักษณะการทำงานที่เหมือนกัน

- ไคลเอนต์แต่ละตัวอ่านคีย์ API จาก GENDERAPI_API_KEY หรือรับคีย์ผ่านคอนสตรักเตอร์ เก็บคีย์ไว้บนเซิร์ฟเวอร์ของคุณ
- หากไม่มีคีย์ API คำขอจะใช้การทดลองใช้ตาม IP ที่ใช้ร่วมกัน ซึ่งให้ 10 เครดิตต่อที่อยู่ IP ทุก 24 ชั่วโมง
- การนำเข้าแพ็กเกจหรือการสร้างไคลเอนต์จะไม่ส่งคำขอใด ๆ การเรียกเมธอดแต่ละครั้งจะส่งคำขอเพียงหนึ่งครั้งเท่านั้น
- ไม่มี SDK ใดส่งคำขอซ้ำโดยอัตโนมัติ การส่งคำขอซ้ำถือเป็นงานใหม่ที่หักเครดิตตามปกติ จึงควรตรวจสอบข้อผิดพลาดและสถานะการหักเครดิตก่อน
- SDK จะไม่ติดตามการเปลี่ยนเส้นทาง และระยะหมดเวลาเริ่มต้นคือ 10 วินาที
- ผลลัพธ์ที่ไม่ทราบถือเป็นการตอบกลับที่สำเร็จ โดย gender เป็น null และคำขอจะถูกหักเครดิตตามปกติ
- ข้อผิดพลาดจะแสดงสถานะ HTTP รหัสข้อผิดพลาด ID คำขอ และค่า Retry-After หากมี

- [การยืนยันตัวตนและการเข้าถึงแบบทดลองใช้](https://www.genderapi.io/th/docs/v2/authentication)
- [เครดิตและการใช้งาน](https://www.genderapi.io/th/docs/v2/credits-and-usage)
- [ข้อผิดพลาดและการส่งคำขอซ้ำ](https://www.genderapi.io/th/docs/v2/errors-and-retries)

## ตัวอย่างเริ่มต้นอย่างรวดเร็ว

แต่ละตัวอย่างส่งคำขอคาดการณ์ชื่อหนึ่งรายการและใช้ 1 เครดิต ตั้งค่า GENDERAPI_API_KEY ในสภาพแวดล้อมของเซิร์ฟเวอร์ก่อน README ของแต่ละ repository อธิบายคำขอแบบกลุ่ม การตรวจสอบการใช้งาน และการจัดการข้อผิดพลาด

**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('สมชาย', country: 'TH');
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("Niran", country = "TH")  # 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);
```

## ใช้ 1.x ต่อไปสำหรับการเชื่อมต่อ V1

แพ็กเกจเวอร์ชัน 1.x ยังคงพร้อมใช้งานสำหรับการเชื่อมต่อ V1 ที่มีอยู่และไม่ได้ถูกประกาศเลิกใช้ ให้ล็อกเมเจอร์เวอร์ชันไว้เพื่อไม่ให้การอัปเดตติดตั้ง 2.x แล้วจึงย้ายการเชื่อมต่อแต่ละรายการเมื่อคุณพร้อม

| ภาษา | การติดตั้ง 1.x |
| --- | --- |
| 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")` |

- [ย้ายจาก V1](https://www.genderapi.io/th/docs/v2/migration)
- [ไลบรารีไคลเอนต์เวอร์ชัน 1.x](https://www.genderapi.io/th/docs-client-libraries)

## ซอร์สโค้ดและการแจ้งปัญหา

SDK ทุกตัวเป็นโอเพนซอร์ส แจ้งข้อบกพร่องหรือขอฟีเจอร์ได้ใน repository บน GitHub ของ SDK นั้น

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