מה קורה כאשר פניות תמיכה חיות בנפרד מההזמנות?
הנציגים צריכים לקפוץ בין Usedesk ל-Bitrix כדי להבין את ההיסטוריה של הלקוח. זה מאט את התגובות, מעלה את שיעור השגיאות ומוריד את ה-LTV. הפתרון שלנו מקשר בין פניות להזמנות בזמן אמת, מעביר אוטומטית נתוני לקוח ומתאים אישית את הווידג'ט. התוצאה — הנציג רואה את התמונה המלאה בחלון אחד, והלקוח מקבל תשובה מהירה ללא שאלות נוספות. עם ניסיון של 5 שנים ויותר מ-100 אינטגרציות מוצלחות, הצוות שלנו מבטיח פעילות חלקה. אנו משלבים את מערכת התמיכה שלכם ב-Usedesk עם Bitrix באמצעות REST API — חיסכון של עד 80% בזמן הנציגים. אינטגרציית 1C-Bitrix Usedesk זו מסנכרנת פניות והזמנות בזמן אמת, ומספקת את כל הפונקציות המרכזיות: סנכרון לקוחות Usedesk Bitrix, התאמה אישית של ווידג'ט Usedesk, וטיפול ב-webhooks של Usedesk Bitrix.
בעיות שהאינטגרציה פותרת
- פער נתונים: ההזמנה קיימת ב-Bitrix, אך אינה נראית בפנייה. הלקוח כותב ושואל על ההזמנה שלו — הנציג מחפש את המספר ידנית. כל לקוח שלישי חוזר על הבקשה, מה שגורם לאובדן של עד 15% LTV. עבור חנות עם 1500 הזמנות בחודש, מדובר ב-225 לקוחות אבודים.
- העברה ידנית: הנציגים מעתיקים דוא"ל, טלפון והיסטוריה ממערכת אחת לאחרת — מבזבזים עד 30 שניות לכל פנייה. ב-200 פניות ביום, מדובר ב-100 דקות של עבודה מבוזבזת. עלות השגיאות מוערכת ב-450–650 דולר לחודש.
- חוסר הקשר: ללא אינטגרציה, אי אפשר להציע אוטומטית הנחה ללקוח חוזר או לשלוח סקר לאחר סגירת הפנייה.
יתרונות אינטגרציית API על פני ייבוא ידני
אינטגרציית API מעבדת בקשות פי 10 מהר יותר מייבוא נתונים ידני. שגיאות נתונים מצטמצמות לאפס, בעוד שבהעברה ידנית שיעור השגיאות מגיע ל-5%. עבור חנות עם 1000 הזמנות ביום, ייבוא ידני לוקח עד שעתיים של עבודת נציג — לעומת 5 דקות לסנכרון אוטומטי. הלקוחות שלנו מדווחים על חיסכון ממוצע של 450–650 דולר לחודש לאחר האינטגרציה. עלות האינטגרציה נעה בדרך כלל בין 400–800 דולר בהתאם למורכבות. האינטגרציה מחזירה את עצמה תוך מספר חודשים, עם חיסכון חודשי ממוצע של 450–650 דולר.
קישור פניות להזמנות בזמן אמת
אנו משתמשים בשדות מותאמים אישית ב-Usedesk. עבור כל פנייה ניתן לציין את מזהה ההזמנה ב-Bitrix. Webhook בעת יצירת פנייה מעדכן שדה זה. הנציג רואה קישור להזמנה בממשק Usedesk ויכול לעבור ל-Bitrix בלחיצה אחת. זרימה הפוכה: כאשר סטטוס ההזמנה משתנה, אנו שולחים תגובה לפנייה.
קישור פניות להזמנות: סנכרון והעברת נתונים
אנו משתמשים ב-REST API של Usedesk ובאירועי 1C-Bitrix (OnAfterUserRegister, OnSaleOrderSaved). הכל עובד על מנגנונים סטנדרטיים: סוכנים למשימות רקע, מטמון מתויג לרשימת הפניות. מחסנית טכנולוגית: PHP 8.1+, בלוקי מידע v2.0, MySQL. תיעוד מלא של Usedesk API זמין בפורטל המפתחים שלהם. עבור גרסאות ענן של Bitrix24, אינטגרציה זמינה דרך REST API עם מגבלות בקשות יומיות המספיקות לחנות טיפוסית; לגרסאות On-Premise אין מגבלות.
סנכרון לקוחות
כאשר משתמש נרשם ב-Bitrix (אירוע OnAfterUserRegister), אנו יוצרים או מוצאים את הלקוח ב-Usedesk. אנו שומרים את המיפוי בשדה המשתמש UF_USEDESK_CLIENT_ID:
AddEventHandler('main', 'OnAfterUserRegister', function(&$fields) {
$email = $fields['LOGIN']; // В Битрикс логин часто = email
// Ищем существующего клиента по email
$response = $usedesk->get('/clients', ['email' => $email]);
if (!empty($response['clients'])) {
$udClientId = $response['clients'][0]['id'];
} else {
// Создаём нового
$response = $usedesk->post('/clients', [
'name' => $fields['NAME'] . ' ' . $fields['LAST_NAME'],
'email' => $email,
'phone' => $fields['PERSONAL_PHONE'] ?? '',
'custom_fields' => [
['id' => USEDESK_CF_BITRIX_USER_ID, 'value' => $fields['ID']],
],
]);
$udClientId = $response['client']['id'];
}
// Сохраняем маппинг
\CUser::SetUserField([], $fields['ID'], 'UF_USEDESK_CLIENT_ID', $udClientId);
});
העברת נתוני הזמנה לפנייה
כאשר נוצרת הזמנה חדשה (אירוע AddEventHandler('main', 'OnAfterUserRegister', function(&$fields) { $email = $fields['LOGIN']; // В Битрикс логин часто = email // Ищем существующего клиента по email $response = $usedesk->get('/clients', ['email' => $email]); if (!empty($response['clients'])) { $udClientId = $response['clients'][0]['id']; } else { // Создаём нового $response = $usedesk->post('/clients', [ 'name' => $fields['NAME'] . ' ' . $fields['LAST_NAME'], 'email' => $email, 'phone' => $fields['PERSONAL_PHONE'] ?? '', 'custom_fields' => [ ['id' => USEDESK_CF_BITRIX_USER_ID, 'value' => $fields['ID']], ], ]); $udClientId = $response['client']['id']; } // Сохраняем маппинг \CUser::SetUserField([], $fields['ID'], 'UF_USEDESK_CLIENT_ID', $udClientId); }); ), אנו כותבים נתונים לשדות המותאמים אישית של הלקוח ב-Usedesk. זה מעשיר את כרטיס הלקוח בהיסטוריית רכישות:
AddEventHandler('sale', 'OnSaleOrderSaved', function(\Bitrix\Main\Event $event) {
$order = $event->getParameter('ENTITY');
if ($order->isNew()) {
$userId = $order->getUserId();
$udClientId = \CUser::GetByID($userId)->Fetch()['UF_USEDESK_CLIENT_ID'] ?? null;
if (!$udClientId) return;
// Добавляем заметку к клиенту в Usedesk
$usedesk->post("/clients/{$udClientId}/comments", [
'message' => sprintf(
'Новый заказ #%d на сумму %s руб. Статус: %s',
$order->getId(),
number_format($order->getPrice(), 2, ',', ' '),
$order->getField('STATUS_ID')
),
'type' => 'note',
]);
}
}); ווידג'ט Usedesk וחשבון אישי
התאמה אישית של הווידג'ט
Usedesk מספקת ווידג'ט JS. לצורך התאמה אישית עם משתמש מורשה, אנו מעבירים את הנתונים שלו:
(function(d, w, c) {
w.usedeskSettings = {
company_id: "<?= USEDESK_COMPANY_ID ?>",
<?php if ($USER->IsAuthorized()): ?>
user: {
name: "<?= htmlspecialchars($USER->GetFullName()) ?>",
email: "<?= htmlspecialchars($USER->GetEmail()) ?>",
fields: {
custom_id: "<?= $USER->GetID() ?>"
}
},
<?php endif; ?>
};
var s = d.createElement("script");
s.type = "text/javascript";
s.async = true;
s.src = "https://secure.usedesk.ru/widget.js";
d.getElementsByTagName("head")[0].appendChild(s);
})(document, w, c);
"}זה מאפשר ל-Usedesk לקשר אוטומטית את סשן הצ'אט לכרטיס הלקוח לפי דוא"ל.
הצגת פניות בחשבון האישי
בחשבון האישי של Bitrix, אנו מוסיפים סעיף "הבקשות שלי". הרכיב מביא את הפניות של הלקוח דרך Usedesk API לפי OnSaleOrderSaved:
$udClientId = $USER->GetParam('UF_USEDESK_CLIENT_ID');
$tickets = $usedesk->get('/tickets', [
'client_id' => $udClientId,
'per_page' => 20,
'page' => (int)$_GET['page'] ?: 1,
]);
רשימת הפניות נשמרת במטמון למשך 60 שניות (AddEventHandler('sale', 'OnSaleOrderSaved', function(\Bitrix\Main\Event $event) { $order = $event->getParameter('ENTITY'); if ($order->isNew()) { $userId = $order->getUserId(); $udClientId = \CUser::GetByID($userId)->Fetch()['UF_USEDESK_CLIENT_ID'] ?? null; if (!$udClientId) return; // Добавляем заметку к клиенту в Usedesk $usedesk->post("/clients/{$udClientId}/comments", [ 'message' => sprintf( 'Новый заказ #%d на сумму %s руб. Статус: %s', $order->getId(), number_format($order->getPrice(), 2, ',', ' '), $order->getField('STATUS_ID') ), 'type' => 'note', ]); } }); ).
טיפול ב-webhooks מ-Usedesk
דוגמה למטפל webhook
כאשר סטטוס הפנייה משתנה, Usedesk שולחת webhook למטפל שלנו. מקרה שימוש טיפוסי: כאשר פנייה נסגרת (סטטוס `resolved`), שלח ללקוח דוא"ל מ-Bitrix עם בקשה להשאיר ביקורת.// /api/usedesk-webhook.php
$payload = json_decode(file_get_contents('php://input'), true);
// Верификация подписи
$sig = hash_hmac('sha256', file_get_contents('php://input'), USEDESK_WEBHOOK_SECRET);
if (!hash_equals($sig, $_SERVER['HTTP_X_USEDESK_SIGNATURE'] ?? '')) {
http_response_code(403);
exit;
}
if ($payload['event'] === 'ticket.resolved') {
$email = $payload['ticket']['client']['email'] ?? '';
if ($email) {
\Bitrix\Main\Mail\Event::send([
'EVENT_NAME' => 'SUPPORT_RESOLVED_REVIEW_REQUEST',
'LID' => SITE_ID,
'C_FIELDS' => ['EMAIL' => $email, 'TICKET_ID' => $payload['ticket']['id']],
]);
}
} השוואה: אינטגרציית API מול ייבוא ידני
| פרמטר | אינטגרציית API | ייבוא/ייצוא ידני |
|---|---|---|
| מהירות עדכון | זמן אמת | פעם ביום |
| שגיאות נתונים | 0% (אוטומטי) | עד 5% (שגיאת אנוש) |
| עומס על נציגים | 5 דקות ביום | 10–15 דקות ביום |
| מדרגיות | ללא הגבלה | דורש גיוס עובדים |
| חיסכון בעלויות | עד 450–650 דולר לחודש | עלות ידנית עולה |
מה כלול
- הגדרת לקוח API — יצירת ספריית PHP לעבודה עם Usedesk (Guzzle או cURL).
- סנכרון לקוחות — מיפוי משתמשי Bitrix ל-Usedesk דרך אירועי רישום.
- העברת הזמנות — העשרה אוטומטית של כרטיס הלקוח בהיסטוריית רכישות.
- ווידג'ט מותאם אישית — העברת שם המשתמש, דוא"ל ומזהה לווידג'ט.
- מטפל webhook — קבלת אירועים מ-Usedesk (סטטוסי פניות, הודעות חדשות).
- חשבון אישי — רכיב להצגת פניות באתר Bitrix.
- תיעוד והדרכה — תיאור ארכיטקטורה, הוראות לנציגים.
תהליך ולוח זמנים
אנו עובדים באיטרציות: ניתוח → עיצוב → יישום → בדיקות → פריסה.
| שלב | משך |
|---|---|
| ניתוח ואיסוף דרישות | יום אחד |
| עיצוב סכמת נתונים | יום אחד |
| פיתוח (לקוח API, אירועים, ווידג'ט, webhook, חשבון אישי) | 4–5 ימים |
| בדיקות בסביבת בדיקה | יום אחד |
| פריסה וניטור | 0.5 יום |
| סה"כ | 7–9 ימים |
לוח הזמנים המשוער הוא 7 עד 9 ימי עבודה. העלות מחושבת באופן אישי עבור הפרויקט שלכם. אנו מבטיחים פעילות יציבה של האינטגרציה ומספקים תמיכה לאחר הפרויקט: תיקוני באגים, שינויים וייעוץ.
הזמינו את האינטגרציה עכשיו — צרו קשר לקבלת ייעוץ. קבלו הערכה אישית של לוח זמנים ועלות.

