غلاف الخطأ
تستخدم معظم استجابات الخطأ شكل JSON المتوافق مع OpenAI التالي:type فئة عامة، وcode معرّف محدد. تُرجع بعض
حالات الفشل في المسار السريع (وبخاصة 429 على مستوى مساحة العمل) رمز حالة
HTTP فقط مع الرؤوس ذات الصلة دون نص JSON.
رموز حالة HTTP
| الحالة | المعنى | السبب النموذجي |
|---|---|---|
400 | طلب غير صالح | معاملات غير صالحة، أو حقول مطلوبة مفقودة، أو انتهاك للمخطط |
401 | غير مصرّح | مفتاح API مفقود أو غير صالح |
403 | محظور | حصة غير كافية، أو المفتاح لا يمكنه استدعاء هذا النموذج |
404 | غير موجود | النموذج أو نقطة النهاية غير موجودة |
429 | طلبات كثيرة جدًا | تم بلوغ حد المعدل — راجع حدود المعدل. تتضمن الاستجابة دائمًا رأس Retry-After. |
500 | خطأ داخلي | خطأ من جانب OrcaRouter |
502 | خطأ من المزود الأعلى | فشل جميع المزودين الأعليين (بما في ذلك أي سلسلة بدائل) |
503 | الخدمة غير متاحة | النموذج المطلوب غير متاح مؤقتًا في المنبع |
أنواع الأخطاء التي قد تراها في error.type
error.type | مصدرها |
|---|---|
orcarouter_api_error | إخفاقات من جانب البوابة (مصادقة، حصة، حد المعدل، داخلي) |
upstream_error | أرجع المزود الأعلى خطأً أو انتهت مهلته |
openai_error | خطأ من المنبع المتوافق مع OpenAI محفوظ حرفيًا |
claude_error | خطأ من منبع Anthropic محفوظ حرفيًا |
gemini_error | خطأ من منبع Gemini محفوظ حرفيًا |
رموز الأخطاء التي قد تراها في error.code
هذه رموز تصدرها البوابة لإخفاقات تنشأ من
OrcaRouter (وليس من المنبع):
error.code | HTTP | المعنى |
|---|---|---|
insufficient_user_quota | 403 | استنفد رصيد الحساب. قم بشحنه. |
model_not_found | 503 | هذا النموذج غير متاح لحسابك. |
model_price_error | 400 | لم يتم إعداد التسعير لهذا النموذج. اتصل بالدعم. |
api_not_implemented | 400 | نقطة النهاية أو العملية غير مدعومة للنموذج الذي اخترته. |
bad_request_body | 400 | تعذّر تحليل نص الطلب. |
prompt_blocked | 400 | حظرت سياسة سلامة المزود الموجّه قبل التوليد. |
sensitive_words_detected | 400 | رفض مرشّح المحتوى الحساس الموجّه. |
error.code
أولًا (محدد) ثم ارجع إلى error.type (فئة عامة).
أخطاء البث
لا يمكن للأخطاء أثناء استجابة مبثوثة استخدام رموز حالة HTTP (تم إرسال الحالة عند فتح البث). يعتمد التنسيق على نقطة النهاية:/v1/chat/completions و/v1/responses (متوافق مع OpenAI)
يصل الخطأ كقطعة data: {...} ضمن البث:
data: كـ JSON؛ إذا احتوت على حقل error، فعامل
البث على أنه فشل.
/v1/messages (متوافق مع Anthropic)
تستخدم Anthropic أحداث SSE المسمّاة. يصل فشل البث كالتالي:
event: message_stop (أو يُقطع) بعد
حدث الخطأ.
أخطاء البدائل
عند ضبطextra_body.models وفشل جميع النماذج في السلسلة، تحصل
على 502 مع تفاصيل عن آخر خطأ من المنبع. تشير رؤوس الاستجابة
X-Orca-Fallback-Level وX-Orca-Fallback-Model إلى
أي بديل كان قيد المحاولة عند استنفاد السلسلة. راجع
رؤوس الاستجابة.