إنتقل إلى المحتوى الرئيسي

الأخطاء وإعادة المحاولة

تستخدم واجهات API في Alkax رموز حالة HTTP للنتيجة الرئيسية وأجسام استجابة منظّمة للتفاصيل القابلة للقراءة آليًا وبشريًا.

رموز الحالة الشائعة​

الحالةالمعنىإجراء العميل
400طلب غير صالح أو فشل التحقّقصحّح الطلب قبل إرساله مجددًا
401بيانات اعتماد مفقودة أو غير سليمة التنسيق أو غير صالحة أو منتهية الصلاحية أو ملغاةاستبدل بيانات الاعتماد
402يلزم اشتراك مدفوعفعّل اشتراك مالك المشروع أو جدّده
403تمت المصادقة دون إذنتحقّق من النطاقات والوصول وملكية المستأجر
404المورد غير موجود أو غير ظاهر لهذا المستأجرتحقّق من المعرّف الثابت؛ لا تكرّر الاستكشاف
409تعارض في دورة الحياة أو التكرار أو ضمان عدم تكرار الأثراقرأ المورد الحالي ووفّق البيانات
429بلوغ حد المعدّل أو الحصة الشهرية للخطةالتزم بـ Retry-After أو قلّل الاستخدام أو رقّ الخطة
5xxإخفاق مؤقت في الخادمأعد المحاولة عددًا محدودًا من المرات مع تراجع أُسّي

نمط آمن لإعادة المحاولة​

  1. حدّد مهلة للطلب.
  2. أعد المحاولة فقط عند إخفاق الشبكة أو 429 أو نتائج 5xx المؤقتة الموثّقة.
  3. أعد استخدام مفتاح عدم تكرار الأثر نفسه عند إعادة طلب الإنشاء المنطقي نفسه.
  4. أضف تراجعًا أُسّيًا مع تفاوت عشوائي.
  5. توقّف بعد عدد محدود من المحاولات وأظهر الإخفاق للمراجعة.

لا تُعد طلبًا استجابته 400 دون تعديل. تجنّب إنشاء مفتاح عدم تكرار أثر جديد لمجرد ضياع الاستجابة الأولى؛ فقد يحوّل ذلك عملية مقصودة واحدة إلى عمليتين.

الرسائل المترجمة​

تترجم بعض واجهات API الرسائل المقروءة بشريًا وفق Accept-Language. لا تجعل منطق البرنامج يعتمد على النص المترجم. احفظ الحالة ومعرّف المورد الثابت ورمز الخطأ القابل للقراءة آليًا بدلًا من ذلك.