انتقل إلى المحتوى

توثيق واجهة Fileverity API

حدود المعدّل والترويسات

حدود معدّل الطلبات لكل مفتاح API، وترويسات الاستجابة الخاصة بحدود المعدّل، وretry-after عند 429 و503، والترويسات الأخرى التي ترسلها Fileverity API.

عرض بصيغة Markdownآخر تحديث: 2026-11-04

يمكن لكل مفتاح API إرسال 120 طلبًا في الدقيقة. يُحتسب الحد ضمن نوافذ مدة كل منها دقيقة واحدة، ويشمل جميع نقاط النهاية، بما فيها الطلبات التي تعيد خطأً. وعندما تُستنفد النافذة، تُرفض الطلبات التالية بالحالة 429 وبرمز الخطأ rate_limited إلى أن تبدأ نافذة جديدة.

هل تحتاج إلى حدود أعلى أو أسعار للكميات الكبيرة؟ تواصل مع فريق المبيعات.

ترويسات حد المعدّل

تحمل كل استجابة لطلب مصادَق عليه حالة نافذتك:

الترويسةالمعنى
x-ratelimit-limit-requestsعدد الطلبات المسموح بها في كل نافذة.
x-ratelimit-remaining-requestsعدد الطلبات المتبقية في النافذة الحالية.
x-ratelimit-reset-requestsعدد الثواني المتبقية حتى تبدأ نافذة جديدة.
retry-afterلا تظهر إلا مع 429 برمز الخطأ rate_limited ومع 503 برمز الخطأ service_unavailable. عدد الثواني التي ينبغي انتظارها قبل الطلب التالي. ولا يحملها pending_files_limit (وهو أيضًا 429).

لا تحمل هذه الترويسات الطلبات المرفوضة بسبب مفتاح مفقود أو غير صالح (401).

async function call(url, init) {  for (let attempt = 0; attempt < 5; attempt++) {    const response = await fetch(url, init);    if (response.status !== 429) return response;    const wait = Number(response.headers.get("retry-after")) || 1;    await new Promise((resolve) => setTimeout(resolve, wait * 1000));  }  throw new Error("Rate limited");}

وزّع ذروات الطلبات على الزمن، وفضّل Webhooks على حلقات الاستعلام المتكرر الكثيفة، واستخدم Prefer: wait في التحليلات بدلًا من الاستعلام المتكرر. وعندما تكون السعة المتاحة مستخدمة بالكامل، يعيد POST /analyses الاستجابة 503 service_unavailable مع retry-after؛ راجع عندما تكون السعة المتاحة مستخدمة بالكامل.

ترويسات الاستجابة الأخرى

الترويسةأين تظهرالمعنى
x-request-idكل استجابةمعرّف الطلب، وهو موجود أيضًا في محتوى استجابات الأخطاء.
cache-control: no-storeكل استجابةلا تُخزَّن استجابات API مؤقتًا أبدًا.
preference-appliedPOST /analyseswait=N عند الأخذ بترويسة Prefer التي أرسلتها.
idempotent-replayedنقاط نهاية POSTtrue عندما تكون الاستجابة نسخة محفوظة معاد إرسالها. راجع Idempotency.
x-evidence-includedGET /analyses/{id}/report.pdffalse عندما تكون أدلة المستند قد انتهت صلاحيتها ولا يتضمنها ملف PDF.

الترويسات التي ترسلها

  • Authorization: Bearer <key>: مطلوبة. راجع المصادقة والمفاتيح.
  • Content-Type: application/json لطلبات JSON؛ وmultipart/form-data لعمليات الرفع عبر POST /files.
  • Idempotency-Key: اختيارية، في طلبات POST.
  • Prefer: wait=N: اختيارية، في POST /analyses.

مثال: يعرض curl -i https://api.fileverity.com/v1/models -H "Authorization: Bearer $FILEVERITY_API_KEY" جميع ترويسات الاستجابة.