Інтеграція 1С-Бітрікс з Talk-Me
Talk-Me — багатоканальна платформа: онлайн-чат, зворотний дзвінок, агрегатор месенджерів (WhatsApp, Telegram, Viber) в єдиному операторському інтерфейсі. Інтеграція з 1С-Бітрікс охоплює стандартний блок передачі даних користувача та специфічний для Talk-Me механізм роботи з каналами.
Встановлення віджету Talk-Me
<!-- У шаблоні Бітрікс, перед </body> -->
<script>
(function(w,d,u,i){
w.TalkMe=w.TalkMe||function(){(w.TalkMe.q=w.TalkMe.q||[]).push(arguments)};
i=d.createElement('script');i.async=true;i.src=u+'?'+parseInt(Date.now()/60000);
d.head.appendChild(i);
})(window,document,'https://cdn.talk-me.ru/js/talk-me.js');
TalkMe('init', {projectId: 'YOUR_PROJECT_ID'});
</script>
Ідентифікація користувача з Бітрікс
<?php if ($USER->IsAuthorized()):
$userId = $USER->GetID();
$userEmail = $USER->GetEmail();
$userName = $USER->GetFullName();
?>
<script>
TalkMe('identify', {
userId: 'bx-<?= $userId ?>',
name: <?= json_encode($userName) ?>,
email: <?= json_encode($userEmail) ?>,
phone: <?= json_encode(getUserPhone($userId)) ?>,
tags: ['bitrix-user', <?= getUserOrdersCount($userId) > 0 ? "'customer'" : "'prospect'" ?>],
custom: {
orders_count: <?= getUserOrdersCount($userId) ?>,
total_spent: <?= getUserTotalSpent($userId) ?>,
loyalty: <?= json_encode(getUserLoyaltyLevel($userId)) ?>,
},
});
</script>
<?php endif; ?>
tags — корисна функція Talk-Me: оператор одразу бачить теги в картці контакту та може фільтрувати чергу звернень за тегом. Теги customer і prospect дають змогу направляти звернення до потрібних груп операторів.
Налаштування маршрутизації звернень
Talk-Me підтримує маршрутизацію: різні сторінки сайту — різні групи операторів. Реалізується через параметри ініціалізації:
// На сторінці каталогу — направляємо до операторів відділу продажів
TalkMe('setGroup', 'sales');
// На сторінці підтримки або відстеження замовлення — до підтримки
TalkMe('setGroup', 'support');
Групи налаштовуються в адміністративній панелі Talk-Me. У Бітрікс групу визначають за поточним URL або типом сторінки:
<?php
$group = 'general';
if (strpos($_SERVER['REQUEST_URI'], '/catalog/') !== false) $group = 'sales';
if (strpos($_SERVER['REQUEST_URI'], '/order/') !== false) $group = 'support';
?>
<script>
TalkMe('setGroup', <?= json_encode($group) ?>);
</script>
Зворотний дзвінок: інтеграція з телефонією
Talk-Me має вбудований віджет зворотного дзвінка. При його використанні разом з онлайн-чатом важливо уникнути конфлікту з іншими віджетами зворотного дзвінка, які можуть бути встановлені на 1С-Бітрікс. Вимкніть дублюючі віджети: якщо Talk-Me використовується як основний інструмент комунікації — прибирайте окремі віджети дзвінка.
Webhook Talk-Me для CRM
// /local/api/talkme-webhook.php
$payload = json_decode(file_get_contents('php://input'), true);
$sig = $_SERVER['HTTP_X_TALKME_SIGNATURE'] ?? '';
// Верифікація підпису
if (hash_hmac('sha256', file_get_contents('php://input'), 'YOUR_WEBHOOK_SECRET') !== $sig) {
http_response_code(403);
exit('Invalid signature');
}
$eventType = $payload['event'] ?? '';
if ($eventType === 'chat.closed') {
$visitor = $payload['visitor'];
$messages = $payload['messages'];
$transcript = implode("\n", array_map(fn($m) => "[{$m['from']}]: {$m['text']}", $messages));
createBitrix24Lead([
'TITLE' => 'Talk-Me: ' . ($visitor['name'] ?? $visitor['phone'] ?? 'Гість'),
'NAME' => $visitor['name'] ?? '',
'EMAIL' => $visitor['email'] ?? '',
'PHONE' => $visitor['phone'] ?? '',
'COMMENTS' => $transcript,
'SOURCE_DESCRIPTION' => 'Talk-Me, канал: ' . ($payload['channel'] ?? 'chat'),
]);
}
http_response_code(200);
echo 'ok';
Talk-Me передає в payload поле channel — це дозволяє розрізняти звернення з чату на сайті, WhatsApp, Telegram і створювати ліди з різним позначенням джерела.
Надсилання подій з Бітрікс у Talk-Me
Для персоналізованих автоповідомлень Talk-Me потрібна інформація про поведінку користувача:
// Після додавання товару до кошика
TalkMe('event', 'add_to_cart', {
product_name: productName,
price: price,
quantity: quantity,
});
// Після оформлення замовлення
TalkMe('event', 'order_placed', {
order_id: orderId,
total_price: totalPrice,
});
На основі цих подій у Talk-Me налаштовуються автоматичні повідомлення — наприклад, через 5 хвилин після add_to_cart без наступного order_placed оператор отримує сповіщення або система надсилає автоповідомлення клієнту.
Склад робіт: встановлення віджету, ідентифікація користувача, маршрутизація — 1–2 дні. Webhook та CRM-інтеграція — ще 1–2 дні. Налаштування тригерних подій — 1 день.







