Інтеграція 1С-Бітрікс з Chatra

Наша компанія займається розробкою, підтримкою та обслуговуванням рішень на Бітрікс та Бітрікс24 будь-якої складності. Від простих односторінкових сайтів до складних інтернет-магазинів, CRM систем з інтеграцією 1С та телефонії. Досвід розробників підтверджено сертифікатами від вендора.
Пропоновані послуги
Показано 1 з 1 послугУсі 1626 послуг
Інтеграція 1С-Бітрікс з Chatra
Середня
~1-2 тижні
Часті питання

Наші компетенції:

Етапи розробки

Останні роботи

  • image_website-b2b-advance_0.png
    Розробка сайту компанії B2B ADVANCE
    1262
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Розробка веб-сайту для компанії ФІКСПЕР
    851
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Розробка на базі Бітрікс, Бітрікс24, 1С для компанії Development of an Online
    585
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Розробка на базі 1С Підприємство для компанії МИРСАНБЕЛ
    751
  • image_crm_dolbimby_434_0.webp
    Розробка сайту на CRM Бітрікс24 для компанії DOLBIMBY
    657
  • image_crm_technotorgcomplex_453_0.webp
    Розробка на базі Бітрікс24 для компанії ТЕХНОТОРГКОМПЛЕКС
    989

Інтеграція 1С-Бітрікс з Chatra

Chatra — онлайн-чат із фокусом на простоту та швидкість розгортання. З нетривіального: офлайн-форма замість закритого віджета, автоповідомлення за поведінкою користувача, перегляд тексту, що набирається, у реальному часі. Інтеграція з Бітрікс — це передусім ідентифікація користувача та передача даних про його сесію в операторський інтерфейс.

Установка коду Chatra

<!-- У шаблоні Бітрікс перед </body> -->
<script>
(function(d, w, c) {
    w.ChatraID = 'YOUR_CHATRA_ID';
    var s = d.createElement('script');
    w[c] = w[c] || function() { (w[c].q = w[c].q || []).push(arguments); };
    s.async = true;
    s.src = 'https://call.chatra.io/chatra.js';
    if (d.head) d.head.appendChild(s);
}(document, window, 'Chatra'));
</script>

Ідентифікація авторизованого користувача

Chatra підтримує попередню ідентифікацію через об'єкт ChatraSetup:

<?php if ($USER->IsAuthorized()):
    $userId    = $USER->GetID();
    $userEmail = $USER->GetEmail();
    $userName  = $USER->GetFullName();
?>
<script>
window.ChatraSetup = {
    clientId: 'bitrix-user-<?= $userId ?>',  // стабільний ID для історії чатів
};
Chatra('setIntegrationData', {
    name:  <?= json_encode($userName) ?>,
    email: <?= json_encode($userEmail) ?>,
    phone: <?= json_encode(getUserPhone($userId)) ?>,
    'ID користувача': <?= $userId ?>,
    'Замовлень':      <?= getUserOrdersCount($userId) ?>,
    'Сума покупок':   <?= getUserTotalSpent($userId) ?> + ' грн.',
});
</script>
<?php endif; ?>

clientId — ключовий параметр: з ним історія переписки зберігається при повторних візитах одного користувача. Без нього кожен сеанс — анонімний новий діалог.

Автоматичні повідомлення за поведінкою

Chatra дозволяє налаштовувати автоповідомлення прямо в інтерфейсі — за часом на сторінці, за розділом, за кількістю відвідувань. Для Бітрікс-специфічних тригерів (наприклад, «користувач дивиться сторінку оформлення більше 60 секунд») потрібен JavaScript:

// Якщо користувач завис на checkout довше 60 секунд
<?php if (strpos($_SERVER['REQUEST_URI'], 'order') !== false): ?>
<script>
setTimeout(function() {
    Chatra('sendAutoMessage', 'Потрібна допомога з оформленням замовлення? Готовий відповісти на запитання.');
}, 60000);
</script>
<?php endif; ?>

sendAutoMessage доступне лише в тарифі Chatra Full Suite.

Передача даних кошика

<?php
\Bitrix\Main\Loader::includeModule('sale');
$basket = \Bitrix\Sale\Basket::loadItemsForFUser(\Bitrix\Sale\Fuser::getId(), SITE_ID);
$basketTotal = $basket->getPrice();
$basketCount = count($basket);
?>
<script>
Chatra('setIntegrationData', {
    'Кошик: сума':    <?= $basketTotal ?> + ' грн.',
    'Кошик: товарів': <?= $basketCount ?>,
});
</script>

Webhook Chatra: створення лідів у Бітрікс

Chatra надсилає Webhook при закритті діалогу (тариф Full Suite). Налаштування: Dashboard → Settings → Integrations → Webhooks.

// /local/api/chatra-webhook.php
$payload = json_decode(file_get_contents('php://input'), true);

if (isset($payload['trigger']) && $payload['trigger'] === 'chat.done') {
    $chat    = $payload['chat'];
    $visitor = $payload['visitor'];

    $transcript = '';
    foreach ($chat['messages'] as $msg) {
        $transcript .= "[{$msg['authorName']}]: {$msg['text']}\n";
    }

    // Створюємо задачу або лід у Бітрікс24
    $leadTitle = 'Chatra: ' . ($visitor['name'] ?? $visitor['email'] ?? 'Гість');

    createBitrix24Lead([
        'TITLE'    => $leadTitle,
        'NAME'     => $visitor['name']  ?? '',
        'EMAIL'    => $visitor['email'] ?? '',
        'PHONE'    => $visitor['phone'] ?? '',
        'COMMENTS' => $transcript,
        'SOURCE_DESCRIPTION' => 'Chatra #' . $chat['id'],
    ]);
}

http_response_code(200);

Відключення віджета на службових сторінках

У Бітрікс є сторінки, де чат небажаний: адміністративна частина /bitrix/admin/, сторінка оплати з редиректом, сторінка помилки. Обмежте підключення в шаблоні:

<?php
$excludePaths = ['/bitrix/', '/local/ajax/', '/api/'];
$showChatra = true;
foreach ($excludePaths as $path) {
    if (strpos($_SERVER['REQUEST_URI'], $path) === 0) {
        $showChatra = false;
        break;
    }
}
if ($showChatra):
?>
<!-- код Chatra тут -->
<?php endif; ?>

Склад робіт: установка та ідентифікація користувача — 4–8 годин. Дані кошика та контекст сторінки — ще півдня. Webhook і інтеграція з CRM — 1 день. Загальний термін — 2–3 робочі дні з тестуванням.