Кастомний інтерфейс чат-бота в Бітрікс24 на Vue.js

Стандартна адмінка Бітрікс24 не справляється зі складними сценаріями чат-бота: зміни потребують коду, а аналітика відсутня. Ми розробляємо кастомні інтерфейси на Vue.js, які вбудовуються прямо в портал і дають візуальний конструктор, моніторинг діалогів та панель аналітики. Наша команда реалізує проєкт під ключ — від концепції до супроводу, забезпечуючи стабільну роботу та підтримку.

Кастомний інтерфейс чат-бота в Бітрікс24 на Vue.js

Месенджери та чат-ботиСередній~1-2 тижні
Часті запитання

Кастомний інтерфейс чат-бота в Бітрікс24 на Vue.js

Ви створили чат-бота для Бітрікс24, але стандартна адмінка не дає гнучкості: сценарії доводиться змінювати в коді, аналітики немає, кнопки налаштовуються вручну. Клієнти скаржаться, що бот не відповідає так, як потрібно, а менеджери не бачать, які діалоги потребують втручання. Ми стикалися з цим не раз — і знаємо, як вирішити задачу.

Ми проєктуємо та розробляємо кастомні адміністративні інтерфейси для чат-ботів на Vue.js, які вбудовуються прямо в Бітрікс24. Візуальний конструктор сценаріїв, панель аналітики в реальному часі, живий моніторинг діалогів — все це працює як частина вашого порталу. Жодних перемикань між системами: все керування ботом в одному вікні.

Як Vue.js покращує керування чат-ботом у Бітрікс24?

Стандартний інтерфейс бота в Бітрікс24 — кілька полів введення та кнопка «Зберегти». Він підходить лише для елементарних ботів-помічників. Щойно з'являються складні сценарії з розгалуженнями, інтеграція з CRM, збір аналітики — без повноцінного SPA-застосунку не обійтися. Vue.js дає реактивність, модульність та багаті компоненти. Ми використовуємо його для побудови:

  • Конструктора діалогових дерев (drag & drop)
  • Редактора кроків: повідомлення, запитання з кнопками, умова, API-запит, створення ліда
  • Панелі аналітики з графіками та таблицями
  • Моніторингу активних діалогів у реальному часі

Порівняння стандартного та кастомного інтерфейсу

Критерій Стандартний інтерфейс Кастомний на Vue.js
Налаштування сценаріїв Вручну в PHP-коді Візуальний конструктор (drag & drop)
Типи кроків Тільки текст і кнопки Повідомлення, запитання, умова, API-запит, CRM-дія
Аналітика Відсутня Графіки, метрики, таблиці
Моніторинг діалогів Немає Live-стрічка з WebSocket або SSE
Інтеграція з CRM Через події Вбудовані блоки створення лідів і угод
Швидкість змін Потрібен деплой Миттєве оновлення через REST

Візуальний конструктор прискорює розробку в 3–5 разів, а бізнес-користувачі можуть змінювати логіку бота без допомоги програміста. За нашими проєктами, конверсія в ліди зростає на 30–50%.

Архітектура системи бота з Vue-інтерфейсом

┌─────────────────────────────────────────┐
│ Битрикс24 Портал                        │
│ ┌─────────────┐ ┌─────────────────┐      │
│ │ Открытая    │ │ Vue Admin App   │      │
│ │ линия       │ │ (placement)     │      │
│ └──────┬──────┘ └────────┬────────┘      │
│        │                 │               │
└────────┼─────────────────┼───────────────┘
         │ webhooks        │ REST API
┌────────▼─────────────────▼───────────────┐
│ Bot Backend (Laravel/Node)               │
│ ┌─────────────┐ ┌─────────────────┐      │
│ │ Bot Logic   │ │ Admin API       │      │
│ │ (сценарии)  │ │ (настройки)     │      │
│ └─────────────┘ └─────────────────┘      │
└──────────────────────────────────────────┘

Реєстрація бота та підписка на події

// Регистрация бота через REST
BX24::callMethod('imbot.register', [
    'TYPE' => 'B', // Bot type
    'EVENT_MESSAGE_ADD' => 'https://my-app.com/webhook/message',
    'EVENT_WELCOME_MESSAGE' => 'https://my-app.com/webhook/welcome',
    'EVENT_BOT_DELETE' => 'https://my-app.com/webhook/delete',
    'PROPERTIES' => [
        'NAME' => 'Мой ассистент',
        'LAST_NAME' => '',
        'COLOR' => 'GREEN',
        'PERSONAL_PHOTO' => 'base64...',
    ]
]);

Vue-компонент конструктора сценаріїв

Візуальний редактор діалогових дерев — ключова частина адміністративного інтерфейсу:

<!-- ScenarioBuilder.vue -->
<template>
  <div class="scenario-builder">
    <div class="scenarios-list">
      <ScenarioCard
        v-for="scenario in scenarios"
        :key="scenario.id"
        :scenario="scenario"
        :active="activeScenario?.id === scenario.id"
        @select="selectScenario"
        @delete="deleteScenario"
      />
      <button class="add-scenario" @click="addScenario">
        + Добавить сценарий
      </button>
    </div>
    <div class="scenario-editor" v-if="activeScenario">
      <StepEditor
        v-for="step in activeScenario.steps"
        :key="step.id"
        :step="step"
        @update="updateStep"
        @add-next="addNextStep"
        @delete="deleteStep"
      />
    </div>
  </div>
