Рубрика:
Разработка /
Мобильные приложения
|
Facebook
Мой мир
Вконтакте
Одноклассники
Google+
|
КОНСТАНТИН АВЕРИН, студент 4-го курса НИУ ВШЭ, программист, ООО «Мебельные детали», aveko100@gmail.com
НИКИТА ВИШНЕКОВ, студент 4-го курса НИУ ВШЭ, системный администратор, ООО «Инкомтраст», vishnekov@inkomtrust.org
Использование API-приложения Telegram для оптимизации бизнес-процессов корпоративной сети
Предложена архитектура приложения, обеспечивающего удобное взаимодействие между сотрудниками предприятия и техническим отделом для урегулирования внеплановых ситуаций. Основная цель реализации – оптимизация корпоративных бизнес-процессов
Архитектура приложения состоит из нескольких составляющих: приложение-бот в мессенджере Telegram и CRM-система на сервере компании.
Рассмотрена информационная модель CRM-системы для определения типов данных, с которыми будет работать приложение. Проведен обзор Telegram API, и выбраны используемые методы. Описана технология взаимодействия приложения-бота и серверной составляющей с помощью блок-схем. Разработана методика распределения заявок от пользователей поважности для структурирования полученной информации в CRM-системе. Указаны возможные перспективы развития сервиса в рамках повышения эффективности бизнес-процессов в отдельно взятой организации. Собраны и проанализированы данные о действенности разработанного приложения на примере выбранного предприятия и построены графики результативности.
В настоящее время практически в любых компаниях используются компьютерные сети для повышения производительности труда. Однако большинство сотрудников, работающих втаких предприятиях, не имеют достаточных навыков для решения возникших в процессе эксплуатации компьютеров или периферийной техники критических ситуаций. Дляурегулирования возникших проблем приходится нанимать дополнительный персонал, который будет отвечать на звонки и помогать дистанционно либо локально. Также в отдельных компаниях используется метод подачи заявок через электронную почту. Часто сотрудники предприятия не могут точно сформулировать свою проблему, и отдел технической поддержки тратит достаточно много времени на незначительные события, когда существуют ситуации, от решения которых зависят ключевые способности компании. Следовательно, можно выделить две основные встречающиеся проблемы – удобство подачи заявки и ее приоритизация для дальнейшей обработки.
В эпоху мобильных технологий важно следовать тенденции переноса стационарного функционала на переносные устройства, так как в нашей ситуации это позволит сократить время подачи заявки и повысить время реагирования на нее. Сокращение времени решения проблемы сотрудника, возникшей в ходе выполнения его обязанностей, сможет повысить эффективность его труда, а следовательно, и суммарную эффективность нанимающей компании.
Разработка мобильного приложения для выполнения функционала приема заявок не всегда рентабельна и требует полноценной поддержки в ходе использования для исправления багов, что также повлечет за собой временные расходы сотрудников технического отдела. Поэтому для реализации указанного функционала рациональным решением будет использовать готовую платформу для разработки.
Единственным условием к данной платформе является удобство использования для обычных пользователей. В такой ситуации подходит приложение-мессенджер Telegram, которое, в свою очередь, уже установлено у большинства пользователей известных операционных систем. В последнее время было анонсировано Telegram API для разработки ботов. Данное API позволяет создать специальный аккаунт для автоматической обработки сообщений пользователей. Использование популярного мессенджера для решения задачи повышения эффективности взаимодействия между сотрудниками и техническим отделом способно упростить процесс от создания заявки до общения с заранее обученным ботом технической поддержки, способным распознать полученную информацию и приоритизировать ее.
Информационная модель CRM-системы
CRM-система на сегодняшний день является очень важным элементом ИТ-структуры компании и служит для автоматизации ведения различных бизнес-процессов, а также осуществления контроля качества работы компании и дальнейшего использования данных в целях повышения качества работы и разработки стратегии развития бизнеса.
Существует два типа CRM-систем, созданных на основе разных технологий: SaaS, или система как сервис, и Standalone-структура [1].
При первом варианте все программное обеспечение и данные находятся на удаленном сервере поставщика услуг. Во втором случае вы получаете решение, которое устанавливаете насобственный сервер и при желании дорабатываете под свои потребности, в зависимости от тех возможностей, которые предоставляет поставщик CRM-системы. Использование Telegram-бота в связке с самописным API на базе веб-интерфейса действующей ticket-системы позволяет работать с любыми типами CRM-систем в независимости от расположения системы и возможностей по ее редактированию.
В рамках данной статьи мы рассматриваем разработанную на заказ CRM-систему для нужд компании, работающей в сфере управления недвижимостью. Основная часть данных, скоторыми приходится сталкиваться в работе системы, – это обработка заявок, связанных с проблемами на объектах недвижимости, а также выполнением регулярных работ. Однако данная система также используется для сбора заявок, связанных с решением проблем в ИТ-сфере и составлением отчетов о выполнении регулярных задач по мониторингу ИТ-инфраструктуры компании. В данной статье мы рассматриваем автоматизацию оформления и обработки заявок, поступающих в ИТ-отдел.
Для большей наглядности построим информационную модель всех данных, с которыми сталкивается CRM-система, а также выделим интересующее нас направление длядальнейшей его оптимизации.
Краткое описание Telegram API
Мессенджер Telegram предлагает для разработчиков два вида взаимодействия с исходным кодом приложения – для создания уникального интерфейса и для создания ботов. Так какдля реализации поставленной задачи понадобится использование бота, который сможет обрабатывать заявки и приоритизировать их по важности, то выберем данный способ. Только создание интерфейса не сможет решить поставленные задачи.
Бот – стороннее приложение, которое работает внутри мессенджера Telegram. Пользователи могут обращаться к боту, как к обычному человеку, – отправлять сообщения, команды ивстроенные запросы. Созданный бот контролируется с помощью запросов HTTPS.
Создание уникального бота происходит через основной интерфейс приложения [2]. Для начала требуется зарегистрировать его и получить уникальный идентификатор с помощью специально обученного бота в системе. Используя команды, присваивается новое имя, которое обязательно должно оканчиваться на bot. Если имя присвоено верно, то придуманный бот добавится в контакты его разработчика. Также допускаются выбор приветственного сообщения, описания и загрузка аватара.
Далее требуется написать скрипт, который будет получать сообщения/команды от пользователей. Telegram предлагает два метода для реализации данного функционала:
- настройка Webhook;
- использование метода getUpdate.
Для использования Webhook нужно передать боту специализированный адрес, на который будут отправляться POST-запросы каждый раз, когда бот получит сообщение. Данный адрес должен поддерживать защищенное SSL-соединение и начинаться с https. Для дальнейшей работы скрипта достаточно использовать самоподписанный сертификат, но в таком случае публичный ключ нужно передать в параметры боту.
Метод обновления getUpdate значительно отличается от указанного выше. Его нужно вызывать внутри скрипта, чтобы получать обновленные данные. Для навигации по присланным сообщениям нужно увеличивать отступ от начального пункта в списке. Данный способ не всегда удобен, так как актуальность присланных данных зависит от времени вызова метода.
Последующая реализация зависит от функций бота и языка программирования, на котором планируется производить разработку. На текущий момент времени существует достаточно много готовых библиотек для разработки Telegram-бота.
Примером такой библиотеки, написанной на языке Python, является библиотека Telepot. Она содержит реализацию основных методов Telegram API для сокращения времени разработки скрипта.
Технология взаимодействия Telegram-бота с серверной частью CRM-системы
Взаимодействие с любой CRM-системой может осуществляться двумя способами: с помощью встроенного API или с помощью пользовательского интерфейса, в том числе и веб-интерфейса. По условиям нашей статьи мы не имеем доступа к API CRM-системы и не можем вносить в него изменения, так как методика, описанная в статье, предполагает унификацию данного решения для всех видов CRM-систем. В таком случае мы будем использовать веб-интерфейс системы для взаимодействия с данными, поступающими измессенджера.
Непосредственная передача данных будет осуществляться внутри специально разработанного скрипта на языке PHP, который сначала будет извлекать данные из мессенджера спомощью POST-запросов, а затем также в формате POST-запросов отправлять эти данные через веб-интерфейс на серверы CRM-системы, имитируя при этом работу человека.
Данные, которые может предоставить мессенджер, содержат следующую информацию:
- в переменной messageChatId – сохраняется id чата, из которого пришло сообщение;
- в messageText – текст;
- в messageDate – дата, в формате: секунды, прошедшие с UNIX-time;
- в messageUsr – ник участника, отправившего сообщение.
Затем данные размещаются по соответствующим текстовым полям. Считается, что поля для размещения информации об отправителе, времени отправки и тексте заявки содержатся влюбой CRM-системе, поддерживающей функционал ticket-системы. Данные мгновенно загружаются в CRM-систему.
Так как в статье рассматривается построение системы для принятия и обработки заявок в службу поддержки компании, обратная связь в данном виде общения с клиентом непредполагается, однако в дальнейшем данный функционал может быть надстроен к существующей системе, так как данные для обмена информацией остаются в базе данных нашей CRM-системы и в дальнейшем могут быть использованы для обратной связи при помощи дополнительно разработанных методов автоматизации обращения в базу данных ивзаимодействия с мессенджером (см. рис. 1).
Рисунок 1. Схема взаимодействия Telegram с CRM-системой
Методика формирования и обработки заявок
Все заявки в ИТ-отдел поступают через мобильное приложение Telegram, которое доступно для всех ведущих мобильных платформ.
Все пользователи компании являются обладателями смартфонов, так как постоянно работают с текстовыми файлами и электронной почтой, а также все имеют корпоративные номера телефонов. По ним происходит авторизация в Telegram-боте и формирование поля «Отправитель» в структуре заявки, которое содержит информацию о должности, отделе иобъекте, к которому прикреплен пользователь. После идентификации пользователь попадает в меню Telegram-бота, состоящее из категорий проблем, после выбора категории пользователь попадает в подменю данной категории в целях выбора типа проблемы (см. рис. 2).
Рисунок 2. Интерфейс Telegram-бота на этапе выбора типа проблемы
Бот в ответ отправляет специальное сообщение-ответ с особым параметром-клавиатурой. Пользователь может нажать на какую-нибудь из интерактивных кнопок, тем самым отправляя текст этой кнопки в чат, после чего бот снова обработает сообщение и в зависимости от варианта ответа произведет какие-либо действия. Если проблема пользователя неподходит под типовые категории и ошибки, он может воспользоваться кнопкой «Другое» и сформировать заявку вручную.
Затем формируется поле «Текст», а также поля «Категория», «Проблема», если пользователь добавляет текстовое описание проблемы. Последним поле заполняется на основе анализа текстового сообщения, которое направил пользователь.
Основной задачей в процессе автоматизации обработки заявок является правильное присвоение степени важности каждой заявке. Так как в случае переполнения заявок очень важно решать в первую очередь проблемы, влияющие на работоспособность компании, а затем незначительные вопросы. Данная информация не передается из Telegram-бота напрямую, она формируется на основе полученных данных в заявке, а также математических формул. Все расчеты также происходят внутри скрипта на языке программирования PHP, именуемого в дальнейшем buf.php, который служит буферной зоной между мессенджером и CRM-системой. В описанной системе заявки будут получать приоритет на основе метода анализа иерархий, а также визуальное отображение в единой таблице заявок, где самые важные располагаются выше.
Решено было построить систему приоритетов в виде числовых значений от 0 до 1, где наивысшим приоритетом обладают обращения со значением приоритета «1». Они должны обрабатываться в первую очередь. Соответственно, значение «0» обладает наименьшим приоритетом и попадает в поле зрения инженера технической поддержки только после обработки всех более значимых заявок. Приоритет заявки не предполагает времени ее выполнения и используется для ранжирования в общем списке заявок, которые видит ИТ-отдел на своих веб-интерфейсах [3]. Задачей Telegram-бота в связке со скриптом являются передача текстовых заявок и автоматическое присвоение степени важности заявкам без участия специалистов ИТ-отдела, что позволяет сократить время работы с каждой заявкой. Однако при необходимости специалисты службы поддержки имеют право повышать приоритет заявки.
Для формирования приоритета заявки, ключевого фактора в скорости обработки заявки, мы будем использовать алгоритм, основанный на методе анализа иерархий [4], математически описанный внутри скрипта buf.php. Краткий смысл данного метода в теории заключается в представлении проблемы в виде иерархии. Вершиной данной иерархии является наша цель. Нижний уровень содержит альтернативы, промежуточный – критерии оценки данных альтернатив (см. рис. 3).
Рисунок 3. Простейшая иерархическая структура МАИ
Вид иерархии напрямую зависит от задачи, которую мы ставим перед собой при принятии решений [5]. В нашем случае иерархии будут двухуровневые, так как здесь мы не решаем задачу выбора, а используем данный инструмент для расчета весов экспертным путем. В целях упрощения рассмотрения расчетного алгоритма детально рассмотрим все расчеты напримере определения весов по приоритету.
Для наглядности рассмотрим иерархию, основанную на структуре компании по управлению недвижимостью, и произведем вычисление весов и коэффициентов на основе данной модели (см. рис. 4).
Рисунок 4. Иерархия для выбора приоритета заявки
В первую очередь рассмотрим составляющие метода. Отметим, что предложенные критерии и коэффициенты могут изменяться и дополняться с учетом потребностей ЛПР (лица, принимающего решение).
В методе анализа иерархий алгоритм расчета проходит в пять этапов. Однако для разработки алгоритма присвоения приоритета заявкам необходимо только два этапа, которые содержат построение матриц попарного сравнения и расчет соответствующих весов на их основе. Также необходимо отметить, что веса находятся в диапазоне от нуля до единицы, асумма весов всех критериев равна единице, так же как и сумма коэффициентов.
Внутри каждой группы критериев проведем попарное сравнение [6]. Задача экспертов на каждом уровне иерархии – провести парные сравнения элементов по отношению к ихвоздействию на общую для них характеристику (важность заявки). Используемая при этом шкала оценок приведена на рис. 5.
Рисунок 5. Шкала оценок, используемая при попарном сравнении
Таким образом, эксперт, сравнивая элементы в строках с элементами в столбцах по степени важности с точки зрения приоритета заявки, постепенно заполняет данную матрицу сиспользованием свойства обратной симметрии Qij = a, Qji = 1/a. Сравнивая группы критериев попарно, получим матрицу (см. таблицу 1).
Таблица 1. Матрица попарных сравнений
|
Q1 |
… |
Qj |
… |
Q1 |
Q11 |
… |
Q1j |
… |
… |
… |
… |
… |
… |
Qi |
Qi1 |
… |
Qij |
… |
… |
… |
… |
… |
… |
Qn |
Qn1 |
… |
Qnj |
… |
Вычисляем веса групп критериев по формулам:
После выполнения вычислений получим веса критериев . Затем проведем такое же попарное сравнение составляющих каждого коэффициента внутри критерия. Описывать этот процесс не будем, так как он полностью идентичен. В конечном итоге мы получим веса критериев и веса плавающих коэффициентов. Например, заявка, исходящая от бухгалтера изотдела бухгалтерия, находящегося в центральном офисе, и категорией «1C и банк-клиенты» будут рассчитаны так:
0,23*0,09 + 0,29*0,41 + 0,36*0,33 + 0,12*0,55 = 0,3244 (общий вес критерия = вес критерия * вес компонента критерия)
Для наглядности рассмотрим данные, полученные в ходе расчета весов для компании по управлению недвижимостью в таблице 2.
Таблица 2. Веса критериев и коэффициенты компонентов критериев
Критерии |
Вес |
Компоненты критерия |
Коэффициент |
Должность |
0,23 |
Главный директор |
0,36 |
Главный бухгалтер |
0,29 |
Главный инженер |
0,18 |
Другие сотрудники |
0,09 |
Отдел |
0,29 |
Аппарат управления |
0,48 |
Бухгалтерия |
0,41 |
Другие отделы |
0,11 |
Категория проблемы |
0,36 |
Интернет |
0,43 |
1С и банк-клиенты |
0,33 |
IP-телефония |
0,14 |
Другая проблема |
0,1 |
Объект |
0,12 |
Центральный офис |
0,55 |
Диспетчерские |
0,32 |
Другие объекты |
0,13 |
В дальнейшем путем перемножения балльных значений критериев на веса критериев и их суммирования в рамках каждой заявки мы будем определять приоритет каждой заявки, чтобудет поднимать или опускать ее в сводной таблице среди прочих заявок [7]. Для наглядности рассмотрим скриншот CRM-системы с внедренной системой приоритизации заявок (см. рис. 6).
Рисунок 6. Интерфейс CRM-системы с внедренной приоритизацией заявок
Перспективы развития сервиса в рамках корпоративной сети
Использование Telegram API в корпоративных сетях открывает большие возможности в оптимизации бизнес-процессов, так как становится возможным интегрировать в готовое популярное приложение свой функционал. В рамках данной работы API был использован для ускорения взаимодействий между сотрудниками предприятия и техническим отделом. Но это не единственный процесс, который можно оптимизировать.
К примеру, большинство компаний используют Windows Server в роли домена для пользовательских компьютеров. Часто возникает необходимость изменить пароль или получить временный. В реальных условиях для этого требуется создать ticket в службу поддержки и дождаться обработки заявки, но использование Telegram API может помочь автоматизировать данную цепочку событий. Также есть возможность автоматизировать такие процессы, как получение доступа к папкам с помощью специализированных команд.
Развитие разработанного сервиса может происходить в разных направлениях. Первая перспектива была указана ранее – интеграция в доменную систему Windows. Другой возможный вариант модернизации системы – автоматический анализ заявок на предмет часто встречающихся в базе комбинаций и реализация попыток решения проблем без участия обученного сотрудника. Такой подход сможет глобально снизить издержки на содержание технического отдела и ускорить время решения проблем у пользователей в несколько раз.
Однако ключевой траекторией развития сервиса является усовершенствование методики расчета приоритета заявки. Предполагается, что в ходе работы сервиса будет сформирована статистика обработки заявок, основываясь на которой, разработчики смогут скорректировать текущие критерии важности заявки, а также добавить новые коэффициенты и критерии в целях улучшения качества обслуживания клиентов.
В статье предложен подход, позволяющий автоматизировать поступление заявок в службу поддержки на основе существующей в компании CRM-системы, а также открытых библиотек мобильного приложения Telegram. Также была предложена система приоритизации заявок на основе методов поддержки принятия решений и произведен расчет на базе существующей модели компании.
Данное решение позволяет обеспечить правильность обработки заявок, поступающих в отдел технической поддержки и их своевременное выполнение, а также сохранить прежний уровень эффективности работы отдела в условиях роста количества обращений и сохранения числа сотрудников. В случае наличия сформированной системы обработки заявок споддержкой приоритизации в отделе технической поддержки переход на использование мобильного мессенджера Telegram для инициации заявок позволит сократить время создания заявки, а следовательно, сократить общее время выполнения заявки и устранения проблемы.
Данная работа может получить развитие в дальнейшем изучении процедуры рационального формирования списка критериев для процесса приоритизации заявок на начальном этапе работы системы при отсутствии статистики поступающих в отдел технической поддержки заявок.
- Кинзябулатов Р. Что такое CRM-системы и как их правильно выбирать? [Электронный ресурс]. URL: https://habrahabr.ru/company/trinion/blog/249633/ (дата обращения:01.04.2017).
- Музафаров М. Инструкция: Как создавать боты в Telegram. [Электронный ресурс]. URL: https://habrahabr.ru/post/262247/ (дата обращения: 03.04.2017).
- Работа ServiceDesk службы поддержки. [Электронный ресурс]. URL: http://itinrussian.ru/tag/servicedesk/ (дата обращения: 10.04.2017).
- Граничин О. Н., Кияев В. И. Информационные технологии и системы в современном менеджменте. – СПб.: Изд-во СПбГУ-ВВМ, 2014. – 897 с.
- Гусева Д.В., Витовтов В.А., Кириленко Т.А. Перспективы применения метода анализа иерархий при совершении спортивных ставок [Электронный ресурс] // Nauka-rastudent.ru, № 2, 2016 г. URL: http://nauka-rastudent.ru/26/3218/ (дата обращения: 14.04.2017).
- Саати Т. Принятие решений. Метод анализа иерархий. – М.: Радио и связь, 1993. – 278 с.
- Зарубин А.В. Ваш звонок очень важен для нас? Или как работает система приоритизации заявок в сервисных подразделениях. [Электронный ресурс]. URL: https://habrahabr.ru/company/infowatch/blog/320226/ (дата обращения: 14.04.2017).
Facebook
Мой мир
Вконтакте
Одноклассники
Google+
|