طلبات الفحص المتعددة المدمجة
لستَ بحاجة إلى استدعاء API منفصل لكل فحص. يمكن لاستدعاء واحد إلى POST /api/v2/check تشغيل فحوصات النصوص والصور والكلمات المحظورة ومكافحة الفيروسات معًا على محتوى مختلط، وإرجاع استجابة واحدة تتضمن نتيجة لكل فحص. هذه هي الطريقة الأكثر كفاءة لمراجعة منشور يحتوي على تسمية توضيحية وصورة ومرفق في وقت واحد.
لماذا تراجع كل شيء في استدعاء واحد؟
عادةً ما يكون إرسال المستخدم حزمة متكاملة: نص مع وسائط وروابط. استدعاء API بشكل منفصل لكل جزء يعني المزيد من الرحلات ذهابًا وإيابًا، وزمن استجابة أطول، واستهلاكًا أكبر للحصة. يشغّل الطلب المدمج الواحد الفحوصات المفعّلة بالتوازي ويمنحك حكمًا واحدًا يمكنك التصرف بناءً عليه.
كيف أشغّل عدة فحوصات دفعة واحدة؟
ضع كل نوع من المحتوى في content، وفعّل الفحوصات التي تريدها في settings، ثم اقرأ نتائج كل فحص على حدة. يعمل كل فحص مفعّل على المحتوى المطابق له.
curl -X POST https://api.discuse.com/api/v2/check \
-H "Content-Type: application/json" \
-H "X-API-Key: YOUR_API_KEY" \
-d '{
"content": {
"text": "Great deal, check my profile!",
"image_urls": ["https://example.com/post-image.jpg"],
"document_urls": ["https://example.com/attachment.pdf"]
},
"settings": {
"check_spam": true,
"check_sentiment": true,
"check_images": true,
"check_antivirus": true
}
}'
الاستجابة
{
"has_violations": true,
"cached": false,
"results": {
"hits": true,
"spamfinder": { "label": "spam", "confidence": 0.91, "is_spam": true, "hit": true },
"sentiment": { "is_negative": false, "is_toxic": false, "score": 0.1, "hit": false },
"images": { "status": "OK", "porn": 0.02, "sexual": 0.05, "neutral": 0.93, "hit": false },
"antivirus": { "status": "OK", "hit": false, "details": [] }
},
"usage": {
"api_requests_used": 530,
"api_requests_limit": 10000,
"api_requests_remaining": 9470
}
}
كيف أقرأ النتيجة المدمجة؟
استخدم has_violations لاتخاذ القرار العام، ثم انظر إلى كل results.<check>.hit لمعرفة أي فحص تم تشغيله ولماذا:
| الحقل | المعنى |
|---|---|
has_violations |
تكون True إذا وضع أي فحص مفعّل علامة على المحتوى — حكمك المختصر في سطر واحد |
results.hits |
الإشارة العامة نفسها داخل كائن النتائج |
results.spamfinder.hit |
تم تشغيل فحص الرسائل المزعجة (مع مراعاة العتبة؛ اعتمد على hit لا على is_spam الخام) |
results.sentiment.hit |
مشاعر سامة/سلبية تتجاوز عتباتك |
results.images.hit |
تجاوزت صورة عتبة NSFW التي حددتها |
results.antivirus.hit |
تم العثور على برمجية خبيثة في مستند |
results.badwords.hit |
تمت مطابقة كلمة محظورة مضبوطة |
results.skipped_features |
فحوصات طُلبت لكنها لم تُشغّل (مثل ميزة استُنفدت حصتها) |
لا تظهر في results إلا الفحوصات التي فعّلتها وكان لها محتوى مطابق. الفحص الذي لا يجد محتوى يعمل عليه — مثل check_images من دون image_urls — لا يتم تشغيله ببساطة.
أي محتوى يقترن بأي فحص؟
| الفحص | المحتوى الذي يقرأه |
|---|---|
check_sentiment, check_spam, check_badwords, check_language |
content.text |
check_images |
content.image_urls |
check_antivirus |
content.document_urls |
يمكن لطلب واحد أن يحمل ما يصل إلى 10 عناوين URL للصور، و5 عناوين URL للمستندات، ونصًا يصل إلى 10,000 حرف. أرسل أجزاء المشاركة معًا بدلًا من تقسيمها عبر عدة استدعاءات.
ماذا عن الإخفاقات الجزئية؟
إذا حدث خطأ في أحد الفحوصات (كأن يكون عنوان URL لصورة غير قابل للوصول)، فستظل الفحوصات الأخرى تُرجع نتائجها — ستحصل على النتائج التي نجحت، بينما يبلّغ الفحص الفاشل عن خطئه/نتيجته الفارغة بدلًا من إفشال الطلب بأكمله. قرر على مستوى كل فحص: احظر عند وجود hit مؤكد، واختر ما إذا كان الفحص الذي حدث فيه خطأ يجب أن يسمح بالمرور مؤقتًا أم يُضاف إلى قائمة المراجعة.
أفضل الممارسات
فعّل ما تحتاجه فقط
كل فحص مفعّل يضيف عملًا إضافيًا. شغّل الفحوصات التي تطابق المحتوى الذي تستقبله فعليًا — فلا فائدة من تشغيل check_antivirus على رسائل نصية فقط.
حكم واحد، ثم تعمّق عند الحاجة
ابدأ بالتفرع بناءً على has_violations للمسار السريع، ثم افحص results فقط عندما تحتاج إلى معرفة أي فحص تم تشغيله (لأغراض التسجيل، أو الاعتراضات، أو توجيه الحالة إلى المراجع المناسب).
const res = await check(content, settings);
if (!res.has_violations) return allow();
const r = res.results;
if (r.antivirus?.hit) return quarantine(); // most severe first
if (r.images?.hit) return blockMedia();
if (r.spamfinder?.hit || r.badwords?.hit) return shadowban();
return queueForReview(r);
موضوعات ذات صلة
- تحليل النصوص — المشاعر والرسائل المزعجة وحقول نتائج النص
- اكتشاف NSFW في الصور — تقييم الصور والعتبات
- فحص الملفات بمكافحة الفيروسات — فحوصات البرمجيات الخبيثة في المستندات
- رموز الأخطاء والاستجابة — غلاف الاستجابة والتعامل مع الحصص