Интеграция 1С-Битрикс с Talk-Me
Talk-Me — многоканальная платформа: онлайн-чат, обратный звонок, агрегатор мессенджеров (WhatsApp, Telegram, Viber) в одном операторском интерфейсе. Интеграция с Битрикс включает стандартный блок передачи данных пользователя и специфичный для 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 имеет встроенный виджет обратного звонка. При его использовании вместе с онлайн-чатом важно избежать конфликта с другими виджетами обратного звонка, которые могут быть установлены на Битрикс. Отключите дублирующие виджеты: если 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 день.