</template>

<script setup>
import { ref, onMounted } from 'vue'
import { useScenarioStore } from '@/stores/scenarios'

const store = useScenarioStore()
const scenarios = computed(() => store.scenarios)
const activeScenario = ref(null)

onMounted(() => store.loadScenarios())

function selectScenario(scenario) {
  activeScenario.value = scenario
}

async function addScenario() {
  const newScenario = await store.createScenario({
    name: 'Новый сценарий',
    trigger: 'keyword',
    steps: [{ type: 'message', text: 'Привет! Чем могу помочь?' }]
  })
  activeScenario.value = newScenario
}
</script>

Відправка повідомлень з кнопками

Інтерактивні кнопки в повідомленнях бота через KEYBOARD:

// bot-logic.js
async function sendMessageWithButtons(chatId, text, buttons) {
    await bx24.callMethod('imbot.message.add', {
        DIALOG_ID: chatId,
        MESSAGE: text,
        KEYBOARD: buttons.map((row, rowIndex) =>
            row.map(btn => ({
                TEXT: btn.label,
                ACTION: 'CALL',
                LINK: `https://my-app.com/bot/action/${btn.action}`, // или ACTION: 'SEND' для отправки текста в чат
                BG_COLOR: btn.color || '#29619b',
                TEXT_COLOR: '#ffffff',
                DISPLAY: 'LINE',
            }))
        )
    })
}

// Использование
await sendMessageWithButtons(dialogId, 'Выберите действие:', [
    [
        { label: 'Создать заявку', action: 'create_lead', color: '#29619b' },
        { label: 'Проверить статус', action: 'check_status', color: '#5a9b29' },
    ],
    [
        { label: 'Связаться с менеджером', action: 'connect_manager', color: '#9b2929' },
    ]
])

Чому візуальний конструктор сценаріїв ефективніший за код?

Робота з діалоговими деревами через код вимагає постійного деплою та тестування. Візуальний конструктор прискорює розробку в 3–5 разів, дозволяє змінювати логіку без залучення розробника та дає бізнес-користувачам можливість самостійно налаштовувати відповіді бота. Ми реалізували як прості лінійні сценарії, так і складні розгалуження з умовами за полями CRM. Результат — зниження навантаження на підтримку, зростання конверсії в ліди (на 30–50% за нашими проєктами). Один з клієнтів заощадив понад 150 000 гривень на місяць на підтримці бота після впровадження нашого інтерфейсу.

Технічні деталі інтеграції з CRM

При створенні ліда через бота ми використовуємо REST-метод crm.lead.add. Дані передаються з полів VUE-форми. Також доступне створення угод і контактів. Всі дії логуються для подальшого аудиту.

Що входить до роботи

  • Розробка бекенду бота (Laravel/Node.js) з реєстрацією в Бітрікс24 через REST
  • Vue-адмінка: конструктор сценаріїв, редактор кроків, панель аналітики, моніторинг діалогів
  • Інтеграція з CRM (створення лідів, угод, контактів)
  • Інтеграція із зовнішніми API та сервісами (ОФД, Нова пошта, телефонія)
  • Документація з експлуатації, доступи до репозиторію, 1 місяць гарантійної підтримки

Понад 5 років ми займаємося розробкою на Бітрікс24 та Vue.js — виконали 30+ проєктів для чат-ботів, від простих FAQ до складних платформ зі штучним інтелектом. Оцінимо ваш проєкт за один робочий день. Зв'яжіться з нами — обговоримо деталі.

Строки виконання

Адміністративний інтерфейс бота з конструктором сценаріїв та базовою аналітикою — 6–10 робочих днів. Повноцінна платформа з візуальним редактором дерева діалогів, живим моніторингом та інтеграцією з CRM — 3–6 тижнів. Вартість розраховується індивідуально залежно від складності сценаріїв та необхідних інтеграцій.

Отримайте консультацію — ми допоможемо підібрати оптимальне рішення для вашого бізнесу.

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

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

  • Розробка сайту компанії B2B ADVANCE
    Розробка сайту компанії B2B ADVANCE
    1543
  • Розробка веб-сайту для компанії ФІКСПЕР
    Розробка веб-сайту для компанії ФІКСПЕР
    1060
  • Розробка віджета онлайн-запису для медичного центру
    Розробка віджета онлайн-запису для медичного центру
    837
  • Розробка на базі 1С Підприємство для компанії МИРСАНБЕЛ
    Розробка на базі 1С Підприємство для компанії МИРСАНБЕЛ
    928
  • Розробка сайту на CRM Бітрікс24 для компанії DOLBIMBY
    Розробка сайту на CRM Бітрікс24 для компанії DOLBIMBY
    865
  • Розробка на базі Бітрікс24 для компанії ТЕХНОТОРГКОМПЛЕКС
    Розробка на базі Бітрікс24 для компанії ТЕХНОТОРГКОМПЛЕКС
    1223