Integración con JavaScript
Integre SilentShield en cualquier sitio web usando JavaScript puro, o utilice nuestras guías específicas para React, Vue y Angular.
1. Agregue la Etiqueta Script
Agregue esta etiqueta script a su HTML, idealmente antes de la etiqueta de cierre </body>:
HTMLhtml
<script src="https://api.silentshield.io/client.js?key=YOUR_API_KEY" defer></script>2. Inicialice el Widget
Llame a SilentShield.init() después de que el DOM se haya cargado:
JavaScriptjavascript
document.addEventListener('DOMContentLoaded', function() {
SilentShield.init({
apiKey: 'YOUR_API_KEY',
lang: 'auto',
features: {
telemetry: true,
captchaUI: true,
fallbackCaptcha: true,
showBrandingBadge: true,
},
onVerdict: function(response) {
console.log('SilentShield verdict:', response);
}
});
});Opciones de Configuración
apiKey- API Key (requerida)
lang- Código de idioma o 'auto' para detección del navegador (predeterminado: 'auto'). Soporta 25 idiomas.
thresholdSuspicious- Una puntuación por debajo de este valor activa un desafío (predeterminado: 0.6)
thresholdBlock- Una puntuación por debajo de este valor bloquea la solicitud (predeterminado: 0.3)
telemetry- Habilitar seguimiento de comportamiento (predeterminado: true)
captchaUI- Mostrar interfaz de CAPTCHA cuando sea necesario (predeterminado: true)
fallbackCaptcha- Habilitar CAPTCHA matemático como respaldo (predeterminado: true)
showBrandingBadge- Mostrar insignia 'Protegido por SilentShield' (predeterminado: true)
zeroPii- Disable browser fingerprinting for maximum privacy (default: false). See Features → Zero-PII Mode.
debugOverlay- Mostrar superposición de depuración (predeterminado: false)
onVerdict- Función de callback que se ejecuta cuando se recibe un veredicto
Aplicaciones de Página Única (SPA)
Para SPA que usan enrutamiento del lado del cliente (React Router, Vue Router, etc.), SilentShield observa automáticamente los cambios en el DOM y detecta nuevos formularios. No es necesario reinicializar después de la navegación.
Lectura del Nonce
Después del envío del formulario, el Nonce está disponible como un campo oculto:
HTMLhtml
const nonce = document.querySelector('input[name="ss_nonce"]')?.value;