# الأخطاء

> فهرس الأخطاء: حالة HTTP، رموز مشكلات OperationOutcome، وما يجب فعله لكل منها.

Source: https://developers.anpheros.com/ar/guides/errors

تحت أخطاء `/fhir/R4` توجد `OperationOutcome`؛ في أماكن أخرى توجد `{"error": {"type", "message", "field"?}}`. كل استجابة تحمل `Anpheros-Request-Id`؛ اقتبسها عند الكتابة للدعم.

| HTTP | `issue.code` / `type` | المعنى | ما يجب فعله |
|---|---|---|---|
| 400 | `invalid`، `structure`، `value` | JSON مشوه، FHIR غير صالح، قيمة ليست ضمن مجموعة قيم مطلوبة، معلمة بحث غير مدعومة، فلتر نطاق غير مدعوم | إصلاح الطلب؛ أسماء الحقول مذكورة في الرسالة |
| 400 | `too-costly` | تداخل الموارد > 64 مستوى، نص > 10000 حرف | تبسيط المورد |
| 401 | `login` | بيانات اعتماد مفقودة، غير معروفة، منتهية الصلاحية أو ملغاة؛ موافقة لم تعد نشطة؛ الاستجابة تحمل `WWW-Authenticate: Bearer realm="anpheros"` (مع `error="invalid_token"` عند إرسال بيانات اعتماد) | إعادة المصادقة؛ بالنسبة لـ OAuth، قم بتحديث أو إعادة الموافقة |
| 403 | `forbidden` | نطاق، ملكية (مكتوب بواسطة منظمة أخرى)، منح للقراءة فقط، مسؤول فقط | طلب النطاق الصحيح؛ كتابة المورد الخاص بك |
| 404 | `not-found` | غير موجود لهذا المتصل | لا تفترض أبدًا وجود مورد من 404 |
| 409 | `conflict` | مفتاح idempotency قيد التقدم؛ المستند نهائي بالفعل؛ حد نقطة النهاية | إعادة المحاولة بعد فترة قصيرة / استخدام مفتاح جديد |
| 410 | `deleted` | تم حذف المورد أو الملف | — |
| 412 | `conflict` | عدم تطابق إصدار `If-Match` | إعادة القراءة، ثم التحديث |
| 413 | `too-costly` | تجاوز حجم الجسم أو المستند الحد الأقصى | تقسيم أو ضغط |
| 422 | `not-found` / `invalid` | المريض المشار إليه غير موجود بالنسبة لك؛ تم نقل المورد بين المرضى؛ تم إعادة استخدام مفتاح idempotency مع جسم آخر | إصلاح الإشارة |
| 429 | `throttled` | حد المعدل لكل بيانات اعتماد أو لكل IP | انتظر `Retry-After` ثانية؛ تقوم SDKs بذلك |
| 503 | `transient` | تخزين المستندات غير متاح | إعادة المحاولة مع تراجع |
| 500 | `exception` | خطأ غير متوقع، تم تسجيله وتدقيقه بمعرف الطلب | الإبلاغ عن معرف الطلب |
