وثائق API V2

حزم SDK الرسمية لـ GenderAPI.io V2

ثبّت حزم SDK الرسمية لـ GenderAPI.io V2 للغات Python وJavaScript وPHP وRuby وJava وR وC#. قارن بين الحزم والمتطلبات وسلوك الطلبات المشترك.

اختر حزمة

تستدعي حزم SDK الرسمية مفتوحة المصدر واجهة V2 API نفسها الموضّحة في هذه الأدلة. يستخدم الإصدار 2.x من كل حزمة API V2. ثبّت إصدارات 2.x في المشاريع الجديدة.

اللغةالحزمةالتثبيتالمتطلبات
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 أو .NET Standard 2.0

ملاحظات حول سجلات الحزم

  • Java: أضف https://jitpack.io إلى المستودعات لديك. يُنشر الإصدار نفسه أيضًا على 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 ورمز الخطأ ومعرّف الطلب، وقيمة Retry-After عند وجودها.

أمثلة البدء السريع

يرسل كل مثال طلب تقدير لاسم واحد، وتكلفته رصيد واحد. اضبط أولًا GENDERAPI_API_KEY في بيئة الخادم. يشرح ملف README في كل مستودع الطلبات المجمّعة والتحقق من الاستخدام ومعالجة الأخطاء.

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('محمد', country: 'SA');
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("Omar", country = "SA")  # 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);

أبقِ تكامل V1 على الإصدار 1.x

تظل حزم الإصدار 1.x متاحة لتكاملات V1 الحالية، ولم يُعلَن إيقافها (deprecated). ثبّت رقم الإصدار الرئيسي حتى لا يؤدي التحديث إلى تثبيت 2.x، ثم انقل كل تكامل عندما تكون مستعدًا.

اللغةتثبيت 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")

الكود المصدري والمشكلات

كل حزمة SDK مفتوحة المصدر. أبلغ عن الأخطاء أو اطلب ميزات جديدة في مستودع GitHub المقابل.