نتائج الطلبات
يتم تصنيف كل طلب إلى FourA API في نتيجة واحدة بالضبط. يتم حساب النتيجة مرة واحدة وقت الطلب وتسجيلها مقابل مفتاح API الخاص بك. تقرأ لوحة التحكم، وسجل النشاط، والفوترة نفس الحقل.
فقط success قابلة للفوترة.
النتائج السبع
| النتيجة | الطبقة | المعنى |
|---|---|---|
success |
غير متوفر | تم تسليم استجابة صالحة. تحسب ضمن حصتك القابلة للفوترة. |
application_error |
الهدف | أرجع الهدف HTTP 200، لكن النص تضمن حقل خطأ. |
application_fail |
الهدف | أرجع الهدف حالة غير 2xx لم تقبلها قواعد validate الخاصة بك، أو لم يرجع أي استجابة على الإطلاق. |
client_error |
المتصل | تم رفض طلبك قبل أن يغادر FourA. معلمات غير صالحة، أو قيمة proxy تالفة، أو URL محمي بـ SSRF. |
rate_limit |
FourA | تم الوصول إلى الحد الأقصى للطلبات في الدقيقة (RPM) أو التزامن. |
service_error |
FourA | أرجعت الواجهة الخلفية 5xx، أو أن نصها لم يكن JSON صالحا. |
service_fail |
FourA | فشل في الشبكة: انتهاء المهلة، رفض الاتصال، خطأ DNS، انقطاع اتصال العميل. |
يخبرك عمود الطبقة بالجهة المسؤولة:
- نتائج الهدف تتعلق بالموقع الذي اتصلت به. وصل طلبك إلى FourA بنجاح، ووصل FourA إلى الهدف بنجاح. أرجع الهدف نفسه خطأ.
- نتائج المتصل تعني أن طلبك لم يحظ بأي فرصة. قم بإصلاح شكل الطلب.
- نتائج FourA تقع على عاتقنا. أعد المحاولة، وتحقق من صفحة الحالة إذا استمرت.
إن إرجاع الموقع الهدف لـ 403 يعد application_fail، وليس client_error. كان طلبك مصاغا بشكل جيد. الموقع ببساطة رفض ذلك.
النجاح يدرك validate
بدون validate، تحدد API الطلب كـ success فقط عندما يرجع الهدف HTTP 200.
باستخدام validate، يتبع النجاح القواعد التي أعلنتها. إذا أخبرت API أن كلا من 200 و 403 مقبولان لطلب معين، فإن 403 يعود كـ success. لا يزال النص يصلك دون تغيير.
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 وتتم فوترتها كطلب واحد. تحسب استجابة 500 كـ application_fail ولا تتم فوترتها.
ينطبق نفس المنطق على validate.headers و validate.data. أي استجابة يقبلها المحرك وفقا لقواعدك تعود كـ success بغض النظر عن حالة HTTP.
تأثيرات الفوترة
| النتيجة | قابلة للفوترة | تحسب ضمن الحصة |
|---|---|---|
success |
نعم | نعم |
application_error |
لا | لا |
application_fail |
لا | لا |
client_error |
لا | لا |
rate_limit |
لا | لا |
service_error |
لا | لا |
service_fail |
لا | لا |
تتم فوترة الطلبات التي قدمت البيانات التي طلبتها فقط. الإخفاقات من جانب FourA، أو جانب الهدف، أو جانبك كلها مجانية.
قراءة النتائج في لوحة التحكم
يظهر كل طلب يجريه مفتاح API الخاص بك في موجز النشاط مع تسمية النتيجة الخاصة به. تقوم صفحتا المقاييس و نظرة عامة بتجميع نفس الحقل للمخططات الدائرية والمخططات الزمنية.
عند تصفية النشاط حسب النتيجة، يمكنك أيضا التركيز على منتج واحد (Single، أو Proxy، أو Browser) لمعرفة ما إذا كانت فئة الفشل مقتصرة على endpoint واحدة.
استدلالات إعادة المحاولة
سياسة إعادة المحاولة في المرحلة الأولى تستند إلى النتائج:
| النتيجة | آمنة لإعادة المحاولة؟ | متى |
|---|---|---|
success |
غير متوفر | لديك الاستجابة. |
application_error |
أحيانا | اقرأ نص خطأ الهدف. بعضها مؤقت، ومعظمها ليس كذلك. |
application_fail |
أحيانا | إذا كان الهدف يطبق rate limit عليك، أبطئ. إذا كان يحظرك، قم بالتبديل إلى Proxy أو Browser endpoint. |
client_error |
لا | سيفشل الطلب مرة أخرى بنفس الطريقة. قم بإصلاح الإدخال. |
rate_limit |
نعم | احترم retryAfter من نص الاستجابة. |
service_error |
نعم | تراجع أسي قصير. |
service_fail |
نعم | نفس service_error. |
ذات صلة
- أخطاء API: استجابات الأخطاء على مستوى HTTP
- حدود المعدل: ما الذي يحفز
rate_limit - المقاييس: أين ترى تفاصيل النتائج
- سجل النشاط: سجل النتائج لكل طلب