Интеграция 1С-Битрикс с Chatra

Наша компания занимается разработкой, поддержкой и обслуживанием решений на Битрикс и Битрикс24 любой сложности. От простых одностраничных сайтов до сложных интернет магазинов, CRM систем с интеграцией 1С и телефонии. Опыт разработчиков подтвержден сертификатами от вендора.
Предлагаемые услуги
Показано 1 из 1 услугВсе 1626 услуг
Интеграция 1С-Битрикс с Chatra
Средняя
~1-2 недели
Часто задаваемые вопросы
Наши компетенции:
Этапы разработки
Последние работы
  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1175
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Разработка веб-сайта для компании ФИКСПЕР
    811
  • 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 Appointment Booking Widget for a Medical Center
    564
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    747
  • image_crm_dolbimby_434_0.webp
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    655
  • image_crm_technotorgcomplex_453_0.webp
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    976

Интеграция 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 рабочих дня с тестированием.