Migra de Arkose FunCAPTCHA a CaptchaLa
Quita el peso del SDK, termina con el contrato enterprise y conserva la defensa adaptativa contra bots. La migración es un cambio de script y un cambio de endpoint de verificación.
Cómo es el cambio de código
<script src="https://YOUR_PUBLIC_KEY.arkoselabs.com/v2/YOUR_PUBLIC_KEY/api.js" data-callback="onSuccess" async defer></script>
<script>
function onSuccess(token) {
document.getElementById('arkose-token').value = token
}
</script>
<input type="hidden" id="arkose-token" name="arkose-token" /><button id="login-btn">Sign in</button>
<script src="https://cdn.captcha-cdn.net/captchala-loader.js"></script>
<script>
loadCaptchala(() => Captchala.init({ appKey: 'YOUR_APP_KEY', action: 'login' })
.onSuccess(res => onToken(res.token))
.bindTo('#login-btn'));
</script>const res = await fetch('https://verify-api.arkoselabs.com/api/v4/verify/', {
method: 'POST',
headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
body: new URLSearchParams({
private_key: process.env.ARKOSE_PRIVATE_KEY,
session_token: req.body['arkose-token'],
}),
})
const data = await res.json()
if (data.session_details?.solved !== true) return res.status(400).json({ error: 'bot' })const res = await fetch('https://apiv1.captcha.la/v1/validate', {
method: 'POST',
headers: {
'X-App-Key': process.env.CAPTCHALA_APP_KEY,
'X-App-Secret': process.env.CAPTCHALA_APP_SECRET,
'Content-Type': 'application/json',
},
body: JSON.stringify({ pass_token: req.body['captchala-token'] }),
})
const { data } = await res.json()
if (!data || !data.valid) return res.status(400).json({ error: 'bot' })Pasos de migración
- 1
Regístrate y obtén tu App Key + Secret
Crea una cuenta gratuita en CaptchaLa. A diferencia de Arkose, no hay PoC ni compras — el precio es público y autogestionado. El plan gratuito cubre las pruebas iniciales.
- 2
Elimina el SDK de Arkose y el cableado del callback
Borra la etiqueta script de Arkose, la función callback y el input oculto que rellenas desde el callback. CaptchaLa usa un simple div marcador — sin cableado de callback.
- 3
Añade el widget de CaptchaLa
Coloca nuestro div y etiqueta script donde estaba el widget de Arkose. El campo de token oculto se rellena automáticamente como captchala-token; no lo gestionas manualmente.
- 4
Actualiza la verificación del servidor
Reemplaza la comprobación session_details.solved de Arkose por nuestro flag valid (data.valid). El endpoint cambia a apiv1.captcha.la/v1/validate. El cuerpo pasa a ser JSON en lugar de form-urlencoded.
- 5
Planifica el cierre del contrato
Los contratos de Arkose suelen ser anuales con renovación automática. Anota la ventana de cancelación en tu contrato y avisa a legal/compras. La mayoría de los equipos ejecutan ambos durante 30 días en paralelo durante el cierre.
Preguntas frecuentes
¿Perderé precisión en la detección de bots al cambiar?
Para la mayoría de las cargas de trabajo, no hay diferencia medible. Los desafíos de Arkose son intencionadamente más difíciles que los nuestros por defecto, pero la población de bots que ellos atrapan y la que atrapamos nosotros se solapan mucho en el tráfico de producto típico. Si estás a escala de Roblox / Microsoft con adversarios concretos, la respuesta es más matizada — háblanos primero.
¿Cómo gestiono el solapamiento de contratos?
Ejecuta ambos en paralelo durante el cierre. El Formulario A mantiene Arkose; el Formulario B cambia a CaptchaLa. Compara conversión + tasa de bots. La mayoría de los equipos descubren que la tasa de bots se mantiene estable y la fricción para el usuario baja. Luego retira Arkose en la renovación del contrato.
¿Y la telemetría de riesgo / paneles de analítica de Arkose?
CaptchaLa tiene su propio panel con telemetría comparable — tasa de desafíos, tasa de éxito, distribución de la puntuación de riesgo, desglose geográfico. La forma resulta familiar si vienes de Arkose Insights.