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