После успешного свайпа widget отправляет событие slider-captcha:passed с токеном в event.detail.token. Проверьте токен через introspect (рекомендуется) или check:
Самодостаточный скрипт без jQuery и фреймворков. При загрузке показывает оверлей со слайдером. После успеха — событие slider-captcha:passed и сохранение токена в localStorage.
Как это работает
1. Пользователь открывает страницу → widget запрашивает challenge. 2. Тянет слайдер → verify на сервере. 3. При успехе — токен в window.__sliderCaptcha и событие для вашего JS/аналитики.
Событие для интеграции
window.addEventListener('slider-captcha:passed', function (e) {
console.log('token', e.detail.token);
// передайте токен на сервер или разблокируйте форму
});
Интеграция с формой
Для заявок, обратной связи и регистрации удобнее показывать капчу при отправке формы, а не при загрузке всей страницы. В кабинете: сайт → настройки → «Только при отправке формы (form-gate)».
Шаг 1: Виджет с режимом form-gate
Вставьте перед </body>. Атрибуты data-trigger="form" и data-form-selector подставляются автоматически, если вы настроили это в личном кабинете.
data-mode="soft" рекомендуется для страниц с формами — не блокирует всю страницу до свайпа. data-form-selector необязателен: без него защищаются все <form> на странице.
Шаг 2: Скрытое поле в форме
Токен не попадает в POST автоматически — добавьте скрытое поле и заполните его после свайпа.
<script>
window.addEventListener('slider-captcha:passed', function (e) {
var field = document.getElementById('captcha_token');
if (field) field.value = e.detail.token;
});
</script>
После успешного свайпа виджет повторно отправит форму. Токен также доступен в window.__sliderCaptcha.token.
Шаг 4: Проверка на сервере
Без серверной проверки бот может отправить POST напрямую, минуя капчу. Используйте POST /api/v1/introspect с X-Site-Secret (только на бэкенде):
Компактный скрипт (~15 KB без сжатия). С gzip — около 5 KB.
Нет. widget.js требует JavaScript. Параметр data-fail-open="1" пропускает пользователя при ошибке API.
В кабинете укажите все нужные домены в поле origins (например https://example.com и https://www.example.com). Один site-key может обслуживать несколько origins.
Токен живёт 24 часа (настраивается на сервере). Повторный визит с валидным токеном не показывает капчу снова.
Режим data-fail-open="1": если API СВАЙПЕРА недоступен, страница не блокируется. Используйте только если отказ капчи хуже пропуска ботов.