نتائج الطلبات

يتم تصنيف كل request إلى API الخاص بـ FourA ضمن نتيجة واحدة بالضبط. يتم حساب النتيجة مرة واحدة في وقت الـ request وتسجيلها مقابل API key الخاص بك. تقرأ لوحة التحكم (dashboard) وموجز النشاط (activity feed) والفوترة الحقل نفسه.

الـ success فقط هو القابل للفوترة.

النتائج السبع

Outcome Layer المعنى
success لا ينطبق تم تسليم response صالح. يُحتسب ضمن حصتك القابلة للفوترة.
application_error target أرجع الـ target رمز HTTP 200، ولكن الـ body احتوى على حقل خطأ.
application_fail target أرجع الـ target رمزًا غير 2xx لم تقبله قواعد validate الخاصة بك، أو لم يرجع أي response على الإطلاق.
client_error caller تم رفض الـ request الخاص بك قبل مغادرته FourA. معلمات خاطئة، أو قيمة proxy غير صالحة، أو URL محمي ضد SSRF.
rate_limit FourA تم تجاوز حد الـ RPM أو الحد الأقصى للعمليات المتزامنة (concurrency cap).
service_error FourA أرجعت الخلفية (backend) رمز 5xx، أو لم يكن الـ body الخاص بها بتنسيق JSON صالح.
service_fail FourA فشل في الشبكة: انتهاء المهلة (timeout)، رفض الاتصال، خطأ DNS، انقطاع اتصال العميل.

يوضح لك عمود الطبقة (layer) الجهة المسؤولة:

  • نتائج target تتعلق بالموقع الذي طلبته. وصل الـ request الخاص بك إلى FourA بنجاح، ووصلت FourA إلى الـ target بنجاح. لكن الـ target نفسه أرجع خطأً.
  • نتائج caller تعني أن الـ request الخاص بك لم تكن لديه فرصة للبدء من الأساس. يرجى تصحيح بنية الـ request.
  • نتائج FourA تقع على عاتقنا. أعد المحاولة، وتحقق من صفحة الحالة إذا استمرت المشكلة.

إرجاع موقع الـ target لرمز 403 يعتبر application_fail وليس client_error. لقد كان اتصالك سليم البنية، لكن الموقع رفض الطلب فحسب.

الـ Success يتأثر بـ validate

بدون validate، يحدد الـ API الـ request كـ success فقط عندما يرجع الـ target رمز HTTP 200.

مع validate، يتبع النجاح القواعد التي حددتها. إذا أخبرت الـ API أن كلا الرمزين 200 و 403 مقبولان لـ request معين، فستعود استجابة 403 كـ success. وسيظل الـ body يصلك دون تغيير.

curl -X POST https://eu.api.foura.ai/api/single/ \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "method": "GET",
    "url": "https://target.example/feed",
    "validate": {
      "status": { "accept": [200, 403] }
    }
  }'

في هذا الاتصال، تُحتسب استجابة 403 كـ success وتتم فوترتها كـ request واحد. بينما تُحتسب استجابة 500 كـ application_fail ولا تتم فوترتها.

ينطبق المنطق نفسه على validate.headers و validate.data. أي response يقبله المحرك بناءً على قواعدك يعود كـ success بغض النظر عن حالة HTTP.

تأثيرات الفوترة

Outcome قابل للفوترة يُحتسب ضمن الحصة
success نعم نعم
application_error لا لا
application_fail لا لا
client_error لا لا
rate_limit لا لا
service_error لا لا
service_fail لا لا

تتم فوترة الـ requests التي قامت بتسليم البيانات التي طلبتها فقط. أما حالات الفشل من جانب FourA، أو جانب الـ target، أو من جانبك أنت، فكلها مجانية.

قراءة النتائج في لوحة التحكم (Dashboard)

يظهر كل request يقوم به الـ API key الخاص بك في موجز النشاط (Activity) مع تسمية النتيجة الخاصة به. وتجمع صفحتا المقاييس (Metrics) ونظرة عامة (Overview) الحقل نفسه للمخططات الدائرية والمخططات الزمنية.

عند تصفية النشاط (Activity) حسب النتيجة، يمكنك أيضًا التركيز على منتج واحد (Single أو Proxy أو Browser) لمعرفة ما إذا كانت فئة معينة من الفشل تقتصر على endpoint واحد.

قواعد إعادة المحاولة

Outcome هل إعادة المحاولة آمنة؟ متى
success لا ينطبق لديك الـ response بالفعل.
application_error أحيانًا اقرأ الـ error body الخاص بالـ target. بعضها مؤقت، ومعظمها ليس كذلك.
application_fail أحيانًا إذا كان الـ target يفرض عليك حدًا لمعدل الطلبات (rate-limiting)، فقم بإبطاء الطلبات. وإذا كان يحظرك، فقم بالتحويل إلى الـ endpoint الخاص بـ Proxy أو Browser.
client_error لا سيفشل الـ request مرة أخرى بالطريقة نفسها. قم بتصحيح المدخلات.
rate_limit نعم التزم بـ retryAfter الوارد في الـ response body.
service_error نعم تراجع أسي قصير (exponential backoff).
service_fail نعم نفس الإجراء لـ service_error.

موضوعات ذات صلة

آخر تحديث: 18 يونيو 2026