حافظ على التهجئة العربية وتحقّق من الاسم المطابَق
أرسل الاسم بتهجئته الأصلية في Unicode. يعرض حقل الإدخال أدناه النص العربي من اليمين إلى اليسار مثل بقية هذا الدليل، بينما تبقى JSON وأمثلة الكود من اليسار إلى اليمين. تستقبل API هذا النص دون أن تحتاج إلى تحويله أولًا إلى حروف لاتينية في تطبيقك؛ لكن قبول النص لا يعني وعدًا بوجوده في مجموعة البيانات.
يطبّق مسار مجموعة البيانات تطبيع Unicode NFKC ويقسّم الاسم إلى أجزاء. ولا يتضمن قاعدة عامة لإزالة التشكيل العربي أو لاعتبار التهجئات المختلفة متكافئة. لذلك قد تؤثر علامات التشكيل وفروق التهجئة الأخرى في المفتاح المخزَّن الذي يُعثر عليه. احتفظ بالقيمة الأصلية بدل أن تعامل كل صيغة ضمنيًا على أنها الاسم نفسه.
قد ينتج الاسم الكامل عدة مرشحين. يُختار السجل المتاح صاحب أعلى عدد إجمالي مخزَّن، لذا لا يُضمن أن تكون الكلمة الأولى هي الاسم المُعاد. راجع data.name وdata.match.name قبل استخدام النتيجة لإثراء أي سجل.
| مثال على المُدخل | ما يمثله | ما يجب التحقق منه |
|---|---|---|
ليلى الخطيب | مثال على اسم كامل | قد تُؤخذ عدة أجزاء في الحسبان. تحقّق من المطابقة المختارة؛ ولا يدّعي هذا المثال نتيجة مباشرة بعينها. |
ليلى / لَيْلَى | تهجئة دون تشكيل وأخرى مشكّلة | أرسل التهجئة الفعلية. لا يُضمن أن تؤدي السلسلتان إلى السجل المخزَّن نفسه. |
Layla / Leila | تهجئتان بالحروف اللاتينية | هاتان قيمتا إدخال منفصلتان، ولا يعد V2 بتكافؤ تلقائي بين صيغ النقل الحرفي. |
country: SA | سياق السعودية في هذا العرض | هذا السياق ليس إعدادًا افتراضيًا لكل المجتمعات الناطقة بالعربية. احذف country إذا لم تكن الدولة معروفة. |
اختر سياق الدولة SA عن قصد
يرسل العرض المباشر country: SA (السعودية). لا تختار API هذه الدولة بناءً على نظام كتابة الاسم. في تكاملك، استخدم سياقًا معروفًا وذا صلة أو احذف country؛ ولا تجعل قيمة هذا المثال إعدادًا افتراضيًا لكل السجلات.
لكل مرشح، يفضّل مسار مجموعة البيانات صف الدولة إن وُجد، وإلا يأخذ الصف العام في الحسبان. ثم يختار المرشح المتاح صاحب أعلى عدد إجمالي مخزَّن. تحقّق من data.match.scope وdata.match.country لمعرفة نطاق المطابقة الفعلي. لا يُستبدل صف الدولة المتعادل تلقائيًا بنتيجة عامة؛ وإذا كان الرجوع إلى الذكاء الاصطناعي مفعّلًا، فقد يُستخدم الذكاء الاصطناعي بدلًا من ذلك.
يصف data.input.country سياق الطلب. أما data.country وdata.country_source فيصفان ارتباطًا مُعادًا. وهي حقول مختلفة، ولا تثبت الجنسية أو الأصل العرقي أو مكان الإقامة.
أرسل طلب V2 مع اسم من تطبيقك
شغّل الطلب على خادمك بعد ضبط GENDERAPI_API_KEY على مفتاحك الحالي. يفعّل المثال صراحةً الرجوع العادي إلى الذكاء الاصطناعي. وهو يوضح شكل الطلب، لا تقديرًا مقيسًا ولا نتيجة تغطية. استخدم options.ai_mode: off للمعالجة بمجموعة البيانات فقط.
اختر لغة البرمجة. إعداد مفتاح API، ثم شغّل المثال على خادمك.
كل طلب تقدير عملية جديدة مدفوعة، حتى عند إعادة المحاولة. لا تعيد هذه الأمثلة المحاولة تلقائيًا. تحقّق من حالة الخصم قبل إرسال طلب آخر.
قبل التشغيل: الوصول ومعالجة الأخطاء
شغّل هذه الأمثلة على خادمك. اضبط GENDERAPI_API_KEY في بيئة العملية على مفتاح API الحالي. تأكد من أن قيمة meta.access.mode هي api_key: فالمفتاح غير المعروف قد يؤدي إلى استخدام التجربة حسب عنوان IP.
في استجابات JSON ذات رموز HTTP 4xx و5xx، يُحتفظ بجسم الخطأ وينتهي المثال برمز خروج غير صفري. تحقّق من code وaction وmeta.usage.billing_status قبل إعادة المحاولة.
دليل الأخطاء وإعادة المحاولة ←cURL 7.76+ في واجهة أوامر POSIX. شغّله في الطرفية. وثائق بيئة التشغيل
Node.js 22+ مع fetch المدمج. احفظه باسم example.mjs وشغّل node example.mjs. وثائق بيئة التشغيل
Python 3.10+ مع المكتبة القياسية. احفظه باسم example.py وشغّل python3 example.py. وثائق بيئة التشغيل
PHP 8+ مع امتداد cURL. احفظه باسم example.php وشغّل php example.php. وثائق بيئة التشغيل
Java 17+ مع عميل HTTP القياسي. احفظه باسم GenderApiExample.java وشغّل java GenderApiExample.java. وثائق بيئة التشغيل
تطبيق وحدة تحكم (console) على .NET 8+. استخدمه كملف Program.cs في مشروع console، ثم شغّل dotnet run. وثائق بيئة التشغيل
Go 1.22+ مع المكتبة القياسية. احفظه باسم main.go وشغّل go run main.go. وثائق بيئة التشغيل
احفظ النتيجة مع أدلتها
الارتباط المُستنتج ليس الجنس الذي يصرّح به الشخص. احفظ المُدخل الأصلي والأدلة المُعادة وما صرّح به الشخص كلًّا على حدة. النتيجة غير المعروفة نتيجة صالحة، ولا ينبغي أن تتحول في تطبيقك إلى فئة مُخمَّنة.
| الحقل | طريقة الاستخدام |
|---|---|
data.gender / data.result_status | استخدم male أو female فقط مع identified. في النتيجة غير المعروفة، احتفظ بقيمة JSON null الأصلية. |
data.name / data.match | تحقّق من الاسم المُعاد ومن المرشح المختار. لا تثبت المطابقة على جزء من السلسلة أن المُدخل يخص شخصًا بهذا الاسم. |
data.confidence / data.confidence_kind | درجة الثقة على مقياس من 0 إلى 1 أو null. تستند observed_frequency إلى تكرارات مخزَّنة؛ أما model_reported فقيمة يقدّمها الذكاء الاصطناعي. قيّم العتبات لكل نوع على حدة. |
data.source / data.sample_count | ميّز بين dataset وai وnone. لا تملك نتائج الذكاء الاصطناعي حجم عينة مخزَّنًا. وحجم العينة ليس قيمة دقة مقيسة. |
meta.access.mode | في تكامل مرتبط بحساب، تحقّق من أن القيمة api_key. أما المفاتيح المفقودة أو غير المعروفة فقد تستخدم التجربة المشتركة حسب عنوان IP. |
meta.usage | اقرأ charged_credits وbilling_status. تُخصم أرصدة النتيجة غير المعروفة الناجحة. ولا يثبت فقدان الاستجابة أن الطلب كان مجانيًا. |
متى تستخدم الذكاء الاصطناعي
forceToGenderize اختياري للأسماء وعناوين البريد الإلكتروني وأسماء المستخدمين. عند تفعيله، احذف ai_mode أو استخدم fallback؛ فلا يمكن الجمع بينه وبين off أو always، ويعيد ذلك 422. يكفي رصيد ابتدائي موجب لبدء الطلب، حتى لو جعل الخصم النهائي الرصيد سالبًا.
قد يعيد وضع الأسماء المستعارة جنسًا مع name: null، وقد يعطي أيضًا نتيجة غير معروفة. لا يضمن الرجوع العادي إلى الذكاء الاصطناعي ولا تفسير الأسماء المستعارة إجابة صحيحة أو قيمة غير null.
| خيار الطلب | السلوك | الأرصدة لكل بحث ناجح |
|---|---|---|
| options.ai_mode: off | يستخدم مجموعة البيانات فقط. | 1، حتى للنتيجة غير المعروفة |
| options.ai_mode: fallback | يبحث في مجموعة البيانات أولًا، ثم يستخدم الذكاء الاصطناعي العادي إذا لم يُعَد جنس. وهو الإعداد الافتراضي للطلبات الفردية. | 1 إجمالًا، بما في ذلك الرجوع إلى الذكاء الاصطناعي |
| options.ai_mode: always | يستخدم الذكاء الاصطناعي مباشرة. | 2 |
| forceToGenderize: true | يبحث في مجموعة البيانات أولًا، ثم يترك للذكاء الاصطناعي تفسير اسم مستعار شخصي أو كنية، حتى دون اسم أول حقيقي. | 1 للنتيجة الموجودة في مجموعة البيانات؛ و2 إجمالًا إذا استُخدم الذكاء الاصطناعي |
عالج قائمة أسماء دون أن تفقد سياقها
استخدم POST /api/v2/gender/batch لما يصل إلى 50 عنصرًا مع مفتاح API لحساب مسجّل، أو 10 عناصر في التجربة حسب عنوان IP. خصّص معرّفًا فريدًا لكل عنصر، واحتفظ بالقيمة الأصلية لكل صف. يمكن أن يكون لكل عنصر سياق دولة وخيار ذكاء اصطناعي خاصان به؛ واحذف country إذا لم تكن الدولة معروفة.
تستخدم عناصر الطلب المجمّع وضع مجموعة البيانات فقط افتراضيًا، بخلاف الطلب الفردي الذي يستخدم الرجوع إلى الذكاء الاصطناعي افتراضيًا. اضبط options.ai_mode: fallback على كل عنصر يحتاج إلى الذكاء الاصطناعي. تحقّق من كل نتيجة حتى بعد HTTP 200، واحتفظ بالنتائج غير المعروفة، وراجع أخطاء العناصر والخصم قبل أي إرسال جديد. يستهلك كل عنصر عادي ناجح رصيدًا واحدًا؛ ولا يساوي طلب HTTP مجمّع واحد رصيد تقدير واحدًا.
اعرف ما الذي ترسله
لا يرسل العرض المباشر القيمة المُدخلة إلى GenderAPI.io إلا عندما ترسلها بنفسك. إذا استُخدم الذكاء الاصطناعي، تُنقل type وvalue وسياق الدولة المُرسل إلى الخدمة المهيأة للتقديرات. للحصول على تقدير يعتمد على مجموعة البيانات فقط، اضبط options.ai_mode: off في تكاملك دون forceToGenderize.
تصف سياسة الخصوصية واتفاقية معالجة البيانات وقائمة المعالجين الفرعيين شروط المعالجة المنشورة. النتيجة ارتباط مُستنتج، وما يصرّح به الشخص هو المقدَّم. لا تستخدمها أساسًا لقرارات ذات عواقب مهمة على أي شخص.
الأسئلة الشائعة
هل يقبل V2 النص العربي المشكّل؟
يقبل V2 الأسماء بترميز Unicode، ومنها النص العربي. ولا يزيل تطبيع مجموعة البيانات علامات التشكيل العربية بوجه عام، لذا قد تؤدي التهجئة المشكّلة وغير المشكّلة إلى مطابقات مختلفة أو إلى نتيجة غير معروفة.
هل تحدد هذه الأداة جنسية الشخص الناطق بالعربية؟
لا. SA هو سياق الدولة المحدد صراحةً لهذا العرض. ولا تثبت الحروف المستخدمة ولا ارتباط الاسم ولا حقل الدولة المُعاد جنسيةَ الشخص أو مكان إقامته.
هل نُشر تقييم مستقل للدقة لهذا النوع من الأسماء؟
لا يُنشر مثل هذا القياس في هذه الصفحة. قبول المُدخل والأعداد المخزَّنة وقيمة درجة الثقة ليست معيارًا مستقلًا للدقة. راجع صفحة المنهجية لمعرفة الأدلة المتاحة والقياسات التي لم تُنشر بعد.
هل تستهلك النتيجة غير المعروفة أرصدة؟
نعم، تُحتسب النتيجة غير المعروفة الناجحة. تكلفة الوضع العادي (مجموعة البيانات فقط أو الرجوع إلى الذكاء الاصطناعي) رصيد واحد إجمالًا. ومع تفعيل forceToGenderize تكلف النتيجة الموجودة في مجموعة البيانات رصيدًا واحدًا، ويكلف استخدام الذكاء الاصطناعي رصيدين إجمالًا، حتى إذا كانت نتيجته غير معروفة. وللأخطاء قواعد خصم منفصلة؛ راجع meta.usage.