Guia de migração

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.

AArkose / FunCAPTCHACurrent setup~10 minCaptchaLaDrop-in target

Como fica a mudança de código

Antes — Arkose / FunCAPTCHA
<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" />
Depois — CaptchaLa
<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>
Antes — verificação no servidor do Arkose (Node)
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' })
Depois — verificação no servidor do CaptchaLa (Node)
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. 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. 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. 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. 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. 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.