بنية الاستجابة
اقرأ كائن الخطأ
عند فشل الطلب تعيد استجابة JSON قيمة status على أنها false. استخدم errno الرقمي في منطق التطبيق واحتفظ بـerrmsg للسجلات أو التشخيص المقروء.
{
"status": false,
"errno": 94,
"errmsg": "invalid or missing key"
}errno وليس على الصياغة الدقيقة لـerrmsg. بذلك يبقى التكامل متوقعاً إذا تغير النص التوضيحي لاحقاً.المرجع الكامل
رموز أخطاء GenderAPI
تطابق القيم التالية توثيق GenderAPI العام الحالي. صحح السبب قبل تكرار الطلب.
access deniedصدر الطلب من عنوان IP أو referrer غير مصرح به.
invalid country codeقيمة الدولة ليست رمز ISO 3166-1 alpha-2 مدعوماً.
name not set || email not set || username not setيفتقد الطلب معامل الاسم أو البريد الإلكتروني أو اسم المستخدم المطلوب.
too many names || too many emails || too many usernamesتجاوز الطلب حد الدفعة: 100 اسم أو 50 بريداً إلكترونياً أو 50 اسم مستخدم.
query limit reachedلا توجد أرصدة متبقية لمفتاح API.
invalid or missing keyمفتاح API مفقود أو تعذر العثور عليه.
API key has expiredانتهت صلاحية الباقة المرتبطة بمفتاح API.
إرشادات المعالجة
افشل بأمان وتجنب إعادة المحاولة العشوائية
تحقق أولاً
ارفض المدخلات المفقودة ورموز الدول غير الصالحة والدفعات المتجاوزة للحد قبل وصولها إلى API.
احمِ بيانات الاعتماد
احتفظ بمفاتيح API على الخادم واحجبها عن سجلات التطبيق ومخرجات المتصفح ولقطات شاشة الدعم.
أعد المحاولة بشكل انتقائي
تتطلب هذه الأخطاء تصحيحاً أو إجراءً على الحساب. تكرار الطلب نفسه من دون تغيير لن يحلها.
type GenderApiError = {
status: false;
errno: number;
errmsg: string;
};
if (response.status === false) {
handleGenderApiError(response.errno, response.errmsg);
}حافظ على خصوصية تفاصيل التشخيص
سجّل رقم الخطأ مع معرّف داخلي للطلب، لكن لا تضمّن مفتاح API مطلقاً. اعرض للمستخدم رسالة موجزة وقابلة للتنفيذ بدلاً من كشف بيانات الاعتماد أو بيانات الطلب الداخلية.
اكتمل التوثيق