Skip to main content
Dokumentasi
Pusat Pembelajaran

Kuasai moderasi konten dengan panduan lengkap, tutorial, dan dokumentasi API

Tautan Cepat

Permintaan Multi-Pemeriksaan Gabungan

Anda tidak memerlukan satu panggilan API untuk setiap pemeriksaan. Satu POST /api/v2/check dapat menjalankan pemeriksaan teks, gambar, badword, dan antivirus sekaligus pada konten campuran, lalu mengembalikan satu respons berisi hasil untuk masing-masing pemeriksaan. Ini adalah cara paling efisien untuk memoderasi postingan yang memiliki caption, gambar, dan lampiran sekaligus.

Mengapa memoderasi semuanya dalam satu panggilan?

Kiriman pengguna biasanya berupa satu paket: teks ditambah media dan tautan. Memanggil API secara terpisah untuk setiap bagian berarti lebih banyak bolak-balik, latensi lebih tinggi, dan kuota lebih banyak terpakai. Satu permintaan gabungan menjalankan pemeriksaan yang diaktifkan secara paralel dan memberi Anda satu keputusan yang bisa langsung ditindaklanjuti.

Bagaimana cara menjalankan beberapa pemeriksaan sekaligus?

Masukkan setiap jenis konten ke dalam content, aktifkan pemeriksaan yang Anda inginkan di settings, lalu baca hasil per pemeriksaan. Setiap pemeriksaan yang diaktifkan akan berjalan pada konten yang sesuai.

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
    }
  }'

Respons

{
  "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
  }
}

Bagaimana cara membaca hasil gabungan?

Gunakan has_violations untuk keputusan keseluruhan, lalu lihat setiap results.<check>.hit untuk mengetahui pemeriksaan mana yang terpicu dan alasannya:

Kolom Arti
has_violations True jika pemeriksaan yang diaktifkan menandai konten — keputusan satu baris Anda
results.hits Sinyal keseluruhan yang sama di dalam objek hasil
results.spamfinder.hit Spam terpicu (memperhitungkan ambang batas; gunakan hit sebagai penentu, bukan is_spam mentah)
results.sentiment.hit Sentimen toksik/negatif melewati ambang batas Anda
results.images.hit Sebuah gambar melewati ambang batas NSFW Anda
results.antivirus.hit Malware ditemukan dalam dokumen
results.badwords.hit Badword yang dikonfigurasi cocok
results.skipped_features Pemeriksaan yang diminta tetapi tidak dijalankan (misalnya fitur yang kuotanya habis)

Hanya pemeriksaan yang Anda aktifkan (dan yang memiliki konten yang sesuai) yang muncul di results. Pemeriksaan tanpa konten untuk diproses — check_images tanpa image_urls — tidak akan dijalankan.

Konten mana yang dipasangkan dengan pemeriksaan mana?

Pemeriksaan Konten yang dibaca
check_sentiment, check_spam, check_badwords, check_language content.text
check_images content.image_urls
check_antivirus content.document_urls

Satu permintaan dapat memuat hingga 10 URL gambar, 5 URL dokumen, dan teks hingga 10.000 karakter. Kirim bagian-bagian dari satu kiriman secara bersamaan, bukan memecahnya ke beberapa panggilan.

Bagaimana dengan kegagalan sebagian?

Jika satu pemeriksaan mengalami error (misalnya URL gambar tidak dapat dijangkau), pemeriksaan lainnya tetap mengembalikan hasil — Anda mendapatkan hasil yang berhasil, dan pemeriksaan yang gagal melaporkan error/hasil kosongnya alih-alih menggagalkan seluruh permintaan. Tentukan per pemeriksaan: blokir berdasarkan hit yang terkonfirmasi, dan pilih apakah pemeriksaan yang error harus dibiarkan lolos atau dimasukkan ke antrean peninjauan.

Praktik terbaik

Aktifkan hanya yang Anda butuhkan

Setiap pemeriksaan yang diaktifkan menambah pekerjaan. Nyalakan pemeriksaan yang sesuai dengan konten yang benar-benar Anda terima — tidak ada manfaat menjalankan check_antivirus pada pesan yang hanya berisi teks.

Satu keputusan, lalu telusuri lebih dalam

Cabangkan berdasarkan has_violations terlebih dahulu untuk jalur cepat, lalu periksa results hanya ketika Anda perlu mengetahui pemeriksaan mana yang terpicu (untuk logging, banding, atau mengarahkan ke peninjau yang tepat).

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);

Terkait

Ditulis oleh Tim Discuse · Terakhir diperbarui June 2026

Artikel Terkait

Analisis Teks dan Deteksi Sentimen

Deteksi spam, toksisitas, kata-kata kasar, dan analisis sentimen dalam konten teks

Deteksi NSFW pada Gambar

Deteksi dan filter gambar tidak pantas serta konten dewasa secara otomatis

Deteksi Spam

Pemfilteran spam berbasis AI untuk teks dan pesan