שילוב Bitrix24 עם 3CX
תארו לעצמכם: החברה שלכם משתמשת ב-3CX וב-Bitrix24, אבל שיחות לא מתועדות ב-CRM. מנהלים מבזבזים זמן על הזנת נתונים ידנית, לידים הולכים לאיבוד, וקשה לעקוב אחרי איכות השירות. זהו תרחיש טיפוסי שדורש שילוב טלפוניה חלק. אנחנו פותרים את זה — סנכרון שיחות, הקלטות ויצירה אוטומטית של כרטיסי CRM. כאן נפרט את הפרטים הטכניים של שתי שיטות השילוב הרשמיות ונשתף מכשולים שנתקלנו בהם בפועל. לצוות שלנו יש הסמכות עם ניסיון של 10+ שנים ב-Bitrix24 וב-3CX, וביצענו מעל 50 שילובי טלפוניה. באמצעות אוטומציה, אתם חוסכים עד 20 שעות עבודה למנהל בחודש — זה עד $600 חיסכון חודשי למנהל.
3CX היא מרכזיית IP מסחרית עם ממשק אינטרנט מעוצב ומערכת אפליקציות לקוח משלה. בניגוד ל-Asterisk, 3CX מציעה API מובנה לשילובים — מה שמפשט את המשימה אבל מטיל אילוצים ארכיטקטוניים.
הגדרת שילוב CRM מותאם אישית ב-3CX עבור Bitrix24
- ב-3CX Management Console, עבור אל CRM Integration → Custom CRM.
- הגדר את ה-URL לאירוע "שיחה נענתה":
הפרמטרים נשלחים בגוף ה-POST:https://ваш_портал.bitrix24.ru/rest/КЛЮЧ/telephony.externalcall.register/{ "USER_PHONE_INNER": "%Ext%", "PHONE_NUMBER": "%CallerNumber%", "CALL_START_DATE": "%CallStarted%", "CRM_CREATE": "Y", "TYPE": "%Direction%" } - הגדר את ה-URL לאירוע "שיחה הסתיימה":
פרמטרים:https://ваш_портал.bitrix24.ru/rest/КЛЮЧ/telephony.externalcall.finish/{ "CALL_ID": "%call_id_saved%", "DURATION": "%TalkDuration%", "STATUS_CODE": "200" }בעיה: שילוב CRM מותאם אישית ב-3CX אינו מספק אחסון מצב — לא ניתן לשמור את
https://ваш_портал.bitrix24.ru/rest/КЛЮЧ/telephony.externalcall.register/מתגובת Bitrix24 ולהעביר אותו בסיום. זהו מגבלה מרכזית: לשילוב מלא עם שמירת{ "USER_PHONE_INNER": "%Ext%", "PHONE_NUMBER": "%CallerNumber%", "CALL_START_DATE": "%CallStarted%", "CRM_CREATE": "Y", "TYPE": "%Direction%" }, יש צורך בשרת ביניים.למה יש צורך בשרת ביניים עבור CALL_ID
ארכיטקטורה עם מטפל ביניים פותרת את הבעיה:
3CX → webhook → PHP/Node.js обработчик ↓ Битрикс24 REST API → получаем CALL_ID ↓ Сохраняем CALL_ID в Redis/БД с ключом = UNIQUEID звонка ↓ 3CX → webhook завершения → обработчик ↓ Достаём CALL_ID из Redis ↓ telephony.externalcall.finish ↓ Прикрепляем записьזה מוסיף רכיב תשתית אבל נותן שליטה מלאה על השילוב. אנחנו משתמשים בגישה זו בכל פרויקט — היא אמינה יותר וניתנת להרחבה. העלות הממוצעת מוחזרת תוך 3-6 חודשים על ידי ביטול הזנה ידנית.
הקלטת שיחות: איך להעביר ל-Bitrix24
3CX מאחסנת הקלטות בתיקיית שרת או באחסון ענן (תלוי בגרסה ובהגדרות). גשו לקבצים דרך 3CX Recording Storage API או ישירות דרך מערכת הקבצים. כדי להעביר ל-Bitrix24, סקריפט רץ לאחר סיום השיחה, שואל את ה-API של 3CX עבור כתובת ההקלטה ומעלה אותה דרך
https://ваш_портал.bitrix24.ru/rest/КЛЮЧ/telephony.externalcall.finish/.3CX מחזירה את כתובת ההקלטה דרך ה-API שלה לשיחות:
GET /api/recordings?callId={callId}האימות משתמש ב-JWT token (גרסת 3CX 18+):
{ "CALL_ID": "%call_id_saved%", "DURATION": "%TalkDuration%", "STATUS_CODE": "200" }.בעיות 3CX SBC ו-NAT: מה לבדוק
3CX נפרסת לעיתים קרובות עם SBC (Session Border Controller) למעבר NAT. בעת שילוב עם Bitrix24 דרך SIP trunk, ודאו שה-IP החיצוני של ה-SBC מוגדר בהגדרות ה-SIP trunk של Bitrix24. אחרת, תתרחש אודיו חד-כיווני במהלך שיחות מ-Bitrix24 ל-3CX. זו טעות נפוצה שאנחנו תופסים במהלך ביקורת. צריכים עזרה עם התשתית שלכם? צרו קשר — נבדוק את התצורה שלכם.
השוואת שיטות שילוב
שיטה גמישות צורך בשרת נוסף מורכבות הגדרה שילוב CRM מותאם אישית נמוכה (אירועים בסיסיים בלבד) כן (עבור CALL_ID) נמוכה Call Flow Designer + Webhooks גבוהה (כל תרחיש) אופציונלי בינונית שגיאות נפוצות ופתרונות
שגיאה סיבה פתרון אודיו חד-כיווני תצורת NAT שגויה הגדר IP חיצוני של SBC ב-SIP trunk לא נוצר כרטיס CRM חסר CALL_IDודא שהשלוחה מקושרת למשתמש Bitrix24 הקלטה לא מצורפת חוסר התאמה ב-CALL_ID השתמש בשרת ביניים לאחסון מיפויים מקרה בוחן: צוות מבוזר, 3CX בענן
חברת IT עם משרדים בשתי ערים השתמשה ב-3CX Hosted (גרסת ענן). דרישה: כאשר לקוח מתקשר למספר במוסקבה ומגיע למנהל בסנט פטרסבורג, השיחה ב-Bitrix24 חייבת להיווצר עבור המנהל בסנט פטרסבורג אבל להיות מקושרת למספר הנכנס במוסקבה.
שילוב CRM מותאם אישית של 3CX אינו תומך במיפוי שלוחות פנימיות למשתמשי Bitrix24. פתרנו זאת עם מטפל ביניים המכיל טבלת חיפוש:
CALL_ID. בעת רישום שיחה, המטפל בודק את הטבלה ומגדיר את3CX → webhook → PHP/Node.js обработчик ↓ Битрикс24 REST API → получаем CALL_ID ↓ Сохраняем CALL_ID в Redis/БД с ключом = UNIQUEID звонка ↓ 3CX → webhook завершения → обработчик ↓ Достаём CALL_ID из Redis ↓ telephony.externalcall.finish ↓ Прикрепляем записьהנכון. ההגדרה ארכה 7 ימי עבודה. ללקוח יש כעת טלפוניה אוטומטית מלאה עם ניתוב נכון.מה כולל שירות השילוב שלנו
- ביקורת של תצורת 3CX ו-Bitrix24 הנוכחית.
- עיצוב ארכיטקטורה (שרת ביניים, מיפוי, הקלטות).
- הגדרת שילוב CRM מותאם אישית או CFD לצרכים שלכם.
- פיתוח מטפל ביניים (PHP/Node.js) עם שמירת CALL_ID.
- שילוב הקלטות: 3CX API → העלאה ל-Bitrix24.
- פתרון בעיות NAT/SBC ו-SIP trunks.
- בדיקות והדרכת משתמשים.
- תמיכה עם אחריות ל-30 יום.
אנחנו מעריכים את הפרויקט שלכם תוך 1-2 ימים. צרו קשר — נמצא את הפתרון הטוב ביותר עבור התשתית שלכם.

