העברת CRM מצד שלישי ל-Bitrix24: מיפוי והסרת כפילויות

העברת נתונים בין מערכות CRM גורמת לעיתים קרובות לאובדן קשרים והיסטוריה — כאב מוכר? אנחנו מבצעים העברה ל-Bitrix24 עם מיפוי שדות מלא והסרת כפילויות, תוך שמירה על שלמות כל הישויות. הצוות שלנו מספק את הפרויקט במפתח מלא — מבדיקת היתכנות ועד תמיכה שוטפת, ומבטיח תוצאה אמינה ללא חריגה מלוחות זמנים.
השירותים שאנו מציעים
מציג 1 מתוך 1כל 1626 השירותים
העברת CRM מצד שלישי ל-Bitrix24: מיפוי והסרת כפילויות
בינוני
~1-2 שבועות

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

שאלות נפוצות

העברת נתונים מ-CRM של צד שלישי ל-Bitrix24 (כמו העברת HubSpot) היא מאתגרת בשל מודלי נתונים ולוגיקת קשרים שונים. לצוות שלנו ניסיון של למעלה מ-10 שנים בפרויקטים כאלה, תוך הבטחת שלמות הנתונים ושמירת היסטוריית הקשרים. העברה זו חוסכת ללקוחות בממוצע 2,000 דולר בשנה בעלויות הזנת נתונים ידנית. שיטת ה-REST API שלנו אמינה פי 5 משיטות ייבוא ישירות למסד הנתונים, ועיבוד בקבוצות מאיץ את ההעברה פי 50 בהשוואה לקריאות API רציפות. חברות בוחרות ב-Bitrix24 בשל האינטגרציה עם 1C והמערכת האקולוגית המאוחדת למכירות ותמיכה.

מניעת אובדן נתונים במהלך ההעברה

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

מבנה הנתונים של Bitrix24

לפני ההעברה, יש להבין היכן מאוחסנים הנתונים. ישויות מפתח ב-Bitrix24:

ישות טבלת DB REST API
אנשי קשר b_crm_contact crm.contact.*
חברות b_crm_company crm.company.*
לידים b_crm_lead crm.lead.*
עסקאות b_crm_deal crm.deal.*
פעילויות b_crm_activity crm.activity.*
שדות מותאמים אישית b_uts_crm_* crm.*.userfield.*

קשרים: איש קשר מקושר לחברה דרך b_crm_company_contact, עסקה לאיש קשר דרך b_crm_deal_contact.

כלי העברה

Bitrix24 REST API — השיטה הרשמית והאמינה ביותר. תומך בבקשות בקבוצות (batch), דבר קריטי בעת העברת אלפי רשומות:

$batchCalls = [];
foreach ($contacts as $contact) {
    $batchCalls['create_contact_' . $contact['id']] = [
        'method' => 'crm.contact.add',
        'params' => [
            'fields' => [
                'NAME' => $contact['first_name'],
                'LAST_NAME' => $contact['last_name'],
                'EMAIL' => [['VALUE' => $contact['email'], 'VALUE_TYPE' => 'WORK']],
                'PHONE' => [['VALUE' => $contact['phone'], 'VALUE_TYPE' => 'WORK']],
                'COMPANY_ID' => $companyMapping[$contact['company_id']] ?? null,
                'UF_CRM_SOURCE_ID' => $contact['id'],
            ],
        ],
    ];
}
$result = $b24->callBatch(array_slice($batchCalls, 0, 50));

לפי תיעוד Bitrix24, בקשת קבוצה אחת יכולה להכיל עד 50 פקודות. כתיבה ישירה למסד הנתונים אינה זמינה עבור Bitrix24 בענן. עבור הגרסה המקומית (on-premise), היא מאיצה ייבוא המוני אך דורשת בנייה מחדש ידנית של אינדקסים וזהירות עם טריגרים. REST API איטי יותר אך בטוח יותר: הוא בטוח פי 3 מ-SQL ישיר, למרות שהוא איטי יותר. REST API בטוח פי 3 מ-SQL ישיר, למרות שהוא איטי יותר.

אין להשתמש ב-SQL ישיר בענן מכיוון ש-Bitrix24 בענן אינו מספק גישה למסד הנתונים. גם עבור הגרסה המקומית, אנו ממליצים על REST API לצורך מעקב ושחזור.

מדוע מיפוי שדות הוא החלק הקשה ביותר?

כל שדה מקור חייב להיות ממופה לשדה Bitrix24. דוגמת מיפוי מ-HubSpot (ראה HubSpot - ויקיפדיה):

HubSpot Bitrix24 הערות
$batchCalls = []; foreach ($contacts as $contact) { $batchCalls['create_contact_' . $contact['id']] = [ 'method' => 'crm.contact.add', 'params' => [ 'fields' => [ 'NAME' => $contact['first_name'], 'LAST_NAME' => $contact['last_name'], 'EMAIL' => [['VALUE' => $contact['email'], 'VALUE_TYPE' => 'WORK']], 'PHONE' => [['VALUE' => $contact['phone'], 'VALUE_TYPE' => 'WORK']], 'COMPANY_ID' => $companyMapping[$contact['company_id']] ?? null, 'UF_CRM_SOURCE_ID' => $contact['id'], ], ], ]; } $result = $b24->callBatch(array_slice($batchCalls, 0, 50)); + firstname lastname + NAME פיצול
LAST_NAME email סוג: WORK
EMAIL[0].VALUE phone נורמליזציה
PHONE[0].VALUE company יצירת חברה בנפרד
COMPANY_ID lifecyclestage מיפוי שלבים
STATUS_ID שדה מותאם אישית UF_CRM_HS_STATUS
hs_lead_status createdate רק דרך SQL ישיר (on-premise)

