Мы внедряем flash call верификацию в 1С-Битрикс — и конверсия регистрации растёт на 15–25%. Каждый десятый пользователь бросает форму из-за неудобства ввода SMS-кода. Flash call решает эту проблему: автоматический звонок-сброс подтверждает номер без лишних действий. Время подтверждения сокращается в 2–3 раза по сравнению с SMS, а стоимость одного flash call-звонка в среднем $1–1 против $1–1 за SMS. Для интернет-магазина с 10 000 заказов в месяц экономия на верификации может достигать $450–650. Flash call особенно эффективен для мобильной аудитории — каждый лишний шаг снижает конверсию.
Flash call быстрее и надёжнее: код доставляется мгновенно, нет задержек смс-шлюзов, риск перехвата через SS7 исключён. В тестах с нагрузкой 1000 запросов в минуту flash call показал задержку менее 1 секунды, тогда как SMS может доставляться до 30 секунд. Выбирайте полуавтоматическую схему — она не требует мобильного приложения и работает на любых устройствах.
Как работает flash call?
Режим работы зависит от возможностей клиентского устройства:
- Автоматический — требует мобильного приложения с разрешением на чтение вызовов или браузерного API (Android Chrome + Web OTP API). Входящий звонок перехватывается программно, последние цифры номера извлекаются и отправляются на сервер без действий пользователя.
- Полуавтоматический — пользователю показывается экран с маской, система инициирует вызов, пользователь видит 4 цифры и вводит их. Это фактически тот же «звонок-сброс», но с позиционированием как flash call.
Для настоящего автоматического flash call в Битрикс-магазине без приложения реальна только полуавтоматическая схема. Полностью автоматическая — через SDK, встроенный в мобильное приложение.
Почему flash call выгоднее стандартной SMS-верификации?
Flash call не требует оплаты каждой SMS, не зависит от загруженности смс-шлюзов, а код доставляется мгновенно. Кроме того, исключён риск перехвата кода через SS7 — вызов идёт напрямую от провайдера. Согласно данным Exolve, flash call в 3 раза быстрее SMS при пиковых нагрузках.
Типичные ошибки при интеграции
- Пропуск rate-limit (достаточно 3–5 запросов с номера в минуту).
- Неправильная нормализация номера (необходимо использовать
+7и strip non-digits). - Хранение кода дольше 2 минут — увеличивает окно атаки.
- Fallback на SMS без учёта стоимости.
Какие провайдеры flash call доступны?
Специализированные провайдеры flash call для рынка РФ/СНГ:
- Exolve Flash Call API — поддерживает автоперехват на Android через Web API
- МГТС Flash Call — B2B-сервис с SLA 99,99%
- Devino Telecom — REST API с кодом в номере
Все провайдеры предоставляют похожий функционал, но различаются по стоимости звонка и региону покрытия. Exolve наиболее гибок: его API позволяет инициировать вызов за один день с минимальным кодом (готовые примеры на PHP).
| Провайдер | Автоперехват | REST API | SLA | Регионы |
|---|---|---|---|---|
| Exolve | Да (Web API) | Да | 99.9% | РФ, СНГ |
| МГТС | Нет | Да | 99.99% | Москва, МО |
| Devino | Нет | Да | 99.8% | РФ, СНГ |
Пример интеграции с Exolve:
class ExolveFlashCallProvider { private const API_URL = 'https://api.exolve.ru/call/v1/MakeCall'; private string $apiKey; public function __construct(string $apiKey) { $this->apiKey = $apiKey; } public function initiate(string $targetPhone, string $code): array { // Номер звонящего содержит код в последних 4 цифрах $callerNumber = $this->getCallerByCode($code); $response = (new \Bitrix\Main\Web\HttpClient())->post( self::API_URL, json_encode([ 'number' => $callerNumber, 'destination' => $targetPhone, 'call_duration' => 1, // Минимальная длительность — сразу сброс ]), ['Authorization' => 'Bearer ' . $this->apiKey, 'Content-Type' => 'application/json'] ); return json_decode($response->getResult(), true); } } Поддержка Web OTP API
На Android-устройствах с Chrome 84+ возможна полуавтоматическая обработка через Web OTP API. Браузер перехватывает SMS с кодом (не звонок), если сообщение отформатировано специальным образом. Это совмещение SMS и flash-механизма.
Формат SMS для Web OTP:
Ваш код подтверждения: 4821 @shop.ru #4821 JavaScript для автоперехвата:
if ('OTPCredential' in window) { const ac = new AbortController(); navigator.credentials.get({ otp: { transport: ['sms'] }, signal: ac.signal }).then(otp => { document.getElementById('verification-code').value = otp.code; submitVerificationForm(); }).catch(err => { // Fallback: пользователь вводит вручную console.log('OTP auto-read failed:', err); }); } Серверная часть: контроллер верификации
В Битрикс реализуется как контроллер D7:
namespace Custom\Verification; class FlashCallController extends \Bitrix\Main\Engine\Controller { public function initiateAction(string $phone): array { $phone = $this->normalizePhone($phone); if (!$this->checkRateLimit($phone)) { return $this->error('Слишком много запросов. Подождите минуту.'); } $code = str_pad(random_int(1, 9999), 4, '0', STR_PAD_LEFT); try { $provider = new ExolveFlashCallProvider(EXOLVE_API_KEY); $provider->initiate($phone, $code); } catch (\Exception $e) { \Bitrix\Main\Diag\Logger::getLogger('flash_call')->error($e->getMessage()); return $this->error('Ошибка отправки. Попробуйте SMS-верификацию.'); } FlashCallTable::add([ 'PHONE' => $phone, 'CODE' => $code, 'CREATED_AT' => new \Bitrix\Main\Type\DateTime(), 'EXPIRES_AT' => new \Bitrix\Main\Type\DateTime(date('Y-m-d H:i:s', time() + 120)), ]); return ['success' => true]; } public function verifyAction(string $phone, string $code): array { $record = FlashCallTable::getList([ 'filter' => [ '=PHONE' => $this->normalizePhone($phone), '=CODE' => $code, '=VERIFIED' => false, '>EXPIRES_AT' => new \Bitrix\Main\Type\DateTime(), ], 'order' => ['CREATED_AT' => 'DESC'], 'limit' => 1, ])->fetch(); if (!$record) { return $this->error('Неверный код или время истекло.'); } FlashCallTable::update($record['ID'], ['VERIFIED' => true]); \Bitrix\Main\Application::getInstance()->getSession()->set('PHONE_VERIFIED', $phone); return ['success' => true]; } } Этапы внедрения flash call
- Анализ — определяем, нужна ли автоматическая или полуавтоматическая схема, выбираем провайдера.
- Проектирование — проектируем контроллер, таблицы хранения кодов, ограничения.
- Разработка — пишем код интеграции с провайдером, контроллер, фронтенд.
- Тестирование — проверяем на реальных устройствах, rate-limit, fallback на SMS.
- Деплой — размещаем на боевом сервере, настраиваем мониторинг.
Что входит в работу
- Подключение к провайдеру flash call (Exolve/МГТС/Devino)
- Разработка контроллера D7 с защитой от повторных запросов
- Реализация полуавтоматического считывания кода
- Интеграция с формами регистрации и оформления заказа
- Адаптация под Web OTP API (опционально)
- Документация по доступам и настройкам
- Обучение администратора
Сроки выполнения
| Объём работ | Срок |
|---|---|
| Базовая интеграция с провайдером | 1 день |
| Контроллер + UI + rate limiting | 2–3 дня |
| Web OTP API + fallback на SMS | +1 день |
| Интеграция с регистрацией и заказом | +1 день |
Настройка flash call включает выбор провайдера и конфигурацию контроллера. Проверка телефона через звонок значительно упрощает процесс. Получите консультацию: напишите нам, и мы оценим ваш проект за один день. Закажите внедрение flash call и обеспечьте пользователям безупречный опыт верификации.







