В этой статье мы подробно разберем архитектуру работы нашего чат-бота, который использует внешние системы искусственного интеллекта (такие как ChatGPT, DeepSeek и другие) для генерации ответов.
Это не просто встроенный скрипт, а гибкая интеграция, которая позволяет вам использовать любую модель ИИ, сохраняя при этом полный контекст о посетителе.
|
| |
Для подключения ИИ-бота необходим тарифный план Профи с дополнительной опцией "Чат-боты".
ИИ-бот является функцией чат-бота и запускается только в рамках сценария для чат-бота.
Отдельно от чат-бота создать и использовать ИИ-бота нельзя.
|
| |
Для корректной работы ИИ-бота у вас должен быть свой сервер, который может принимать и обрабатывать запросы, а также отправлять ответы.
|
| |
- Пользователь задает вопрос в виджете чата на вашем сайте, в интеграции с мессенджерами или социальными сетями.
- Наша платформа мгновенно формирует структурированный JSON-пакет со всеми данными о клиенте, его истории и самом сообщении, и отправляет его на ваш сервер по заранее настроенному вебхуку.
- Ваш скрипт (клиентский сервер) получает этот пакет, извлекает текст вопроса (message.text) и отправляет его в выбранную вами систему ИИ (OpenAl API, Yandex GPT, и т. д.).
- ИИ-модель обрабатывает запрос и генерирует ответ.
- Ваш скрипт получает ответ от ИИ и отправляет его обратно в нашу платформу по специальному
АРІ-методу.
- Наш чат-бот моментально показывает сгенерированный ответ пользователю в том же диалоге.
|
| |
Для подключения ИИ-бота (ChatGPT, DeepSeek и др.) к вашему чату выполните перечисленные ниже действия.
1. Зайдите в Личный кабинет и откройте список подключенных сайтов.
2. Кликните кнопку "Боты" в контейнере с проектом, для которого вы хотите подключить ИИ-бота.
|
| |
3. Нажмите кнопку "Добавить бота".
|
| |
4. Выберите событие, после которого будет запущен бот, например, "Стартовал новый диалог".
|
| |
Полный список событий, после которых можно запускать бота, размещен в данной статье.
|
| |
Все события возникают как для чата на сайте, так и для всех подключенных каналов связи.
Например, событие "Стартовал новый диалог" возникнет и для чата на сайте, и для телеграм бота, и для всех других интеграций, созданных для выбранного проекта.
|
| |
5. Кликните кнопку "Новый сценарий" и выберите "Ручное создание нового сценария".
|
| |
6. Придумайте сценарию название и нажмите кнопку "Продолжить".
|
| |
7. Перетащите блок "Сторонний бот" из левой части в рабочую область.
|
| |
8. В открывшемся окне кликните контейнер "Свой бот".
|
| |
9. Нажмите "Новая интеграция".
|
| |
10. Заполните следующие поля:
- Название. Введите название для создаваемой интеграции.
- Ваш Webhook URL. Укажите адрес, на который будет отправляться уведомление о новом сообщении для вашего бота.
- Заголовки. В этом поле можно перечислить заголовки (необязательно).
|
| |
11. Нажмите кнопку "Сохранить".
12. В окне редактирования выберите способ запуска бота: "Бот задает вопрос" или "Бот сразу получит сообщение", а также введите текст первого сообщения.
|
| |
Если использовать способ запуска "Бот задает вопрос", первое сообщение будет отправлено посетителю. Ответ посетителя на это сообщение будет отправлен ИИ-боту.
При использовании способа запуска "Бот сразу получит сообщение" первое сообщение сразу будет отправлено ИИ-боту.
|
| |
13. Укажите время, за которое бот должен прислать ответ.
Эта опция определяет время, которое отводится ИИ-боту на ответ.
|
| |
Отсчёт времени начинается после сообщения пользователя.
Если за указанное время от ИИ-бота не будет получен ответ, его работа завершится, а сценарий продолжит выполнение через выход "Бот не ответил за отведенное время".
|
| |
14. Укажите время принятия решения.
Время принятия решения - это время, которое будет работать ИИ-бот.
Если пользователь общался с ИИ-ботом и перестал писать, ИИ-бот будет ждать новые вопросы указанное время.
|
| |
Время принятия решения отсчитывается от последнего сообщения (от посетителя или от ИИ-бота).
По истечении указанного времени бот завершит работу, и сценарий продолжит выполнение через выход "Истекло время работы бота".
|
| |
15. Настройте свои выходы из блока "Сторонний бот".
По умолчанию ИИ-бот завершает работу, если он не успел ответить посетителю (пункт 13) или когда время ожидания вопросов истекло (пункт 14).
Свои выходы - это разные сценарии программируемой остановки ИИ-бота. С их помощью можно задать условия завершения работы ИИ-бота, например, переключение на оператора, нецензурная лексика, благодарность за помощь и др.
|
| |
16. Нажмите кнопку "Продолжить" для сохранения настроек.
|
| |
16. Кликните кнопку "Сохранить" для сохранения сценария.
|
| |
17. Кликните кнопку "Продолжить" для сохранения настроек бота.
|
| |
Данные, которые вам пригодятся для формирования запроса в ИИ:
|
| |
1. Данные о сайте и клиенте (site, client):
- client.name, client.phone, client.email — для персонального обращения.
- client.firstVisit, client.lastVisit, client.visitsCount — история взаимодействий.
- client.target, client.searchKeyword — цели и намерения пользователя.
- client.customData, client.utm — любые пользовательские и рекламные метки.
|
| |
2. Текущий диалог (lastDialog):
- Полная история переписки в lastDialog.messages (массив всех сообщений). Это позволяет передавать ИИ весь контекст беседы, чтобы он отвечал последовательно.
- Теги диалога, прикрепленные операторы, статус.
3. Непосредственно вопрос (message, originalOnlineChatMessage):
- message.text — основной текст вопроса пользователя, который нужно отправить в ИИ, сформированный из подставленных переменных.
- originalOnlineChatMessage - полный объект сообщения с возможными вложениями (файлы, аудио, стикеры), что открывает простор для мультимодальных сценариев.
4. Ключ безопасности и синхронизации (token):
- Уникальный токен для данного конкретного сообщения. Этот же токен необходимо использовать в заголовке X-Token при отправке ответа назад в наш чат. Это гарантирует безопасность и предотвращает подмену данных.
|
| |
Пример использования
Ваш скрипт может сформировать для ИИ промпт: "Ответь клиенту Иван, который уже был на сайте 5 раз. Он искал 'купить слона'. Его вопрос: [вопрос из message.text]. Учти, что он из Москвы."
|
| |
Каждое новое сообщение от пользователя генерирует новый уникальный токен. Его необходимо сохранять и использовать для ответа именно на то сообщение, на которое вы отвечаете.
Это критически важно, когда пользователь быстро задаёт несколько вопросов подряд. Если отправить ответ с токеном от предыдущего сообщения, он отобразится в чате как ответ на старый вопрос (например, с цитированием), что нарушит логику диалога.
|
| |
Полный формат уведомлений, который вы получаете на ваш URL, описан в кнопке "Посмотреть формат уведомлений" в окне редактирования блока "Сторонний бот".

