> ## Documentation Index
> Fetch the complete documentation index at: https://docs.youka.io/llms.txt
> Use this file to discover all available pages before exploring further.

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

> شكل حمولة الأخطاء، إرشادات إعادة المحاولة الآمنة، وكيفية إقران إعادة المحاولة بمفاتيح عدم التكرار.

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

تستخدم الاستجابات غير الناجحة هذا الغلاف:

```json theme={null}
{
  "error": {
    "code": "SOME_CODE",
    "message": "Human-readable explanation",
    "issues": []
  }
}
```

## إرشادات إعادة المحاولة

* أعد المحاولة عند فشل النقل.
* أعد محاولة عمليات الكتابة عديمة الأثر (idempotent) باستخدام نفس `Idempotency-Key`.
* أعد قراءة الحالة الدائمة بعد العمل غير المتزامن بدلًا من افتراض أن الاستجابة الأولى مكتملة.

## قواعد عملية

* اعتبر حالات الفشل من جهة الخادم مرشحة لإعادة المحاولة فقط عندما كانت عملية الكتابة الأصلية تستخدم مفتاح عدم تكرار ثابتًا.
* اعتبر عناوين URL الجديدة لتنزيل التصدير مؤقتة، وأعد قراءتها من `GET /exports/{exportId}` عند الحاجة.
* إذا كانت عملية التعديل قيد التنفيذ بالفعل أو تتعارض مع الحالة الحالية، افحص `code` المُعاد وأعد المحاولة فقط عندما تظل العملية آمنة منطقيًا.

## عملاء قابلون للقراءة آليًا

تقوم حزمة Node.js SDK وواجهة CLI المرفقتان بتطبيع الأخطاء إلى كائنات مُهيكلة تحتوي على:

* `code`
* `message`
* `status`
* `retryable`

وهذا يجعل من الآمن تفريع منطق الأتمتة دون تحليل سلاسل نصية حرة.
