Omnidesk

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

Omnidesk — сервис, позволяющий собирать обращения пользователей из множества каналов в одном месте. Все возможности сервиса описаны на сайте https://omnidesk.ru/features/

Кейсы, которые можно реализовать данной интеграцией:

  • Переключение пользователя на общение с чат-ботом вместо оператора (в Omnidesk отсутствует продвинутый чат-бот, имеются только автоматизация отправки сообщений пользователям по триггерам)

Имеются два возможных кейса интеграции, имеющие свои плюсы и минусы.

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

Общая схема

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

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

  1. Новые входящие запросы Omnidesk пересылает на внешний вебхук Chatme (правило настраивается на стороне Omnidesk для новых обращений и измененных обращений, отправляется на асинхронный вебхук Webim).

      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]
        
        }
      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. Если нужен новый отдел Omnidesk (группа) для бота (к примеру, для тестового подключения), создать его.

  2. Подключить к Omnidesk нужные каналы общения и выбрать в них нужный отдел (группу).

  3. Открыть настройки правил.

  4. Настроить правило следующим образом. Канал — канал в котором будет работать бот.

    Группа — отдел (группа) 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]

    }

  5. Настроить правило следующим образом. 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]

  6. Перейти в настройки меток в Omnidesk.

  7. Открыть метку, созданную для обозначения чатов на боте.

  8. Передать команде chatme.ai логин аккаунта Omnidesk, от имени которого будут приходить API-запросы.

  9. Подключение завершено!

Last updated