Skip to main content
التوثيق
مركز التعلّم

أتقن إشراف المحتوى عبر أدلة شاملة، وشروحات عملية، ووثائق API

روابط سريعة

طلبات الفحص المتعددة المدمجة

لستَ بحاجة إلى استدعاء 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);

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

كتبه فريق Discuse · آخر تحديث June 2026

مقالات ذات صلة

تحليل النص واكتشاف المشاعر

اكتشف الرسائل المزعجة والسمّية والألفاظ النابية، وحلّل المشاعر في المحتوى النصي

اكتشاف NSFW في الصور

اكتشف الصور غير الملائمة ومحتوى البالغين وقم بتصفيتها تلقائيًا

اكتشاف الرسائل المزعجة

تصفية الرسائل المزعجة في النصوص والرسائل باستخدام AI