Настройка Flash Call верификации в 1С-Битрикс
Мы часто сталкиваемся с ситуацией, когда SMS-верификация подводит: оператор блокирует рассылку, телефон в роуминге, или баланс на нуле. В таких случаях на помощь приходит звонок-сброс (Flash Call). Пользователь вводит номер, система звонит и сбрасывает — последние 4 цифры входящего номера становятся кодом подтверждения. Это дешевле SMS в 5–10 раз, а надёжность выше. Экономия по сравнению с SMS составляет 5-10 раз, что позволяет сэкономить около $90–130 ежемесячно. Наша команда настраивает этот механизм под ключ: от выбора провайдера до интеграции с вашим Битриксом. Оценим проект за 1 день — свяжитесь с нами для предварительной оценки.
Как работает звонок-сброс?
Технически схема такая: ваш сервер отдаёт команду телефонной платформе совершить вызов с одного из номеров пула. Пользователь видит входящий вызов, запоминает (или копирует) последние 4 цифры и вводит их в форму. Звонок при этом не нужно принимать.
Ключевое требование: провайдер должен предоставлять пул номеров с разными последними 4 цифрами и возможность выбрать конкретный номер при исходящем вызове.
Почему звонок-сброс выгоднее SMS?
Flash Call обходится дешевле: средняя стоимость одной верификации через звонок-сброс в 5-10 раз ниже SMS. Это особенно заметно при объёмах от 1000 верификаций в сутки. Кроме того, звонок гарантированно доставляется даже в роуминге, где SMS могут блокироваться. Высвобожденный бюджет можно направить на маркетинг или улучшение клиентского опыта.
Какие провайдеры поддерживают Flash Call?
| Провайдер | Метод | Особенности |
|---|---|---|
| Exolve (МТС) | API Flash Call | Пул исходящих номеров, документация Exolve |
| Zadarma | Flash call в тарифах с API | REST API, тарификация за вызов |
| Novofon | REST API | Поддержка через стандартные запросы |
| Звонок.ru | Специализированный сервис | Только верификация, гибкая настройка |
Мы подберём оптимального провайдера под ваш трафик и бюджет.
Реализация в Битрикс
Архитектура аналогична SMS-верификации, но вместо кода-текста система генерирует 4-значный суффикс и выбирает из пула телефонный номер с этим суффиксом.
Таблица для хранения сессий верификации:
CREATE TABLE custom_flashcall_verification ( id INT AUTO_INCREMENT PRIMARY KEY, phone VARCHAR(20) NOT NULL, caller_number VARCHAR(20) NOT NULL, code VARCHAR(4) NOT NULL, created_at DATETIME NOT NULL, attempts INT DEFAULT 0, verified TINYINT DEFAULT 0 ); Логика генерации:
function initiateFlashCall(string $targetPhone): array { // Генерируем 4-значный код (0001–9999) $code = str_pad(random_int(1, 9999), 4, '0', STR_PAD_LEFT); // Выбираем номер из пула, заканчивающийся на этот код $callerNumber = FlashCallPool::getNumberByCode($code); if (!$callerNumber) { throw new \Exception('No available number for code: ' . $code); } // Инициируем вызов через API провайдера $provider = new ExolveFlashCallProvider(); $provider->call($callerNumber, $targetPhone); // Сохраняем в БД FlashCallVerificationTable::add([ 'PHONE' => $targetPhone, 'CALLER_NUMBER' => $callerNumber, 'CODE' => $code, 'CREATED_AT' => new \Bitrix\Main\Type\DateTime(), ]); return ['success' => true, 'hint' => 'Ожидайте входящего звонка']; } Управление пулом номеров
Пул номеров — критичная часть системы. Для кодов 0000–9999 нужен минимум пул из нескольких сотен номеров, иначе коллизии неизбежны при высокой нагрузке.
Таблица пула:
CREATE TABLE custom_flashcall_pool ( id INT AUTO_INCREMENT PRIMARY KEY, phone_number VARCHAR(20) NOT NULL, code_suffix VARCHAR(4) NOT NULL, in_use TINYINT DEFAULT 0, last_used DATETIME, INDEX idx_code (code_suffix), INDEX idx_available (in_use, last_used) ); При выборе номера из пула берётся первый доступный с нужным суффиксом, который не использовался последние 30 секунд. После завершения верификации номер возвращается в пул.
Пользовательский интерфейс
Форма верификации через звонок-сброс отличается от SMS:
- Пользователь вводит номер телефона
- Появляется сообщение: «Сейчас вам позвонит номер, запомните его последние 4 цифры»
- Поле ввода с маской
_ _ _ _ - Таймер обратного отсчёта (обычно 30–60 секунд)
- Кнопка «Позвонить ещё раз» после истечения таймера
Важно сообщить пользователю, что принимать звонок не нужно — это нестандартно и без подсказки вызывает замешательство.
Интеграция с Битрикс
Верификация встраивается через AJAX-контроллер (\Bitrix\Main\Engine\Controller) и подключается к форме регистрации или оформления заказа через JavaScript. В компоненте bitrix:sale.order.ajax добавляется шаг верификации между вводом контактных данных и подтверждением заказа. Полную документацию по REST API Битрикс можно найти в официальном руководстве.
Резервный вариант: если звонок не поступил в течение 90 секунд, пользователю предлагается переключиться на SMS-верификацию.
Что входит в настройку под ключ
- Выбор и подключение провайдера Flash Call
- Разработка пула номеров и управления коллизиями
- Реализация формы верификации с таймером и fallback
- Интеграция с вашим Битриксом (компонент, контроллер, база)
- Тестирование под нагрузкой и документация
- Обучение администраторов и поддержка при запуске
Более 5 лет опыта с Битрикс и 30+ успешных проектов по интеграции гарантируют качественный результат.
Типичные ошибки и как их избежать
Частые проблемы при внедрении
- Коллизии номеров при высокой нагрузке — решается увеличением пула и временем блокировки
- Неправильное отображение кода — пользователь не успевает запомнить цифры; увеличиваем время звонка до 3 гудков
- Сбои провайдера — обязательный fallback на SMS
- Неверный формат номера — валидация на стороне клиента и сервера
Сроки выполнения
| Объём работ | Срок |
|---|---|
| Интеграция с провайдером + базовая форма | 1–2 дня |
| Пул номеров + управление коллизиями | +1 день |
| Fallback на SMS + полная интеграция с Битрикс | 3–4 дня |
Для высоконагруженных магазинов с 1000+ верификациями в сутки стоит проработать резервирование пула и мониторинг доступности провайдера.
Получите консультацию специалиста — свяжитесь с нами, чтобы рассчитать сроки и стоимость под ваш проект.







