Переход с Arkose FunCAPTCHA на CaptchaLa
Избавьтесь от веса SDK, завершите корпоративный контракт, сохраните адаптивную защиту от ботов. Миграция — это одна замена скрипта и одна смена эндпоинта проверки.
Как выглядит изменение кода
<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' })Шаги миграции
- 1
Зарегистрируйтесь и получите App Key + Secret
Создайте бесплатный аккаунт CaptchaLa. В отличие от Arkose, нет ни PoC, ни закупок — цены опубликованы и доступны самостоятельно. Бесплатный тариф покрывает начальное тестирование.
- 2
Удалите SDK Arkose и обвязку колбэков
Удалите тег скрипта Arkose, функцию-колбэк и скрытый input, который вы заполняете из колбэка. CaptchaLa использует простой плейсхолдер div — без обвязки колбэков.
- 3
Добавьте виджет CaptchaLa
Вставьте наш div и тег script туда, где был виджет Arkose. Скрытое поле токена заполняется автоматически как captchala-token; вам не нужно управлять им вручную.
- 4
Обновите серверную проверку
Замените проверку session_details.solved от Arkose нашим флагом valid (data.valid). Эндпоинт меняется на apiv1.captcha.la/v1/validate. Тело становится JSON вместо form-urlencoded.
- 5
Спланируйте завершение контракта
Контракты Arkose обычно годовые с автопродлением. Отметьте окно отмены в своём контракте и уведомите юридический отдел/закупки. Большинство команд во время сворачивания держат обе системы параллельно 30 дней.
Частые вопросы
Потеряю ли я точность обнаружения ботов при переходе?
Для большинства нагрузок — без заметной разницы. По умолчанию проверки Arkose намеренно сложнее наших, но популяция ботов, которую ловят они, и популяция, которую ловим мы, сильно пересекаются для типичного продуктового трафика. Если вы на масштабе Roblox / Microsoft с известными противниками, ответ сложнее — сначала поговорите с нами.
Как справиться с наложением контрактов?
Запускайте обе системы параллельно во время сворачивания. Форма A остаётся на Arkose; форма B переходит на CaptchaLa. Сравните конверсию + долю ботов. Большинство команд видят, что доля ботов остаётся неизменной, а доля трения для пользователей падает. Затем выводите Arkose из эксплуатации при продлении контракта.
А что с телеметрией риска / дашбордами аналитики Arkose?
У CaptchaLa есть собственный дашборд с сопоставимой телеметрией — частота проверок, доля успеха, распределение оценок риска, разбивка по гео. Вид будет привычным, если вы переходите с Arkose Insights.