بنية استجابة الخطأ
تتبع جميع الأخطاء تنسيقًا موحدًا:رموز حالة HTTP
| الحالة | الفئة | الوصف |
|---|---|---|
400 | خطأ العميل | معلمات طلب غير صالحة أو خطأ في التحقق |
401 | المصادقة | مفتاح API غير صالح أو مفقود |
403 | التفويض | صلاحيات أو رصيد غير كافٍ |
404 | غير موجود | المورد غير موجود |
429 | حد المعدل | طلبات كثيرة جدًا |
500 | خطأ الخادم | خطأ داخلي في الخادم |
503 | غير متاح | الخدمة غير متاحة مؤقتًا |
رموز الخطأ الشائعة
أخطاء المصادقة (401)
أخطاء المصادقة (401)
MISSING_ACCESS_TOKEN
- الرسالة: Access token is required
- السبب: ترويسة
X-Access-Tokenمفقودة - الإجراء: أدرج مفتاح API في الترويسة
INVALID_ACCESS_TOKEN / ERR_AUTH
- الرسالة: The provided access token is invalid
- السبب: مفتاح API غير صحيح أو منتهي الصلاحية أو ملغى
- الإجراء:
- تحقق من صحة مفتاح API
- أنشئ مفتاحًا جديدًا إذا لزم الأمر
- لا تسجّل قيم المفاتيح الحساسة
- تواصل مع الدعم إذا استمرت المشكلة
أخطاء التفويض (403)
أخطاء التفويض (403)
NO_BALANCE / INSUFFICIENT_BALANCE
- الرسالة: Insufficient balance
- السبب: رصيد الحساب منخفض جدًا
- الإجراء:
- تحقق من الرصيد عبر
/v3/account/balanceقبل العمليات - اعرض الرصيد الحالي للمستخدم
- اعرض خيار الشحن
- لا تعيد المحاولة دون إضافة أموال
- تحقق من الرصيد عبر
DUPLICATED_REF
- الرسالة: This reference ID is already in use
- السبب: تم استخدام المرجع في طلب سابق
- الإجراء:
- تحقق من حالة الطلب الموجود
- أنشئ مرجعًا فريدًا جديدًا
- لا تنشئ طلبات مكررة
IP_BLOCKED
- الرسالة: Your IP has been temporarily blocked
- السبب: محاولات مصادقة فاشلة كثيرة جدًا
- الإجراء:
- انتظر 15 دقيقة لإلغاء الحظر التلقائي
- تحقق من صحة مفتاح API
- تواصل مع الدعم إذا استمر الأمر
IP_NOT_ALLOWED
- الرسالة: Your IP address is not whitelisted
- السبب: قائمة IP البيضاء مفعّلة
- الإجراء: أضف عنوان IP الخاص بك إلى القائمة البيضاء في لوحة التحكم
أخطاء التحقق (400)
أخطاء التحقق (400)
ERR_VALIDATION
- الرسالة: Validation error
- السبب: معلمات الطلب لا تستوفي المتطلبات
- المشكلات الشائعة: حقول مفقودة، أنواع بيانات غير صالحة، عدم تطابق النمط
- الإجراء:
- تحقق من المدخلات على جانب العميل أولًا
- تحقق من
error.detailsللمشكلات الخاصة بالحقول - لا تعيد المحاولة دون إصلاح المشكلة
ERR_PHONE
- الرسالة: Invalid phone number
- السبب: رقم الهاتف غير صحيح أو غير موجود
- الإجراء: استخدم
/v3/internet/check-numberللتحقق أولًا
ERR_STOCK
- الرسالة: Product out of stock
- السبب: المنتج/قيمة البطاقة المطلوبة غير متاحة
- الإجراء:
- تحقق من المخزون قبل الطلب
- اعرض فئات بديلة
- حاول مرة أخرى لاحقًا
أخطاء غير موجود (404)
أخطاء غير موجود (404)
NOT_FOUND
- الرسالة: Resource not found
- السبب: المورد المطلوب غير موجود
- الحالات الشائعة: معرّف طلب غير صالح، مرجع غير صالح، مورد محذوف
- الإجراء: تحقق من صحة المعرّف/المرجع، تحقق من الأخطاء الإملائية، تعامل بأناقة في واجهة المستخدم
أخطاء حد المعدل (429)
أخطاء حد المعدل (429)
RATE_LIMIT_EXCEEDED
- الرسالة: Too many requests
- السبب: تجاوز حد المعدل
- الحدود: Sandbox: 60 طلب/دقيقة، الإنتاج: 120 طلب/دقيقة
- الإجراء: نفّذ تراجعًا أسيًا مع منطق إعادة المحاولة
أخطاء الخادم (500/503)
أخطاء الخادم (500/503)
INTERNAL_SERVER_ERROR / INTERNAL_ERROR
- الرسالة: Developer was notified and will check shortly
- السبب: خطأ غير متوقع على خوادمنا
- الإجراء:
- لا تستردّ الأموال فورًا - انتظر 24 ساعة
- احفظ requestId للدعم الفني
- نفّذ منطق إعادة المحاولة مع تراجع
- تواصل مع الدعم بالتفاصيل
- نحن نُخطَر تلقائيًا
ERR_SERVICE
- الرسالة: Service temporarily unavailable
- السبب: صيانة الخدمة أو مشكلة مؤقتة
- الإجراء:
- اعرض رسالة صيانة
- أعد المحاولة بعد تأخير
- راقب للحصول على حل
أفضل ممارسات التنفيذ
1. تحقق دائمًا من حقل success
2. تعامل مع رموز الخطأ المحددة
3. منطق إعادة المحاولة الذكي مع التراجع الأسي
4. رسائل خطأ مناسبة للمستخدم
5. سجّل Request IDs
أنماط متقدمة
نمط قاطع الدائرة (Circuit Breaker)
امنع الإخفاقات المتتالية بإيقاف الطلبات عند ارتفاع معدل الخطأ:مراقبة الأخطاء
تتبّع أنماط الأخطاء للكشف المبكر عن المشكلات:معالجة UNKNOWN_ERROR
اختبار سيناريوهات الخطأ
استخدم وضع Sandbox لاختبار معالجة الأخطاء:مرجع سريع
التحقق المبكر
تحقق من المدخلات من جهة العميل قبل استدعاءات API
إعادة المحاولة بذكاء
استخدم backoff الأسي لأخطاء 5xx، ولا تُعِد المحاولة أبداً لأخطاء 4xx
سجّل السياق
أدرج دائماً requestId والسياق في السجلات لتسهيل التصحيح
ردود فعل واضحة
أظهر للمستخدمين رسائل خطأ واضحة وقابلة للتنفيذ
الخطوات التالية
Endpoints الأساسية
استكشف جميع الـ endpoints
تنسيق الاستجابة
فهم استجابات API

