Інтеграція 1С-Бітрікс з JivoSite
JivoSite — один із найпоширеніших онлайн-чатів на ринку. Базова установка займає 5 хвилин: вставив скрипт віджета — і готово. Але є рівень інтеграції, який робить чат справді корисним для бізнесу: передача даних про користувача з Бітрікс у вікно агента Jivo, синхронізація контактів і звернень із CRM.
Рівні інтеграції
Рівень 1 — базовий. Установка скрипту JivoSite на всі сторінки сайту. Для Бітрікс це робиться через адміністративний інтерфейс: Налаштування → Налаштування продукту → JS-фрагменти або через компонент bitrix:main.include у шаблоні сайту.
<!-- У шаблоні сайту, перед </body> -->
<script src="//code.jivosite.com/widget/{JIVO_ID}" async></script>
Рівень 2 — передача даних користувача. Коли відвідувач авторизований на сайті Бітрікс, передаємо в Jivo його ім'я, email, телефон — агент одразу бачить, з ким розмовляє.
Рівень 3 — події та custom data. Передаємо контекст: поточну сторінку, товари в кошику, історію замовлень — агент бачить поведінку клієнта без зайвих запитань.
Рівень 4 — інтеграція з CRM Бітрікс24. Звернення з Jivo автоматично створюють ліди або контакти в Бітрікс24 CRM.
Передача даних авторизованого користувача
JivoSite надає JavaScript API для передачі контактних даних:
// У шаблоні Бітрікс, після авторизації користувача
// Дані беруться з PHP і передаються в JS через data-атрибути або змінні
<?php if ($USER->IsAuthorized()): ?>
<script>
jivo_api.setContactInfo({
name: "<?= htmlspecialchars($USER->GetFullName()) ?>",
email: "<?= htmlspecialchars($USER->GetEmail()) ?>",
phone: "<?= htmlspecialchars(getUserPhone($USER->GetID())) ?>",
description: "ID: <?= $USER->GetID() ?>, замовлень: <?= getUserOrdersCount($USER->GetID()) ?>"
});
</script>
<?php endif; ?>
getUserPhone() та getUserOrdersCount() — ваші допоміжні функції, що роблять запит до b_user_field (або до b_sale_order) для отримання потрібних даних. Не робіть важкі запити прямо в шаблоні — кешуйте результат у сесії або використовуйте кеш CPHPCache.
Передача даних про кошик і замовлення
Jivo дозволяє передавати довільні користувацькі дані через jivo_api.setCustomData():
<?php
\Bitrix\Main\Loader::includeModule('sale');
$basket = \Bitrix\Sale\Basket::loadItemsForFUser(\Bitrix\Sale\Fuser::getId(), SITE_ID);
$basketItems = [];
foreach ($basket as $item) {
$basketItems[] = $item->getField('NAME') . ' × ' . (int)$item->getField('QUANTITY');
}
?>
<script>
jivo_api.setCustomData([
{
title: "Кошик",
content: "<?= htmlspecialchars(implode(', ', $basketItems) ?: 'порожній') ?>"
},
{
title: "Останнє замовлення",
content: "<?= htmlspecialchars(getLastOrderInfo($USER->GetID())) ?>"
}
]);
</script>
Це відображається в бічній панелі агента Jivo — праворуч від чату — без необхідності питати клієнта.
Інтеграція з CRM Бітрікс24 через Jivo Webhook
JivoSite вміє надсилати webhook при завершенні діалогу. Мета: автоматично створювати лід або контакт у Бітрікс24.
У налаштуваннях Jivo: Канали → Налаштувати → Вебхуки → URL для завершення чату.
Обробник у Бітрікс24 (через REST API):
// /local/api/jivo-webhook.php
$data = json_decode(file_get_contents('php://input'), true);
$visitorName = $data['visitor']['name'] ?? 'Відвідувач';
$visitorEmail = $data['visitor']['email'] ?? '';
$visitorPhone = $data['visitor']['phone'] ?? '';
$chatId = $data['id'] ?? '';
$chatUrl = $data['chat_url'] ?? '';
// Створюємо лід у Бітрікс24 через REST
$bitrix24Url = 'https://your-domain.bitrix24.ru/rest/{USER_ID}/{API_KEY}/';
$leadData = [
'fields' => [
'TITLE' => 'Чат JivoSite: ' . $visitorName,
'NAME' => $visitorName,
'EMAIL' => [['VALUE' => $visitorEmail, 'VALUE_TYPE' => 'WORK']],
'PHONE' => [['VALUE' => $visitorPhone, 'VALUE_TYPE' => 'WORK']],
'COMMENTS' => 'Джерело: JivoSite. Чат: ' . $chatUrl,
'SOURCE_ID' => 'OTHER',
'SOURCE_DESCRIPTION' => 'JivoSite Chat #' . $chatId,
],
];
$ch = curl_init($bitrix24Url . 'crm.lead.add.json');
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($leadData));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = json_decode(curl_exec($ch), true);
curl_close($ch);
http_response_code(200);
echo json_encode(['status' => 'ok', 'lead_id' => $result['result'] ?? null]);
Синхронізація email та телефону з профілем Бітрікс
Якщо клієнт залишає контакти в чаті, їх можна дописати в профіль користувача Бітрікс при наступній авторизації. Для цього Jivo передає дані у webhook, а ви зберігаєте їх у сесії або тимчасовій таблиці з прив'язкою до ідентифікатора cookie-сесії Jivo (visitor_uid).
Кейс: інтернет-магазин, 200+ чатів на день
Магазин електроніки. Агенти витрачали 2–3 хвилини кожного чату на уточнення даних: «Який у вас номер замовлення? Як вас звати?». Після інтеграції — агент відкриває чат і одразу бачить ім'я клієнта, останні 3 замовлення із сумами, поточний кошик, місто за IP-геолокацією.
| Метрика | До | Після |
|---|---|---|
| Середній час чату | 8 хв | 5,5 хв |
| Відсоток повторних звернень з однієї проблеми | 18% | 9% |
| Конверсія з чату в замовлення | 12% | 17% |
Склад робіт
- Установка віджета в шаблон Бітрікс
- Скрипт передачі даних авторизованого користувача в
jivo_api - Передача даних кошика та історії замовлень
- Налаштування webhook для створення лідів у Бітрікс24 CRM
- Тестування в усіх сценаріях (гість, авторизований, із замовленнями, без)
Терміни: базова установка — 1–2 години. Передача даних користувача та кошика — 1–2 дні. Webhook із CRM Бітрікс24 — ще 1–2 дні.







