הגדרת התראות SMS על עגלות נטושות ב-1C-Bitrix

הגדרת התראות SMS על עגלות נטושות ב-1C-Bitrix דורשת אינטגרציה זהירה כדי למקסם את שחזור העגלות. חנויות מקוונות רבות על 1C-Bitrix מאבדות עד 70% מהעגלות הנטושות לאחר קמפיינים בדוא"ל. ערוץ ה-SMS משיג שיעור פתיחה של 95%, אך רק עם הגדרה נכונה - אחרת, הכסף המושקע על ה-ג
השירותים שאנו מציעים
מציג 1 מתוך 1כל 1626 השירותים
הגדרת התראות SMS על עגלות נטושות ב-1C-Bitrix
פשוט
~1 יום

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

שאלות נפוצות

העבודות האחרונות

  • image_website-b2b-advance_0.webp
    פיתוח אתר חברה B2B ADVANCE
    1460
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    פיתוח אתר לחברת FIXPER
    1019
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    פיתוח מבוסס Bitrix, Bitrix24, 1C לחברה פיתוח ווידג'ט להזמנת תורים אונליין למרכז רפואי
    763
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    פיתוח על בסיס 1C Enterprise עבור MIRSANBEL
    882
  • image_crm_dolbimby_434_0.webp
    פיתוח אתר על CRM Bitrix24 עבור DOLBIMBY
    809
  • image_crm_technotorgcomplex_453_0.webp
    פיתוח על בסיס Bitrix24 עבור חברת TECHNOTORGKOMPLEKS
    1164

הגדרת התראות SMS על עגלות נטושות ב-1C-Bitrix דורשת אינטגרציה מדוקדקת כדי למקסם את שחזור העגלות. חנויות מקוונות רבות על 1C-Bitrix מאבדות עד 70% מהעגלות הנטושות לאחר קמפיינים בדוא"ל. ערוץ ה-SMS משיג שיעור פתיחה של 95%, אך רק עם הגדרה נכונה—אחרת, הכסף שהושקע בשער הגישה מתבזבז. לאחרונה, לקוח עם קטלוג מוצרי אלקטרוניקה של 50,000 מוצרים פנה אלינו: לאחר דוא"ל, הם שחזרו רק 5% מהעגלות, אך לאחר הוספת SMS עם מרווח של שלוש שעות, השחזור קפץ ל-18%. היינו צריכים לחשב את התקציב במדויק. הגדרנו תרחישים כאלה לעשרות פרויקטים ואנחנו יודעים כיצד להימנע מטעויות נפוצות: משכפול הודעות ועד חסימת מספרים עקב חריגה ממגבלות.

SMS מוצדק לעגלות מעל ערך הזמנה ממוצע מסוים ולמוצרי רכישה אימפולסיבית (אלקטרוניקה, ביגוד). דוא"ל לא מגיע ללקוח—מסנני ספאם, תיבות דואר לא פעילות. SMS נראה על ידי כולם, אך העלות לכל הודעה מאלצת חישוב מדוקדק של התרחיש. הפתרון שלנו מבוסס פרויקט וחוסך ללקוחות בממוצע 20% מהעגלות הנטושות, ומחזיר הכנסה נוספת בשווי $10,000 לחודש לכל 1,000 עגלות נטושות (בהנחת ערך הזמנה ממוצע של $50).

קריטריון דוא"ל SMS
שיעור פתיחה 20-30% 95%
מגבלת אורך 1000+ תווים 160 תווים (קירילית: 70)
סיכון ספאם גבוה נמוך
הסכמת לקוח פורמלית נדרשת מפורשת (FZ-38)

SMS יעיל יותר מדוא"ל לשחזור עגלות בשל שיעורי פתיחה גבוהים יותר ונראות מיידית.

SMS יעיל פי 4.5 מדוא"ל מבחינת שיעור פתיחה (95% לעומת 20-30%), ומקצר את זמן שחזור העגלות הנטושות בחצי. הודעות דוא"ל נוחתות לעיתים קרובות בספאם; SMS נראה כמעט מיד. עם זאת, זהו ערוץ יקר. לכן, אנו משתמשים ב-SMS רק כאשר המשתמש לא פתח את הדוא"ל תוך 3-4 שעות—המרווח המדויק מכוון לקטלוג. לפי החוק הפדרלי מס' 38-FZ "על פרסום", נדרשת הסכמה מוקדמת לשיווק ב-SMS, אותה אנו תמיד מיישמים. אנו מבטיחים עמידה ב-FZ-38 ומספקים תעודת אינטגרציה.

אתגרים טכניים מאחורי שליחת SMS כוללים אחזור מדויק של מספר טלפון, נורמליזציה של מספרים ומגבלות קצב של ספק.

הבעיה המרכזית היא אחזור מדויק של מספר הטלפון. אם פרופיל המשתמש אינו מכיל UF_PHONE, עלינו לנתח את ההזמנה האחרונה, מה שמאט את הסוכן. האתגר השני הוא נורמליזציה של מספרים: מסכות קלט שונות (למשל, +7-495-123-45-67) מומרות לפורמט אחיד 74951234567. השלישי הוא עמידה במגבלות הספק: לא יותר מ-100 הודעות לדקה לכל חשבון, אחרת מתרחשת חסימה. אנו גם מיישמים אימות אסימון והתראות webhook לאישורי מסירה.

