Skip to main content
Documentación
CENTRO DE APRENDIZAJE

Domina la moderación de contenido con guías completas, tutoriales y documentación de API

Enlaces rápidos

Solicitudes combinadas con varias comprobaciones

No necesitas una llamada a la API por cada comprobación. Un solo POST /api/v2/check puede ejecutar comprobaciones de texto, imagen, palabras prohibidas y antivirus juntas sobre contenido mixto, y devolver una única respuesta con un resultado para cada una. Esta es la forma más eficiente de moderar de una vez una publicación que tiene un pie de foto, una imagen y un archivo adjunto.

¿Por qué moderar todo en una sola llamada?

El envío de un usuario suele ser un conjunto: texto más contenido multimedia más enlaces. Llamar a la API por separado para cada parte implica más viajes de ida y vuelta, más latencia y más cuota consumida. Una solicitud combinada ejecuta las comprobaciones habilitadas en paralelo y te da un único veredicto sobre el que actuar.

¿Cómo ejecuto varias comprobaciones a la vez?

Incluye cada tipo de contenido en content, habilita las comprobaciones que quieras en settings y lee los resultados de cada comprobación. Cada comprobación habilitada se ejecuta sobre el contenido correspondiente.

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

Respuesta

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

¿Cómo interpreto el resultado combinado?

Usa has_violations para la decisión general y luego revisa cada results.<check>.hit para ver qué comprobación se activó y por qué:

Campo Significado
has_violations True si alguna comprobación habilitada marcó el contenido: tu veredicto en una sola línea
results.hits La misma señal general dentro del objeto de resultados
results.spamfinder.hit Se activó spam (tiene en cuenta el umbral; decide con hit, no con el valor bruto de is_spam)
results.sentiment.hit Sentimiento tóxico/negativo por encima de tus umbrales
results.images.hit Una imagen superó tu umbral de NSFW
results.antivirus.hit Se encontró malware en un documento
results.badwords.hit Coincidió una palabra prohibida configurada
results.skipped_features Comprobaciones que se solicitaron pero no se ejecutaron (por ejemplo, una función cuya cuota está agotada)

Solo las comprobaciones que habilitaste (y que tenían contenido correspondiente) aparecen en results. Una comprobación sin contenido sobre el que actuar — check_images sin image_urls — simplemente no se ejecuta.

¿Qué contenido corresponde a cada comprobación?

Comprobación Contenido que lee
check_sentiment, check_spam, check_badwords, check_language content.text
check_images content.image_urls
check_antivirus content.document_urls

Una sola solicitud puede incluir hasta 10 URL de imágenes, 5 URL de documentos y texto de hasta 10.000 caracteres. Envía juntas las partes de un envío en lugar de dividirlas en varias llamadas.

¿Qué ocurre con los fallos parciales?

Si una comprobación da error (por ejemplo, una URL de imagen no es accesible), las demás igualmente devuelven resultado: recibes los resultados que se completaron correctamente, y la comprobación fallida informa de su error o de un resultado vacío en lugar de hacer fallar toda la solicitud. Decide por comprobación: bloquea ante un hit confirmado y elige si una comprobación con error debe permitirse o enviarse a revisión.

Buenas prácticas

Habilita solo lo que necesites

Cada comprobación habilitada añade trabajo. Activa las comprobaciones que coincidan con el contenido que realmente recibes: no tiene sentido ejecutar check_antivirus en mensajes que solo contienen texto.

Un veredicto y luego profundiza

Primero bifurca según has_violations para la ruta rápida; después inspecciona results solo cuando necesites saber qué comprobación se activó (para registros, apelaciones o para dirigirlo al revisor adecuado).

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

Relacionado

Escrito por Equipo de Discuse · Última actualización June 2026

Artículos relacionados

Análisis de texto y detección de sentimiento

Detecta spam, toxicidad, lenguaje soez y analiza el sentimiento en contenido de texto

Detección de NSFW en imágenes

Detecta y filtra automáticamente imágenes inapropiadas y contenido para adultos

Detección de spam

Filtrado de spam con AI para texto y mensajes