Налаштування Flash Call верифікації в 1С-Бітрікс
Ми часто стикаємося з ситуацією, коли SMS-верифікація підводить: оператор блокує розсилку, телефон у роумінгу, або баланс на нулі. У таких випадках на допомогу приходить дзвінок-скидання (Flash Call). Користувач вводить номер, система дзвонить і скидає — останні 4 цифри вхідного номера стають кодом підтвердження. Це значно дешевше за SMS і надійніше. Наша команда налаштовує цей механізм під ключ: від вибору провайдера до інтеграції з вашим Бітріксом. Оцінимо проект за 1 день — зв'яжіться з нами для попередньої оцінки.
Як працює flash-кол?
Технічно схема така: ваш сервер віддає команду телефонній платформі здійснити виклик з одного з номерів пулу. Користувач бачить вхідний виклик, запам'ятовує (або копіює) останні 4 цифри та вводить їх у форму. Дзвінок при цьому не потрібно приймати.
Ключова вимога: провайдер повинен надавати пул номерів з різними останніми 4 цифрами та можливість вибрати конкретний номер при вихідному виклику.
Чому flash-кол вигідніший за SMS?
Flash Call обходится набагато дешевше: середня вартість Flash Call становить 0,05-0,10 грн, тоді як SMS — 0,50-1,00 грн. Це в 5-10 разів дешевше і дає економію до 15 000 грн на місяць при обсязі 10 000 верифікацій. Крім того, швидкість доставки Flash Call — 99% проти 80-90% у SMS, а дзвінок гарантовано доставляється навіть у роумінгу. Конверсія етапу підтвердження зростає на 15-20%. Також flash-кол значно надійніший: успішність доставки 99% проти 80% у 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 секунд. Після завершення верифікації номер повертається в пул.
Користувацький інтерфейс
Форма підтвердження через flash-кол відрізняється від SMS:
- Користувач вводить номер телефону
- З'являється повідомлення: «Зараз вам зателефонує номер, запам'ятайте його останні 4 цифри»
- Поле введення з маскою
_ _ _ _ - Таймер зворотного відліку (зазвичай 30–60 секунд)
- Кнопка «Зателефонувати ще раз» після закінчення таймера
Важливо повідомити користувачеві, що приймати дзвінок не потрібно — це нестандартно і без підказки викликає замішання.
Інтеграція з Бітрікс
Верифікація вбудовується через AJAX-контролер (\Bitrix\Main\Engine\Controller) і підключається до форми реєстрації або оформлення замовлення через JavaScript. У компоненті bitrix:sale.order.ajax додається крок верифікації між введенням контактних даних і підтвердженням замовлення. Повну документацію по REST API Бітрікс можна знайти в офіційному керівництві.
Резервний варіант: якщо дзвінок не надійшов протягом 90 секунд, користувачеві пропонується переключитися на SMS-верифікацію.
Що входить у налаштування під ключ
- Вибір та підключення провайдера Flash Call
- Розробка пулу номерів та управління колізіями
- Реалізація форми верифікації з таймером та fallback
- Інтеграція з вашим Бітріксом (компонент, контролер, база)
- Тестування під навантаженням та документація
- Навчання адміністраторів та підтримка при запуску
Більше 5 років досвіду з Бітрікс та 30+ успішних проектів з інтеграції гарантують якісний результат.
Терміни виконання
| Обсяг робіт | Термін |
|---|---|
| Інтеграція з провайдером + базова форма | 1–2 дні |
| Пул номерів + управління колізіями | +1 день |
| Fallback на SMS + повна інтеграція з Бітрікс | 3–4 дні |
Для високонавантажених магазинів з 1000+ верифікаціями на добу варто опрацювати резервування пулу та моніторинг доступності провайдера.
Отримайте консультацію фахівця — зв'яжіться з нами, щоб розрахувати терміни та вартість під ваш проект.







