Налаштування верифікації клієнта через дзвінок-скидання 1С-Бітрікс

Наша компанія займається розробкою, підтримкою та обслуговуванням рішень на Бітрікс та Бітрікс24 будь-якої складності. Від простих односторінкових сайтів до складних інтернет-магазинів, CRM систем з інтеграцією 1С та телефонії. Досвід розробників підтверджено сертифікатами від вендора.
Пропоновані послуги
Показано 1 з 1 послугУсі 1626 послуг
Налаштування верифікації клієнта через дзвінок-скидання 1С-Бітрікс
Проста
~1 робочий день
Часті питання

Наші компетенції:

Етапи розробки

Останні роботи

  • image_website-b2b-advance_0.png
    Розробка сайту компанії B2B ADVANCE
    1262
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Розробка веб-сайту для компанії ФІКСПЕР
    851
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Розробка на базі Бітрікс, Бітрікс24, 1С для компанії Development of an Online
    585
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Розробка на базі 1С Підприємство для компанії МИРСАНБЕЛ
    751
  • image_crm_dolbimby_434_0.webp
    Розробка сайту на CRM Бітрікс24 для компанії DOLBIMBY
    657
  • image_crm_technotorgcomplex_453_0.webp
    Розробка на базі Бітрікс24 для компанії ТЕХНОТОРГКОМПЛЕКС
    989

Налаштування верифікації клієнта через дзвінок-скидання у 1С-Bitrix

Дзвінок-скидання (missed call verification) — альтернатива SMS-коду. Користувач вводить номер телефону, система дзвонить на нього і одразу скидає: останні 4 цифри вхідного номера стають кодом підтвердження. Це дешевше SMS у 5–10 разів і працює там, де доставка SMS нестабільна.

Принцип роботи і постачальники

Технічно схема така: ваш сервер видає команду телефонній платформі здійснити виклик з одного з номерів пулу. Користувач бачить вхідний дзвінок, запам'ятовує (або копіює) останні 4 цифри і вводить їх у форму. При цьому приймати дзвінок не потрібно.

Постачальники, які підтримують цей метод:

  • Exolve (МТС) — Flash Call API, пул вихідних номерів
  • Zadarma — функція «flash call» у тарифах з API
  • Novofon — підтримка через REST API
  • Zvonok.ru — спеціалізований сервіс верифікації

Ключева вимога: постачальник повинен надавати пул номерів з різними останніми 4 цифрами і можливість вибору конкретного номера для вихідного дзвінку.

Реалізація у Bitrix

Архітектура аналогічна 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:

  1. Користувач вводить номер телефону
  2. З'являється повідомлення: «Сейчас вам позвонит номер, запомните его последние 4 цифры»
  3. Поле введення з маскою _ _ _ _
  4. Таймер зворотного відліку (зазвичай 30–60 секунд)
  5. Кнопка «Позвоните ещё раз» після закінчення таймера

Важливо повідомити користувачу, що приймати дзвінок не потрібно — це нестандартно і без підказки викликає замішання.

Інтеграція з Bitrix

Верифікація вбудовується через AJAX-контролер (\Bitrix\Main\Engine\Controller) і підключається до форми реєстрації або оформлення замовлення через JavaScript. У компоненті bitrix:sale.order.ajax додається крок верифікації між введенням контактних даних і підтвердженням замовлення.

Резервний варіант: якщо дзвінок не надійшов протягом 90 секунд, користувачу пропонується перейти на SMS-верифікацію.

Сроки виконання

Обсяг робіт Строк
Інтеграція з постачальником + базова форма 1–2 дні
Пул номерів + управління колізіями +1 день
Fallback на SMS + повна інтеграція з Bitrix 3–4 дні

Для високонавантажених магазинів з 1000+ верифікаціями на день варто опрацювати резервування пулу і моніторинг доступності постачальника.