chatme.ai
Search
K
Comment on page

Omnidesk

Интеграция с Omnidesk

Omnidesk — сервис, позволяющий собирать обращения пользователей из множества каналов в одном месте. Все возможности сервиса описаны на сайте https://omnidesk.ru/features/
Кейсы, которые можно реализовать данной интеграцией:
  • Переключение пользователя на общение с чат-ботом вместо оператора (в Omnidesk отсутствует продвинутый чат-бот, имеются только автоматизация отправки сообщений пользователям по триггерам)
Имеются два возможных кейса интеграции, имеющие свои плюсы и минусы.

Вариант 1: Omnidesk как канал

Общая схема

Chatme подключает Omnidesk как канал, на стороне Omnidesk определяется, когда следует задействовать чат-бота.

Подробная логика общения

  1. 1.
    Новые входящие запросы Omnidesk пересылает на внешний вебхук Chatme (правило настраивается на стороне Omnidesk для новых обращений и измененных обращений, отправляется на асинхронный вебхук Webim).
    1. 1.
      Правила для новых сообщений:
      image.png
      1. 1.
        Json, который отправляет Omnidesk:
        {
        "event": "new_message",
        "message": {
        "kind": "visitor",
        "text": "[case_description]"
        },
        "visitor": {
        "id": "[user_id]",
        "fields": {
        "email": "[user_email]",
        "id": "[user_id]",
        "name": "[user_full_name]",
        "phone": "[user_phone]"
        }
        },
        "chat_id": [case_id]
        }
    2. 2.
      Правила для измененных сообщений:
      image.png
      1. 1.
        Json, который отправляет Omnidesk:
        {
        "event": "new_message",
        "message": {
        "kind": "visitor",
        "text": "[last_message]"
        },
        "visitor": {
        "id": "[user_id]",
        "fields": {
        "email": "[user_email]",
        "id": "[user_id]",
        "name": "[user_full_name]",
        "phone": "[user_phone]"
        }
        },
        "chat_id": [case_id]
        }
Omnidesk проставляет отметку (можно реализовать через Метки диалога) что диалог переведен на чат-бота. Все последующие сообщения в диалоге будут пересылаться на чат-бота.
  • Chatme получает запрос, создает новый диалог, обрабатывает согласно сценарию.
  • Ответ Chatme отправляет внешним запросом в Omnidesk (запросом на отправку нового сообщения в диалог в Omnidesk — https://omnidesk.ru/api/cases#add_message).
  • В случае, если требуется перевести диалог на оператора, в Omnidesk отправляется запрос на изменение параметров диалога (на изменение метки диалога, описание метода — https://omnidesk.ru/api/cases#edit_cases).
При необходимости из чат-бота запросить сведения из базы знаний Omnidesk можно делать запросы к ней (описание API на работу с БЗ — https://omnidesk.ru/api/kb).

Плюсы:

  • общение с чат-ботом возможно во всех каналах, которые поддерживает Omnidesk (их гораздо больше, чем поддерживает сейчас Chatme).

Минусы:

  • нельзя выводить кнопки быстрого действия для пользователя.

Вариант 2: Chatme как канал

Чатми подключается к Omnidesk как канал общения.

Общая схема

Подробная логика общения

Запросы к Omnidesk отправляются только в случае, если запрос не может быть обработан Chatme.
Ответы и запросы к Chatme для возможности отслеживания оператором истории общения между пользователем и чат-ботом отправляются в Omnidesk.

Плюсы:

  • можно выводить кнопки в Telegram.

Минусы:

  • общение только в каналах, которые интегрированы с Chatme.

Настройка правил для подключения чат-бота chatme.ai в Omnidesk

  1. 1.
    Если нужен новый отдел Omnidesk (группа) для бота (к примеру, для тестового подключения), создать его.
  2. 2.
    Подключить к Omnidesk нужные каналы общения и выбрать в них нужный отдел (группу).
  3. 3.
    Открыть настройки правил.
  4. 4.
    Создать в Omnidesk новое правило для входящих обращений
  5. 5.
    Настроить правило следующим образом. Канал — канал в котором будет работать бот.
    Группа — отдел (группа) Omnidesk, в которую попадают собеседники при обращении в канал.
    URL — адрес для получения сообщений ботом. Требуется попросить у команды chatme.ai.
    Тело запроса:
    {
    "event": "new_message",
    "message": {
    "kind": "visitor",
    "text": "[case_description]"
    },
    "visitor": {
    "id": "[user_id]",
    "fields": {
    "email": "[user_email]",
    "id": "[user_id]",
    "name": "[user_full_name]",
    "phone": "[user_phone]"
    }
    },
    "chat_id": [case_id]
    }
    Также потребуется создать новую метку для обозначения чатов на боте. К примеру, ее можно так и назвать: “На боте”.
  6. 6.
    Создать в Omnidesk новое правило для измененных обращений.
  7. 7.
    Настроить правило следующим образом. URL — аналогичен с правилом для новых обращений.
    Тело запроса:
    {
    "event": "new_message",
    "message": {
    "kind": "visitor",
    "text": "[last_message]"
    },
    "visitor": {
    "id": "[user_id]",
    "fields": {
    "email": "[user_email]",
    "id": "[user_id]",
    "name": "[user_full_name]",
    "phone": "[user_phone]"
    }
    },
    "chat_id": [case_id]
    }
  8. 8.
    Сообщить команде chatme.ai адрес стенда Omnidesk. Его можно увидеть в адресной строке при нахождении на странице админки Omnidesk.
  9. 9.
    Перейти в настройки меток в Omnidesk.
  10. 10.
    Открыть метку, созданную для обозначения чатов на боте.
  11. 11.
    Отправить команде chatme.ai идентфикатор метки. Его можно найти в адресной строке.
  12. 12.
    Передать команде chatme.ai логин аккаунта Omnidesk, от имени которого будут приходить API-запросы.
  13. 13.
    Создать API-ключ и отправить его команде chatme.ai.
    Подключение завершено!