|
| |
Как отправить ответ от ИИ обратно в чат
|
| |
Получив ответ от вашей ИИ-системы, ваш скрипт должен сделать HTTP POST запрос к нашему API:
Endpoint:
|
| |
https://admin.verbox.ru/customBot/send
|
| |
X-Token: [token из полученного вебхука]
|
| |
Token нужно брать именно из вебхука, а не использовать токен для авторизации.
|
| |
Тело запроса (Body) в формате JSON:
|
| |
{
"content": {
"text": "Здравствуйте, Иван! Судя по вашему вопросу о доставке, я могу помочь.
Наш слон может быть доставлен в Москву в течение 3 дней."
}
}
|
| |
После успешной отправки это сообщение сразу появится у пользователя в чате как ответ бота.
|
| |
Как запрограммировать выходы из своего бота
|
| |
Наша интеграция не просто передаёт запросы и ответы — она позволяет вашему скрипту интеллектуально управлять самим ботом, завершая его работу по вашим собственным сценариям.
Вы настраиваете в интерфейсе ветки выхода из блока "Сторонний бот" (например: operator, mat, thank_you). Затем ваш сервер, анализируя вопрос пользователя через ИИ или внутреннюю логику, может в любой момент инициировать переход по одной из этих веток.
Как это работает:
1. Анализ: Ваш скрипт получает вопрос от пользователя (message.text).
2. Принятие решения: Вы определяете, что требуется не стандартный ответ ИИ, а особое действие:
- Пример 1: Вопрос содержит просьбу "позовите оператора" → код operator.
- Пример 2: Вопрос содержит нецензурную лексику → код mat.
- Пример 3: Пользователь написал "Спасибо, всё понятно!" → код thank_you.
3. Завершение работы бота: Вместо отправки ответа через /customBot/send, ваш скрипт вызывает метод /customBot/finish, передавая JSON с кодом выхода:
|
| |
4. Сценарий в действии: Наша платформа мгновенно останавливает ИИ-бота и перенаправляет диалог по заданной вами ветке. Например, по ветке operator можно автоматически позвать живого специалиста, а по ветке mat — отправить предупреждение.
Это создает полностью программируемый цикл работы: ваш внешний ИИ не только генерирует ответы, но и сам решает, когда его работа завершена и какой сценарий должен запуститься дальше, обеспечивая плавный переход от автоматизации к ручному управлению и специальным обработчикам.
|
|