Referencia del veredicto
Cada veredicto de Prevención de fraude — ya se entregue a tu callback onVerdict en el Web SDK o se extraiga de la API de datos — es el mismo objeto BotVerdict. Esta página documenta cada campo y cómo actuar sobre él.
{
"is_bot": false,
"score": 18,
"level": "low",
"action": "record_only",
"consistency": { "ok": true },
"degraded": false
}Campos
| Campo | Tipo | Descripción |
|---|---|---|
is_bot | boolean | El veredicto principal. true = la visita se juzga como tráfico automatizado o inválido; false = parece una persona real. Es el campo sobre el que ramifican la mayoría de las integraciones. |
score | number (0–100) | Cuán sospechosa es la visita. Más alto significa más sospechoso. Úsalo para definir tus propios umbrales — p. ej. excluir visitas por encima de un corte que elijas. El valor exacto lo produce nuestro modelo de riesgo y no está pensado para someterse a ingeniería inversa. |
level | enum | Banda aproximada de score: low, medium, high, critical. Conveniente cuando prefieres categorías en lugar de un número en bruto. |
action | enum | Nuestro manejo recomendado para la visita: record_only, challenge o flag. Ver más abajo. |
consistency | object | Una conclusión de consistencia entre señales. Lee consistency.ok (boolean): true = las señales de la visita encajan como se espera; false = algo no cuadró y la visita merece un escrutinio adicional. El desglose interno tras esta conclusión no se expone. |
degraded | boolean | true cuando el veredicto no pudo computarse por completo (servicio inalcanzable, error, etc.) y se devolvió un valor de reserva conservador. Trata los veredictos degradados como "desconocidos", no como "limpios". |
action — qué hacer
action es nuestra recomendación; tú conservas el control de la decisión final.
action | Significado | Qué hacer |
|---|---|---|
record_only | La visita parece normal. | Procede como de costumbre. Solo registra el veredicto para informes y conciliación. |
flag | La visita es sospechosa pero no concluyentemente mala. | Sigue sirviendo la página, pero marca la visita como de baja calidad — exclúyela de tus métricas, sepárala de los flujos posteriores y pondérala en tus propias decisiones (p. ej. atribución de conversiones o cuánto confías en la visita). |
challenge | La visita es de alto riesgo. | Pide una verificación adicional antes de tratar al visitante como humano. Con escalate: true del Web SDK esto se gestiona por ti (consulta Escalado); de lo contrario, aplica tu propio filtro. |
Acción de manejo configurable
Lo que action reporta para una visita de alto riesgo es configuración por aplicación, definida en el panel bajo los detalles de tu aplicación. El veredicto es autoritativo en el servidor: action solo pasa a ser challenge o flag cuando la visita alcanza la banda de alto riesgo y tu aplicación está configurada con la acción correspondiente. Por debajo de esa banda el veredicto permanece como record_only.
| Ajuste | action devuelto en alto riesgo | Significado |
|---|---|---|
record_only (por defecto) | record_only | Solo registrar. El veredicto se registra para informes y conciliación; no se le pide nada al visitante. |
challenge | challenge | Dispara un CAPTCHA de reverificación. El Web SDK muestra un challenge (el estilo lo controla el challengeConfig del SDK). |
flag | flag | Marca la visita. El veredicto lleva flag; tu integración decide cómo actuar sobre él (bloquear / segmentar / gestionar). |
Como la decisión se toma del lado del servidor, tu código permanece simple: lee verdict.action en onVerdict y actúa sobre él — procede, bloquea o deja que el SDK muestre un challenge. No necesitas volver a derivar el riesgo por tu cuenta.
level vs score
level es solo una agrupación de score en bandas, provista por conveniencia:
level | Úsalo cuando |
|---|---|
low | Trátalo como tráfico limpio. |
medium | En el límite — está bien registrarlo, considera excluirlo de embudos de alto valor. |
high | Fuertemente sospechoso — márcalo y exclúyelo. |
critical | Casi con certeza inválido — márcalo/exclúyelo e, idealmente, escálalo. |
Elige el campo que encaje con tu pipeline
- Filtro simple sí/no → ramifica sobre
is_bot. - Guiado por recomendación → ramifica sobre
action. - Umbrales personalizados → ramifica sobre
score(olevelpara categorías).
Manejo de veredictos degradados
Cuando degraded es true, el veredicto no se computó por completo. El valor de reserva es deliberadamente conservador (is_bot: false, action: record_only) para que los usuarios reales nunca se bloqueen. Para informes, trátalos como desconocidos en lugar de contarlos como tráfico confirmado-limpio.
Próximos pasos
- Web SDK — recibe veredictos en tu página
- API de datos — extrae veredictos y estadísticas del lado del servidor