אחזור מספר הטלפון של המשתמש

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

לחץ כדי לראות קוד PHP
function getUserPhone(int $userId): string { $user = \Bitrix\Main\UserTable::getById($userId)->fetch(); if (!empty($user['UF_PHONE'])) return $user['UF_PHONE']; $order = \Bitrix\Sale\Order::getList([ 'filter' => ['USER_ID' => $userId], 'order' => ['DATE_INSERT' => 'DESC'], 'limit' => 1, 'select' => ['ID'], ])->fetch(); if (!$order) return ''; $orderObj = \Bitrix\Sale\Order::load($order['ID']); foreach ($orderObj->getPropertyCollection() as $prop) { if ($prop->getField('CODE') === 'PHONE') { return (string)$prop->getValue(); } } return ''; } 

חיבור שער ה-SMS דרך API

ל-Bitrix יש מודול מובנה function getUserPhone(int $userId): string { $user = \Bitrix\Main\UserTable::getById($userId)->fetch(); if (!empty($user['UF_PHONE'])) return $user['UF_PHONE']; $order = \Bitrix\Sale\Order::getList([ 'filter' => ['USER_ID' => $userId], 'order' => ['DATE_INSERT' => 'DESC'], 'limit' => 1, 'select' => ['ID'], ])->fetch(); if (!$order) return ''; $orderObj = \Bitrix\Sale\Order::load($order['ID']); foreach ($orderObj->getPropertyCollection() as $prop) { if ($prop->getField('CODE') === 'PHONE') { return (string)$prop->getValue(); } } return ''; } , אך הוא אינו גמיש מספיק לעגלות נטושות. אנו משתמשים ב-API הישיר של הספק—ניקח את SMS.ru כדוגמה:

class SmsRuClient { private string $apiId; public function __construct(string $apiId) { $this->apiId = $apiId; } public function send(string $phone, string $message, string $from = 'SHOP'): bool { $phone = preg_replace('/[^0-9]/', '', $phone); if (strlen($phone) === 10) $phone = '7' . $phone; $ch = curl_init('https://sms.ru/sms/send'); curl_setopt_array($ch, [ CURLOPT_POST => true, CURLOPT_POSTFIELDS => http_build_query([ 'api_id' => $this->apiId, 'to' => $phone, 'msg' => $message, 'from' => $from, 'json' => 1, ]), CURLOPT_RETURNTRANSFER => true, CURLOPT_TIMEOUT => 10, ]); $response = json_decode(curl_exec($ch), true); curl_close($ch); return isset($response['status']) && $response['status'] === 'OK'; } } 

הגדרת סוכן השליחה

הגדרה שלב אחר שלב:

  1. צור טבלת main.smsmanager עם שדות: USER_ID, FUSER_ID, STATUS, EMAIL_SENT_AT, SMS_SENT_AT.
  2. כתוב סוכן שבוחר רשומות עם סטטוס class SmsRuClient { private string $apiId; public function __construct(string $apiId) { $this->apiId = $apiId; } public function send(string $phone, string $message, string $from = 'SHOP'): bool { $phone = preg_replace('/[^0-9]/', '', $phone); if (strlen($phone) === 10) $phone = '7' . $phone; $ch = curl_init('https://sms.ru/sms/send'); curl_setopt_array($ch, [ CURLOPT_POST => true, CURLOPT_POSTFIELDS => http_build_query([ 'api_id' => $this->apiId, 'to' => $phone, 'msg' => $message, 'from' => $from, 'json' => 1, ]), CURLOPT_RETURNTRANSFER => true, CURLOPT_TIMEOUT => 10, ]); $response = json_decode(curl_exec($ch), true); curl_close($ch); return isset($response['status']) && $response['status'] === 'OK'; } } ושבו עברו לפחות 3 שעות.
  3. בסוכן, בדוק את ההסכמה abandoned_cart ואת זמינות מספר טלפון עדכני.
  4. שלח SMS דרך email_sent, עדכן את הסטטוס.
  5. רשום את הסוכן עם מחזוריות של 10 דקות.
שלב פעולה משך
1. ניתוח איסוף דרישות, בחירת שער 0.5 יום
2. אינטגרציה חיבור API, ריצת בדיקה 1-2 ימים
3. הגדרת סוכן יצירת סוכן עם הגנה מפני שכפול יום אחד
4. בדיקות אימות עם עגלות בגדלים שונים 0.5 יום
5. פריסה השקה בסביבת ייצור, ניטור 0.5 יום

מה כלול בעבודה?

