الأخطاء والحدود

كل رمز خطأ يعيده Partner API، وكل حد يفرضه.

كل فشل له الشكل نفسه. فرّع على error.error_code؛ سجّل الوصف للقراءة البشرية؛ لا تطابق نصّه أبدًا. error.error_attributes يحمل التفاصيل التي يحددها الرمز، وهو لا قيمة للباقي.

{
  "description": "story_document: يقدّم الرابط \"text/html\"، وهذا الإدخال لا يقبله. وجّه إلى الملف نفسه.",
  "code": "url_type_not_allowed",
  "error": {
    "id": null,
    "error_code": "url_type_not_allowed",
    "error_attributes": null,
    "user_readable_message": null,
    "locale": "ar"
  }
}

الرمز يتكرر error.error_code للعملاء الأقدم؛ اقرأ error.error_code.

رموز الأخطاء

HTTPerror_codeيعنيما الذي يجب فعله
400invalid_requestالجسم أو قيمة الإدخال غير صحيحة؛ يذكر الوصف اسم الإدخالأصلحه وأعد الإرسال. لا تعِد المحاولة من دون تغيير مطلقًا
400url_not_fetchableتعذّر جلب الرابط، أو خالف إحدى قواعد الروابط، أو قدّم ملفًا فارغًاقارنْه مع تمرير الملفات عبر عنوان URL
400url_type_not_allowedقدّم الرابط نوع محتوى لا يقبله هذا الإدخال، أو بايتات ليست من النوع الذي ادّعاهقدّم الملف نفسه، بنوعه الحقيقي
400url_too_largeيتجاوز حجم الملف الحد الأقصى للبايتات، أو يتجاوز ما تبقّى من ميزانية البايتات الخاصة بالتشغيلأرسل ملفًا أصغر
401غير مخوّلالمفتاح مفقود، أو مشوّه، أو ملغى، أو منتهي الصلاحيةتوقف وأبلغ أحدًا. لا يمكن لإعادة المحاولة أن تفيد
403api_key_credit_limit_reachedالمفتاح عند أحد حدود الرصيد الخاصة به؛ error_attributes.period يوضح أيّاطلب من مسؤول رفع حد المفتاح في Studio، أو انتظر حتى تتم إعادة تعيين الحد اليومي أو الشهري
403credits_exhaustedلم يتبقَّ لدى المؤسسة أي رصيداشحن رصيد المؤسسة
403access_deniedorg_id ليست هي المؤسسة الخاصة بالمفتاح، أو يفتقر المفتاح إلى النطاق، أو قد لا يُسمح له بتشغيل سير العمل هذاتحقق من نطاقات المفتاح وقائمة السماح لسير العمل في Studio
404entity_not_foundلا يوجد مثل هذا سير عمل أو مشروع أو تشغيل أو نقطة نهاية webhook في مؤسستك — أو تشغيل لسير عمل خارج قائمة السماح الخاصة بالمفتاحتحقق من المعرّف
409idempotency_conflictنفس idempotency_key وصل مع جسم مختلفاستخدم مفتاحًا جديدًا للعمل الجديد
429too_many_requestsتم الوصول إلى حد القراءةانتظر Retry-After، ثم أعد الإرسال
500internal_errorلناأعد المحاولة مع زيادة الفاصل؛ إذا استمر، فأرسل لنا x-morphic-trace-id

الحدود

الحدالافتراضيملاحظات
الأرصدةحدود المفتاح الخاصة بهإجمالي يملكه كل مفتاح، وحدود اختيارية يومية وشهرية — راجع حدود الرصيد
قراءات تشغيل واحد30 في الدقيقة، لكل مفتاحقراءة واحدة في الدقيقة لكل تشغيل تكفي؛ wait=45 أرخص أيضًا
قراءات جميع العمليات1,200 في الدقيقة، لكل مفتاحمساحة لمتابعة مئات العمليات في وقت واحد
الروابط لكل تشغيل10عبر جميع مدخلات الملفات معًا
البايتات لكل تشغيل500 MBعبر جميع الروابط معًا
البايتات لكل ملفالخاصة بالإدخال الحد الأقصى للبايتاتالمستندات حتى 100 ميغابايت؛ حدود الوسائط تكون لكل إدخال
مدة التشغيل24 ساعةأي تشغيل لم يكتمل بحلول expires_at يصبح منتهي الصلاحية
نقاط نهاية Webhook10 لكل مؤسسةأزل واحدًا قبل إضافة آخر

بدء العمليات لا يخضع أبدًا لتقييد المعدل: حدود رصيد المفتاح تحدد ما يمكن أن تنفقه حلقة إعادة المحاولة، و idempotency_key يجعل إعادة المحاولة إعادة تشغيل. وتُرفع حدود القراءة عند الطلب لحجمٍ ناقشناه.

الفوترة

تُحاسَب أرصدة أي تشغيل بدأ عبر API على المؤسسة التي تملك المفتاح، وتُحتسب على المفتاح الذي بدأه. يرى المسؤول الإنفاق تحت الفوترة والاستخدام → نشاط الرصيد في Studio، وتظهر حدود كل مفتاح على مفاتيح API الصفحة.

يستمر احتساب التشغيل على المفتاح الذي بدأه حتى لو تدخل أحدهم في الدردشة داخل Studio وتولّى الأمر، لذا فإن الميزانية المتبقية للمفتاح هي ميزانية التشغيل بأكمله.

أي تشغيل يُرفض قبل أن يبدأ — رابط غير صالح، أو مفتاح أو مؤسسة بلا رصيد — لا يكلف شيئًا. أما التشغيل الذي يفشل في منتصفه فقد استهلك تكلفة ما اكتمل من خطواته؛ الأرصدة المستخدمة في التشغيل يوضح المقدار.

في هذه الصفحة