TÀI LIỆU API V2

SDK chính thức cho GenderAPI.io V2

Cài đặt SDK chính thức của GenderAPI.io V2 cho Python, JavaScript, PHP, Ruby, Java, R và C#. So sánh các gói, yêu cầu hệ thống và hành vi gửi yêu cầu chung.

Chọn gói

Các SDK mã nguồn mở chính thức gọi cùng API V2 được mô tả trong các hướng dẫn này. Phiên bản 2.x của mỗi gói dùng API V2. Hãy cài đặt dòng 2.x cho dự án mới.

Ngôn ngữGóiCài đặtYêu cầu
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 hoặc .NET Standard 2.0

Lưu ý về kho gói

  • Java: thêm https://jitpack.io vào danh sách repository của bạn. Cùng bản phát hành này cũng được xuất bản lên GitHub Packages với tên io.genderapi:genderapi; cách này cần GitHub token có quyền read:packages.
  • R: CRAN vẫn cung cấp gói 1.x trong khi phiên bản 2.0.0 đang được CRAN xem xét. Hãy cài đặt 2.0.0 từ tag trên GitHub cho đến khi CRAN xuất bản phiên bản này.
  • JavaScript: gói này dành cho môi trường chạy phía máy chủ. Không dùng gói trong mã trình duyệt vì làm vậy sẽ để lộ khóa API của bạn.

Hành vi chung

  • Mỗi client đọc khóa API từ GENDERAPI_API_KEY hoặc nhận khóa qua hàm khởi tạo. Hãy giữ khóa trên máy chủ của bạn.
  • Khi không có khóa API, yêu cầu sẽ dùng thử theo IP dùng chung: 10 tín dụng cho mỗi địa chỉ IP trong mỗi 24 giờ.
  • Việc nhập gói hoặc tạo client không gửi yêu cầu nào. Mỗi lần gọi phương thức gửi đúng một yêu cầu.
  • Không SDK nào tự động thử lại yêu cầu. Mỗi lần thử lại là một thao tác mới được tính phí bình thường, vì vậy hãy kiểm tra lỗi và trạng thái tính phí trước.
  • Các SDK không đi theo chuyển hướng và thời gian chờ mặc định là 10 giây.
  • Kết quả không xác định là một phản hồi thành công: gender là null và yêu cầu được tính phí bình thường.
  • Lỗi cung cấp mã trạng thái HTTP, mã lỗi, ID yêu cầu và giá trị Retry-After nếu có.

Ví dụ bắt đầu nhanh

Mỗi ví dụ gửi một yêu cầu dự đoán tên và tốn 1 tín dụng. Trước tiên, hãy đặt GENDERAPI_API_KEY trong môi trường máy chủ. README của từng repository hướng dẫn yêu cầu lô, kiểm tra mức sử dụng và xử lý lỗi.

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('Tuấn', country: 'VN');
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("Huong", country = "VN")  # 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);

Giữ tích hợp V1 trên 1.x

Các gói phiên bản 1.x vẫn có sẵn cho các tích hợp V1 hiện có và không bị đánh dấu ngừng sử dụng. Hãy cố định phiên bản chính để bản cập nhật không cài đặt 2.x, sau đó chuyển đổi từng tích hợp khi bạn sẵn sàng.

Ngôn ngữCài đặt 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")

Mã nguồn và báo cáo sự cố

Mỗi SDK đều là mã nguồn mở. Hãy báo lỗi hoặc đề xuất tính năng trong repository GitHub tương ứng.