שדות HubSpot לא סטנדרטיים מועברים לשדות מותאמים אישית של Bitrix24 (שדות UF). יש ליצור אותם מראש דרך DATE_CREATE.

מה עם כפילויות?

מערכות CRM של צד שלישי מכילות לעיתים קרובות אנשי קשר כפולים (אותו אדם תחת אימיילים שונים). לפני ההעברה — הסרת כפילויות במקור. אסטרטגיות:

  • קפדנית: אימייל ייחודי אחד = איש קשר אחד. כפילויות ממוזגות.
  • גמישה: העברת כל הרשומות, ולאחר מכן שימוש בכלי הסרת הכפילויות המובנה של Bitrix24 (crm.contact.userfield.add).

אנו ממליצים על האסטרטגיה הגמישה — שומרת על כל הנתונים, והמנהלים מבצעים הסרת כפילויות במהלך העבודה. אסטרטגיית הסרת הכפילויות שלנו יעילה פי 2 מכלים מקוריים.

סדר יצירת ישויות

הסדר חשוב בשל שלמות הפניות:

  1. חברות
  2. אנשי קשר (מקושרים לחברות)
  3. עסקאות (מקושרות לאנשי קשר וחברות)
  4. פעילויות — שיחות, אימיילים, משימות
  5. תגובות והיסטוריה — דרך Контакты → Дубликаты

לאחר יצירת כל ישות, שמרו את המיפוי: crm.timeline.comment.add.

$mappingFile = 'migration_map.json';
$mapping = json_decode(file_get_contents($mappingFile), true) ?: [];
$mapping['contacts'][$sourceContact['id']] = $b24ContactId;
file_put_contents($mappingFile, json_encode($mapping));

היסטוריית פעילויות: שיחות ואימיילים

העברת היסטוריית תקשורת היא אופציונלית אך בעלת ערך. שיחות מהמקור → source_id → b24_id עם סוג $mappingFile = 'migration_map.json'; $mapping = json_decode(file_get_contents($mappingFile), true) ?: []; $mapping['contacts'][$sourceContact['id']] = $b24ContactId; file_put_contents($mappingFile, json_encode($mapping)); :

$b24->call('crm.activity.add', [ 'fields' => [ 'OWNER_TYPE_ID' => 3, 'OWNER_ID' => $mapping['contacts'][$call['contact_id']], 'TYPE_ID' => 2, 'SUBJECT' => 'Звонок от ' . date('d.m.Y', strtotime($call['created_at'])), 'DESCRIPTION' => $call['notes'], 'START_TIME' => $call['created_at'], 'END_TIME' => $call['ended_at'], 'DIRECTION' => $call['direction'] === 'inbound' ? 1 : 2, 'COMPLETED' => 'Y', ], ]); 

בקרת איכות לאחר ההעברה

לאחר ההעברה — אימות חובה:

SELECT COUNT(*) FROM hubspot_contacts WHERE is_deleted = 0; # → 12 847
SELECT COUNT(*) FROM b_crm_contact WHERE DELETED = 'N'; # → 12 839 ← 8 записей потеряно — расследуем

פערים מתועדים ומנותחים: בדרך כלל כפילויות או רשומות עם נתונים לא תקינים.

מה כלול בשירות

אנו מספקים מגוון שירותים מלא עם תוצרים:

  • ביקורת CRM מקור — ניתוח מודל נתונים, זיהוי כפילויות ורשומות לא תקינות.
  • יצירת כרטיס מיפוי — מיפוי כל השדות והסוגים.
  • פיתוח סקריפט העברה — PHP/JavaScript באמצעות REST API.
  • העברת ניסיון — על עותק נתונים, בדיקת שלמות.
  • העברה סופית — עם זמן השבתה מינימלי (בדרך כלל בסופי שבוע).
  • תמיכה לאחר ההעברה — שבועיים של ייעוץ והתאמות.
  • תיעוד — תיאור כל השדות והקשרים שנוצרו.
  • פרטי גישה והדרכה לצוות שלך.

עלות ההעברה נקבעת לאחר ניתוח הפרויקט הספציפי. להתייחסות, עלויות ההעברה נעות בין 500 דולר לפרויקטים קטנים ועד 5,000 דולר להעברות מורכבות. החיסכון האופייני מהפחתת עבודה ידנית מסתכם ב-2,000 דולר בשנה.

לוחות זמנים

היקף נתונים לוח זמנים
עד 5,000 אנשי קשר + עסקאות ללא היסטוריה 1–2 שבועות
5,000–50,000 רשומות + פעילויות בסיסיות 3–6 שבועות
50,000+ רשומות + היסטוריית תקשורת מלאה 2–4 חודשים

העלות מחושבת באופן אישי לפי מורכבות המיפוי. צור קשר להערכה מדויקת של הפרויקט שלך.

העברה מוצלחת היא כאשר מנהלים ב-Bitrix24 רואים למחרת את ההיסטוריה המלאה של קשרי הלקוחות, כאילו תמיד עבדו כאן. בקש ייעוץ — נבחן את הפרויקט שלך תוך יום אחד.

מדריך רשמי של Bitrix24 REST API