Flash call верифікація в 1С-Бітрікс: налаштування та переваги
Ми впроваджуємо технологію flash call в 1С-Бітрікс — і конверсія реєстрації зростає на 15–25%. Кожен десятий користувач кидає форму через незручність введення SMS-коду. Автоматичний дзвінок-скидання вирішує цю проблему: підтвердження номера відбувається без зайвих дій. Час підтвердження скорочується в 2–3 рази, а вартість одного flash call-дзвінка — лише 0,3 гривні, що в 3–10 разів дешевше за SMS (1–2 гривні). Для інтернет-магазину з 10 000 замовлень на місяць економія досягає 50 000 гривень. Для проекту з 5000 реєстрацій — близько 25 000 гривень. Наприклад, магазин одягу після впровадження отримав +20% до коефіцієнта реєстрації.
Flash call швидший і надійніший: код доставляється миттєво, немає затримок sms-шлюзів, ризик перехоплення через SS7 виключений. У тестах з навантаженням 1000 запитів на хвилину технологія показала затримку менше 1 секунди, тоді як SMS може доставлятися до 30 секунд. Обирайте напівавтоматичну схему — вона не потребує мобільного додатка і працює на будь-яких пристроях.
Як працює flash call?
Режим роботи залежить від можливостей клієнтського пристрою:
- Автоматичний — потребує мобільного додатка з дозволом на читання викликів або браузерного API (Android Chrome + Web OTP API). Вхідний дзвінок перехоплюється програмно, останні цифри номера витягуються і відправляються на сервер без дій користувача.
- Напівавтоматичний — користувачу показується екран з маскою, система ініціює виклик, користувач бачить 4 цифри і вводить їх. Це фактично той самий «дзвінок-скидання», але з позиціонуванням як flash call.
Для справжнього автоматичного flash call у Бітрікс-магазині без додатка реальна лише напівавтоматична схема. Повністю автоматична — через SDK, вбудований у мобільний додаток.
Чому flash call вигідніший за стандартну SMS-верифікацію?
Технологія flash call не потребує оплати кожної SMS, не залежить від завантаженості sms-шлюзів, а код доставляється миттєво. Крім того, виключений ризик перехоплення коду через SS7 — виклик йде безпосередньо від провайдера. Згідно з даними Exolve, flash call у 3 рази швидший за SMS при пікових навантаженнях, а вартість у 3–10 разів нижча.
Типові помилки при інтеграції
- Пропуск 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 день |
Маємо 7+ років досвіду інтеграції верифікації, реалізували понад 50 проектів для інтернет-магазинів. Гарантуємо стабільну роботу та технічну підтримку. Всі рішення проходять перевірку на безпеку. Отримайте консультацію: напишіть нам, і ми оцінимо ваш проект за один день. Замовте впровадження flash call і забезпечте користувачам бездоганний досвід верифікації.







