Перейти к содержанию

Подключение Chatwoot#

Подключение Chatwoot#

Chatwoot — это открытая платформа для поддержки клиентов, которая объединяет чаты, электронную почту, социальные сети и мессенджеры в одном интерфейсе. Она помогает компаниям управлять коммуникацией с клиентами, автоматизировать рутинные задачи и улучшать сервис.

Эта пошаговая инструкция поможет вам подключить чат-бот Wisebot в мессенджер Chatwoot.

Этапы интеграции:


Шаг 1. Создание Platform App и получение Access Token#

  1. Авторизуйтесь в Chatwoot с правами администратора.
  2. Откройте консоль супер администратора. Для этого нажмите на аватар в нижнем левом углу и в появившемся меню выберите Консоль супер администратора.

    Image

  3. Перейдите в раздел Platform Apps и нажмите New Platform App.

    Image

  4. В открывшейся форме укажите имя приложения и нажмите Create Platform app.

    Image

    Скопируйте сгенерированный Access Token — он понадобится Шаге 4.

    Image


Шаг 2. Добавление источника в Chatwoot#

  1. В Chatwoot перейдите в раздел НастройкиИсточники.
  2. Нажмите на кнопку Добавить источник.

    Image

  3. Выберите канал источника: API.

    Image

  4. Откроется форма создания источника.

    Image

  5. Укажите название в поле Имя источника.

  6. В поле URL вебхука вставьте адрес в формате: https://wisebot_url/project/<project_id>/webhooks/webchatchatwoot/webhook.

    Адрес можно скопировать в Wisebot. Перейдите в раздел НастройкиУчетные данные. При необходмости выберите вкладку со средой развертывания Development или Production. Скопируйте значения base_url и socket_path.

    • Замените wisebot_url на значение из строки base_url.
    • Замените <project_id> на значение из строки socket_path.

    Пример: https://bot.wisebot/project/y6tH8e6cnYG9nEPHP/webhooks/webchatchatwoot/webhook

    Image

  7. Нажмите на кнопку Создайте источник API.

  8. Добавьте операторов для управления источником. Только выбранные операторы будут иметь доступ к источнику. Другие операторы не смогут видеть диалоги или отвечать на них.

    Image

    После создания источника откройте форму редактирования и перейдите на вкладку Настройки. Скопируйте значение inbox_identifier — он понадобится в Шаге 4.

    Image


Шаг 3. Настройка Webhook в Chatwoot#

  1. В Chatwoot перейдите в раздел НастройкиИнтеграции.
  2. На панели Webhooks нажмите на Настроить.
  3. В открывшемся окне нажмите на кнопку Добавить новый вебхук.

    Image

  4. В поле URL вставьте адрес в формате: https://wisebot_url/dev/<project_id>/webhooks/webchatwoot/webhook

    Адрес можно скопировать в Wisebot по аналогии с Шагом 2.

    Пример: https://bot.wisebot/dev/y6tH8e6cnYG9nEPHP/webhooks/webchatwoot/webhook

  5. Отметьте события, при которых должен срабатывать вебхук:

    • Диалог создан
    • Статус диалога изменён (conversation_status_changed)
    • Диалог обновлён (conversation_updated)
    • Сообщение создано (message_created)
    • Сообщение обновлено (message_updated)

    Image

  6. Нажмите Создать вебхук.


Шаг 4. Конфигурация WebchatInput в проекте WiseBot#

  1. В WiseBot перейдите в раздел НастройкиУчетные данные.
  2. Замените подключение виджета rasa_addons.core.channels.webchat.WebchatInput на rasa.core.channels.webchatwoot.WebchatInput.
  3. Добавьте следующие параметры:

    chatwoot_url: 'https://chatwoot.example.com'                  # URL сервера Chatwoot
    chatwoot_access_key: 'your_access_token'                      # Token из Шага 1
    chatwoot_inbox_identifier: 'your_inbox_identifier'            # Из Шага 2
    chatwoot_api_version: 'api/v1'
    operator_trigger_name: 'оператор'                             # Ключевое слово для вызова оператора
    

    Дополнительные параметры:

    chatwoot_timeout_operator:  Таймаут ожидания оператора в секундах (по умолчанию: 120)
    operator_left_message: Сообщение при уходе оператора (по умолчанию: "Оператор поддержки покинул чат")
    user_left_message: Сообщение при уходе пользователя (по умолчанию: "Пользователь покинул чат")
    message_transfer_to_operator: 'Ожидание оператора...'    # Сообщение при переводе к оператору
    operator_closed_conversation: 'Оператор завершил диалог. Вы снова общаетесь с ботом.'  # Сообщение при закрытии диалога оператором
    

    Пример конфигурации:

    rasa.core.channels.webchatwoot.WebchatInput:
      session_persistence: true
      base_url: 'https://bot.wisebot'
      socket_path: '/dev/y6tH8e6cnYG9nEPHP/socket.io/'
      operator_trigger_name: 'оператор'
      message_transfer_to_operator: "Ожидание оператора..."
      chatwoot_url: 'https://chatwoot.ru'
      chatwoot_access_key: 'cmt776543f28fFVYi'
      chatwoot_inbox_identifier: 'yHEst76543f28fFVRNE3sYu5'
      chatwoot_api_version: 'api/v1'
    

Дополнительные настройки#

Переключение на оператора#

Пользователь может запросить перевод на оператора двумя способами:

  • Через ключевое слово (например, "оператор").
  • Через кнопку в интерфейсе чата.

Чтобы настроить переключение:

  1. Создайте намерение.
  2. Добавьте это намерение в историю или правило в виде ключевого слова или кнопки:

    Image

Также можно настроить варианты действий для пользователя:

  • Подтвердить перевод и начать диалог с оператором.
  • Отменить перевод и продолжить общение с ботом.

    Image

Поведение оператора#

Когда происходит переключение, первым сообщением оператор получает историю переписки пользователя с ботом.

После завершения диалога оператор может нажать кнопку «Завершить», чтобы вернуть пользователя обратно к боту.

Image