כאשר אתה מזמין הגדרת התראות SMS על עגלות נטושות, אתה מקבל:

  • ביקורת על איסוף הטלפונים הנוכחי ועל נוהלי הסכמה שיווקית.
  • אינטגרציה של שער ה-SMS הנבחר (SMS.ru, SMSC.ru, MTS Communicator) עם ריצת בדיקה.
  • יצירת סוכן שליחה עם הגנה מפני שכפול וטיפול במגבלות.
  • הגדרת שדה UF_SMS_CONSENT וטופס ההסכמה בחשבון האישי.
  • תיעוד לתמיכה וניטור.
  • הדרכת מנהלים.

תדירות שליחת SMS

אנו שולחים SMS רק פעם אחת, 3 שעות לאחר הדוא"ל אם הוא לא נפתח. הסוכן מעבד לא יותר מ-20 עגלות בכל פעם כדי למנוע עומס על השער. הפתרון שלנו מנצל אוטומציה רב-ערוצית ותורים מתקדמים של הודעות כדי להבטיח מסירה אמינה תוך עמידה במגבלות קצב ובתקנות הגנת מידע.

function sendAbandonedCartSms(): string { $smsClient = new SmsRuClient(getenv('SMSRU_API_ID')); $candidates = AbandonedCartTable::getList([ 'filter' => [ 'STATUS' => 'email_sent', '<EMAIL_SENT_AT' => new \Bitrix\Main\Type\DateTime('-3 hours'), '=SMS_SENT_AT' => false, ], 'limit' => 20, ])->fetchAll(); foreach ($candidates as $row) { $user = \Bitrix\Main\UserTable::getById($row['USER_ID'])->fetch(); if (empty($user['UF_SMS_CONSENT'])) continue; $phone = getUserPhone($row['USER_ID']); if (!$phone) continue; if (hasRecentOrder($row['USER_ID'])) { AbandonedCartTable::update($row['ID'], ['STATUS' => 'recovered']); continue; } $basket = \Bitrix\Sale\Basket::loadItemsForFUser($row['FUSER_ID'], SITE_ID); if ($basket->isEmpty()) continue; $smsText = buildCartSmsText($user['NAME'], $basket->getPrice(), '/basket/'); $sent = $smsClient->send($phone, $smsText); AbandonedCartTable::update($row['ID'], [ 'STATUS' => $sent ? 'sms_sent' : 'sms_failed', 'SMS_SENT_AT' => $sent ? new \Bitrix\Main\Type\DateTime() : null, ]); } return __FUNCTION__ . '();'; } 

טעויות הגדרה נפוצות

  • שליחה ללא בדיקת הסכמה—הפרה של FZ-38, רשימה שחורה של ספק.
  • הודעות כפולות—סוכן ללא דגל שליחה. השתמש בסטטוסים SmsRuClient, UF_SMS_CONSENT.
  • נורמליזציה שגויה של מספרים: function sendAbandonedCartSms(): string { $smsClient = new SmsRuClient(getenv('SMSRU_API_ID')); $candidates = AbandonedCartTable::getList([ 'filter' => [ 'STATUS' => 'email_sent', '<EMAIL_SENT_AT' => new \Bitrix\Main\Type\DateTime('-3 hours'), '=SMS_SENT_AT' => false, ], 'limit' => 20, ])->fetchAll(); foreach ($candidates as $row) { $user = \Bitrix\Main\UserTable::getById($row['USER_ID'])->fetch(); if (empty($user['UF_SMS_CONSENT'])) continue; $phone = getUserPhone($row['USER_ID']); if (!$phone) continue; if (hasRecentOrder($row['USER_ID'])) { AbandonedCartTable::update($row['ID'], ['STATUS' => 'recovered']); continue; } $basket = \Bitrix\Sale\Basket::loadItemsForFUser($row['FUSER_ID'], SITE_ID); if ($basket->isEmpty()) continue; $smsText = buildCartSmsText($user['NAME'], $basket->getPrice(), '/basket/'); $sent = $smsClient->send($phone, $smsText); AbandonedCartTable::update($row['ID'], [ 'STATUS' => $sent ? 'sms_sent' : 'sms_failed', 'SMS_SENT_AT' => $sent ? new \Bitrix\Main\Type\DateTime() : null, ]); } return __FUNCTION__ . '();'; } -> email_sent. שגיאה בקוד תוביל לשליחות ריקות.
  • שליחות תכופות מדי—השער עלול לחסום את החשבון. הגבל את הסוכן ל-20 עגלות בכל פעם.

כיצד לנהל הסכמה לשיווק ב-SMS?

יש להגדיר את השדה sms_sent במהלך ההרשמה או בחשבון האישי—תיבת סימון מפורשת "אני רוצה לקבל SMS עם הצעות אישיות." ללא הסכמה מפורשת, שליחת SMS מפרה את FZ-38. אנו מבטיחים עמידה בחוק במהלך ההגדרה.

פתרון זה מתאים גם ל-1C-Bitrix וגם ל-Bitrix24. לצוות שלנו ניסיון רב שנים עם Bitrix והוא מחזיק בהסמכה "1C-Bitrix: מפתח". השלמנו מעל 50 פרויקטים עם הגדרת התראות. קבל ייעוץ לפרויקט שלך—צור קשר. הזמן הגדרת התראות SMS ושחזר עד 20% מהעגלות הנטושות.