הגדרת אימות באמצעות שיחה מתפספסת ב-1C-Bitrix

כאשר אימות SMS נכשל עקב חסימות ספק, נדידה או יתרת אפס, אימות שיחה מנותקת בא להציל. אנו מגדירים אימות Flash Call ב-1C-Bitrix במפתח מלא, החל מבחירת ספק ועד לשילוב בפורטל שלך. הצוות שלנו מבטיח פעולה אמינה ותמיכה מתמשכת כך שאימות המספר יהיה מהיר וחלק.
השירותים שאנו מציעים
מציג 1 מתוך 1כל 1626 השירותים
הגדרת אימות באמצעות שיחה מתפספסת ב-1C-Bitrix
פשוט
~1 יום

הכישורים שלנו:

שאלות נפוצות

הגדרת אימות שיחת פלאש ב-1C-Bitrix

לעתים קרובות אנו נתקלים במצבים שבהם אימות SMS נכשל: הספק חוסם את השליחה, הטלפון בנדידה, או שהיתרה אפסית. במקרים כאלה, שיחה שלא נענתה (Flash Call) באה להציל. המשתמש מזין את המספר שלו, המערכת מתקשרת ומנתקת — 4 הספרות האחרונות של המספר הנכנס הופכות לקוד האימות. זה זול פי 5-10 מ-SMS, והאמינות גבוהה יותר. הצוות שלנו מגדיר מנגנון זה במפתח מלא: מבחירת ספק ועד אינטגרציה עם הביטריקס שלך. נעריך את הפרויקט תוך יום אחד — צור קשר להערכה מוקדמת.

איך פועלת שיחה שלא נענתה?

מבחינה טכנית, התוכנית היא כזו: השרת שלך מורה לפלטפורמת הטלפון לבצע שיחה מאחד המספרים במאגר. המשתמש רואה שיחה נכנסת, זוכר (או מעתיק) את 4 הספרות האחרונות, ומזין אותן בטופס. אין צורך לענות לשיחה.

הדרישה המרכזית: הספק חייב להציע מאגר מספרים עם 4 ספרות אחרונות שונות ויכולת לבחור מספר ספציפי לשיחות יוצאות.

למה שיחה שלא נענתה זולה יותר מ-SMS?

Flash Call זול יותר: העלות הממוצעת של אימות אחד באמצעות שיחה שלא נענתה נמוכה פי 5-10 מ-SMS. זה בולט במיוחד בהיקפים של 1,000+ אימותים ביום. בנוסף, השיחה מובטחת להתקבל גם בנדידה, שבה SMS עלול להיחסם. התקציב שהתפנה יכול להיות מוקצה לשיווק או לשיפור חוויית הלקוח.

אילו ספקים תומכים ב-Flash Call?

ספק שיטה תכונות
Exolve (MTS) Flash Call API מאגר מספרים יוצאים, תיעוד Exolve
Zadarma שיחת פלאש בתוכניות API REST API, חיוב לפי שיחה
Novofon REST API תמיכה באמצעות בקשות סטנדרטיות
Zvonok.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:

  1. המשתמש מזין את מספר הטלפון שלו
  2. מופיעה הודעה: "תתקבל כעת שיחה ממספר. זכור את 4 הספרות האחרונות שלו."
  3. שדה קלט עם מסכה 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 );
  4. טיימר ספירה לאחור (בדרך כלל 30–60 שניות)
  5. כפתור "התקשר שוב" לאחר פקיעת הטיימר

חשוב ליידע את המשתמש שאין צורך לענות לשיחה — זה לא סטנדרטי ועלול לגרום לבלבול ללא הסבר.

אינטגרציה עם ביטריקס

האימות מוטמע באמצעות בקר AJAX (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' => 'Ожидайте входящего звонка']; } ) ומחובר לטופס ההרשמה או התשלום באמצעות JavaScript. ברכיב 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) ); , מתווסף שלב אימות בין הזנת פרטי הקשר לאישור ההזמנה. תיעוד מלא ל-REST API של ביטריקס ניתן למצוא במדריך הרשמי.

אפשרות גיבוי: אם השיחה לא מגיעה תוך 90 שניות, המשתמש מוצע לעבור לאימות SMS.

מה כלול בהתקנה במפתח מלא

  • בחירה וחיבור ספק Flash Call
  • פיתוח מאגר המספרים וניהול התנגשויות
  • יישום טופס האימות עם טיימר וגיבוי
  • אינטגרציה עם הביטריקס שלך (רכיב, בקר, מסד נתונים)
  • בדיקות עומס ותיעוד
  • הדרכת מנהלים ותמיכה בהשקה

ניסיון של למעלה מ-5 שנים עם ביטריקס ו-30+ פרויקטי אינטגרציה מוצלחים מבטיחים תוצאות איכותיות.

שגיאות נפוצות וכיצד להימנע מהן

בעיות נפוצות במהלך היישום
  • התנגשויות מספרים בעומס גבוה — נפתר על ידי הגדלת המאגר וזמן הנעילה
  • תצוגת קוד שגויה — למשתמש אין זמן לשנן את הספרות; הגדל את משך השיחה ל-3 צלצולים
  • תקלות ספק — גיבוי חובה ל-SMS
  • פורמט מספר שגוי — אימות בצד הלקוח והשרת

לוחות זמנים

היקף העבודה משך
אינטגרציית ספק + טופס בסיסי 1–2 ימים
מאגר מספרים + ניהול התנגשויות +יום אחד
גיבוי SMS + אינטגרציה מלאה עם ביטריקס 3–4 ימים

עבור חנויות בעומס גבוה עם 1,000+ אימותים ביום, כדאי לתכנן יתירות במאגר ולנטר את זמינות הספק.

קבל ייעוץ ממומחה — צור קשר כדי להעריך לוחות זמנים ועלות עבור הפרויקט שלך.