Migre do Arkose FunCAPTCHA para o CaptchaLa
Elimine o peso do SDK, encerre o contrato enterprise e mantenha a defesa adaptativa contra bots. A migração é uma troca de script e uma mudança de endpoint de verificação.
Como fica a mudança 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' })Passos da migração
- 1
Cadastre-se e pegue sua App Key + Secret
Crie uma conta gratuita no CaptchaLa. Ao contrário do Arkose, não há PoC nem processo de compras — o preço é publicado e self-service. O plano gratuito cobre os testes iniciais.
- 2
Remova o SDK do Arkose e o wiring de callback
Apague a tag de script do Arkose, a função de callback e o input oculto que você popula a partir do callback. O CaptchaLa usa um simples placeholder div — sem wiring de callback.
- 3
Adicione o widget do CaptchaLa
Coloque nossa div e tag de script onde estava o widget do Arkose. O campo oculto de token é populado automaticamente como captchala-token; você não o gerencia manualmente.
- 4
Atualize a verificação no servidor
Substitua a verificação session_details.solved do Arkose pela nossa flag valid (data.valid). O endpoint muda para apiv1.captcha.la/v1/validate. O corpo passa a ser JSON em vez de form-urlencoded.
- 5
Planeje o encerramento do contrato
Contratos do Arkose costumam ser anuais com renovação automática. Anote a janela de cancelamento no seu contrato e avise jurídico/compras. A maioria das equipes roda os dois por 30 dias em paralelo durante o encerramento.
Perguntas frequentes
Vou perder precisão na detecção de bots ao trocar?
Para a maioria das cargas de trabalho, sem diferença mensurável. Os desafios do Arkose são intencionalmente mais difíceis que os nossos por padrão, mas a população de bots que eles capturam e a que nós capturamos se sobrepõem fortemente no tráfego típico de produtos. Se você está na escala da Roblox / Microsoft com adversários nomeados, a resposta é mais sutil — fale conosco primeiro.
Como lido com a sobreposição de contratos?
Rode os dois lado a lado durante o encerramento. O Formulário A mantém o Arkose; o Formulário B muda para o CaptchaLa. Compare conversão + taxa de bots. A maioria das equipes descobre que a taxa de bots permanece estável e a taxa de fricção do usuário cai. Depois descomissione o Arkose na renovação do contrato.
E a telemetria de risco / dashboards de analytics do Arkose?
O CaptchaLa tem seu próprio dashboard com telemetria comparável — taxa de desafio, taxa de sucesso, distribuição de score de risco, breakdown geográfico. O formato é familiar se você vem do Arkose Insights.