تخطَّ إلى المحتوى

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

تُعاد الأخطاء بصيغة JSON مع رمز error ثابت قابل للقراءة آلياً وحالة HTTP المطابقة.

{
"error": "rate_limited",
"message": "Too many requests.",
"retry_after_ms": 850
}
HTTPerrorإعادة المحاولة؟ملاحظات
400invalid_requestلافشل التحقق من معامل — صحّح الطلب.
401missing_api_key / unknown_api_keyلاراجع المصادقة.
403inactive_api_key / account_blockedلاالمفتاح مُعطّل أو الحساب موقوف.
402insufficient_creditsلاأعِد الشحن. يتضمّن الجسم required وbalance.
429rate_limitedنعم، بعد retry_after_msتجاوزت حدّك لكل دقيقة.
409request_in_progressنعملا يزال طلب متطابق غير قابل لإعادة التأثير قيد التشغيل.
422(تعارض إعادة التأثير)لاأُعيد استخدام Idempotency-Key مع جسم مختلف.
503service_temporarily_unavailable / too_many_concurrent_requestsنعم، مع تراجع تدريجيحدّ سعة عابر.
504result_timeoutنعمتجاوز الجلب المنبع deadline_ms.

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

Section titled “إرشادات إعادة المحاولة”
  • أعِد المحاولة عند 429 / 503 / 504 / 409 بتراجع تدريجي أسّي. عندما يكون retry_after_ms موجوداً، انتظر هذه المدة على الأقل قبل إعادة المحاولة.
  • لا تُعِد المحاولة أبداً عند 400 / 401 / 402 / 403 — لن ينجح الطلب حتى تغيّره.
  • تقوم حزم SDK الرسمية بالفعل بإعادة محاولة الأخطاء العابرة نيابةً عنك (محاولتان افتراضياً) وتُظهر راية retryable على الخطأ.