Как интегрировать MS Teams и экономить 3,3 млн рублей в год на лицензиях Microsoft

Мы делаем проект корпоративного портала на базе Creatio для нашего клиента. Про него мы ранее писали в другой статье. В этот раз расскажем, как мы интегрировали мессенджер MS Teams в корпоративный портал и что из этого вышло.

Бизнес задача — интегрировать мессенджер в портал

Схема работы портала. Корп. мессенджер — это и есть наш MS Teams

Основная задача — интегрировать мессенджер в одно окно с остальными сервисами, то есть сделать мессенджер частью корпоративного портала.

Зачем это нужно? В чем ценность мессенджера внутри портала?

Во-первых — это возможность связывать сущности. Можно создавать задачи из сообщений и привязывать сделки к конкретным перепискам.

Во-вторых – это единая экосистема для конкретного бизнеса, так как больше не нужно использовать 15 программ одновременно.

Как работает мессенджер

В любом мессенджере есть чаты и пользователи. Вот как происходят процессы в нашем случае:

  1. MS Teams клиент запускается
  2. MS Teams «достает» все чаты для текущего пользователя
  3. Пользователь заходит в нужный ему чат
  4. MS Teams загружает с серверов Майкрософта последние N сообщений и отображает их
  5. Далее мессенджер периодически проверяет — «не появилось ли новых сообщений?». Если появились — отображает в текущем чате
  6. Когда пользователь переходит в другой чат, пункты 4 и 5 повторяются, но уже для нового чата
  7. Когда пользователь выходит из чата — сохраняем новые сообщения и отображаем их непрочитанными

Как мы интегрировали мессенджер в портал

Логика работы внутри корпоративного портала

Чтобы внутри портала было отдельное приложение с мессенджером — его нужно каким-то образом туда «вставить»

Изначально хотели «интегрировать» кнопку мессенджера в боковую панель и отображать MS Teams через iframe. Но это не получилось из-за того, что Microsoft блокирует запросы между доменами в iframe. Поэтому мы решили собирать свой интерфейс внутри системы.

По смыслу это очень похоже на QIP. Только он объединял в себе разные мессенджеры, а нам нужно было объединить различные сервисы компании. Плюс не стоит забывать, что по мере развития каждый мессенджер начал перетягивать аудиторию на себя, и рождались истории про агрегаторов мессенджеров типа QIP.

Как происходит авторизация

Авторизация и в мессенджере и в портале происходит последовательно, через Microsoft Active Directory (по технологии SSO).

Самое сложное — получение сообщений

Для того, чтобы получать сообщения аккаунт пользователя должен на них «подписаться». Эта команда создается при первом сообщении внутри любой новой переписки.

Но «подписаться на все чаты сразу» на дешевом тарифе Е3 нельзя. Чтобы обойти эту сложность и не покупать дорогой тариф нужно делать скрипт. Он автоматически подпишет пользователя на его чаты, пока пользователь онлайн.

Как реализовали способ получения сообщений

Мы сделали скрипт, который подписывает каждого пользователя на отдельный чат и мониторит новые сообщения. У каждого пользователя по 200-250 таких чатов.

150 пользователей * 250 чатов = 37 500 запросов в час. И все это ради того, чтобы просто работали сообщения. Слишком сложно.

Поэтому скрипт работает только тогда, когда пользователь онлайн. А когда он не в сети — мы просто сохраняем непрочитанные сообщения на сервере и ждем, когда пользователь залогинится, и заново запускаем скрипт.

Сообщения — самое важное, что есть в мессенджере. Если они долго грузятся, не приходят или не сохраняются, то мы просто не получаем информацию вовремя. Некоторые мессенджеры даже берут деньги за хранение истории переписки.

Экономия на тарифах

Наш клиент, как и многие другие, использует базовые лицензии MS Office, которые стоят по 300 рублей в месяц. Для того, чтобы интегрировать MS Teams бесшовно — нужны расширенные тарифы Microsoft 365 E5. Это по 2 000 рублей за месяц → 3,8 млн в год при 150 пользователях (очень дорого).

Майкрософт, внося свои изменения, вынуждает нас собирать такие решения. Это риск, возникший посреди проекта, который никто не мог предугадать

Проблемы с API Майкрософт

Пока мы собирали наш скрипт столкнулись с еще одной проблемой — это API Майкрософта. Microsoft Graph — это единая системы для работы со всеми сервисами Microsoft по API. Но работает она откровенно плохо.

Некоторые методы передачи данных до сих пор находятся в бета-версии. Особенно методы по работе MS Teams. Примерно 20-30% от всех методов — в бета тестировании.

Например, есть «отправка сообщения в личный чат», а «отправка в групповой чат» — это уже бета.

Не хватает метода сделать сообщение «прочитанным». Например, достаем по API все сообщения в выбранном чате. А они не помечаются как прочитанные. Поэтому если зайти в Teams-клиент — они так и останутся непрочитанными.

Все эти недостатки напрямую влияют на бизнес-процессы. Из-за сложностей с уведомлениями сотрудники не получают информацию вовремя и делают работу не так хорошо, как могли бы.

Недавно мы оценивали подобную работу для Zoom. Надо сказать, что у Зума на данный момент тоже нет метода, чтобы доставать количество непрочитанных сообщений.

Резюме и развитие

По сути мы собрали мессенджер с нуля и внедрили весь базовый функционал. Наш клиент уже им пользуется и планирует расширять систему на новых итерациях: добавлять видеозвонки, синхронизацию сделок с сообщениями и единое файловое хранилище.

Если вы по каким то причинам тоже приверженец Майкрософт — теперь вы знаете, что можно сделать, чтобы сэкономить на тарифах.

Интегратор — LAND PRO. Автор статьи — Фёдор Анисимов.

{ "author_name": "Аркадий Кашковский", "author_type": "self", "tags": ["teams"], "comments": 30, "likes": 7, "favorites": 43, "is_advertisement": false, "subsite_label": "services", "id": 179311, "is_wide": true, "is_ugc": true, "date": "Fri, 20 Nov 2020 20:03:42 +0300", "is_special": false }
0
30 комментариев
Популярные
По порядку
Написать комментарий...
7

Выглядит как попытка натянуть сову на глобус. Во первых внутри тимс можно наваять связи с сущностями из внешней корпоративной системы и шарить внутри чатов бесшовно и красиво. Бизнес кейс «только вкладка браузера с единым порталом» вместо «вкладка браузера + приложение МС тимс» не звучит крепким обоснованием ваших мук интеграции и будущих мук клиента сидящего на самопильном UI с бета эндпоинтами. ИМХО. Припихивание слона в игольное ушко всегда дорого, сложно, больно и по как правило на практике никто не оценит. Откроют 100500 вкладок браузера и будут говорить что тимс отдельно работает стабильнее, верните тимс. Но как инженеры - вы молодцы.

Ответить
2

Так мы тимс не убирали, по сути это просто альтернативный клиент, которым можно пользоваться внутри браузера в одном окне. Ну и плюс он может взаимодействовать с bpm движком самой системы, то есть в итоге мне кажется что он будет более функционален, чем сущности в тимс🤷🏽‍♂️

А так есть доля истины, но наша задача теперь выкрутить из этого более масштабное решение)

Ответить
3

неплохая экономия👍🏼

Ответить
3

Ну да, правда там запросов жесть... почти highload сделали из 100 пользователей)

Ответить
3

Тимс редкостное гавно, в приложении как не искали так и не нашли кнопку чтобы ответить на сообщение. Непонятно как тресты создавать. На минутку мы тимсом пользуемся несколько месяцев, все же слак был приятнее

Ответить
2

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

Как я люблю говорить, многие люди в рф, очень будут есть г***о - главное что бы не дорого, а лучше бесплатно😂 Такова суть)

Ответить
0

Нормально вы одним комментом всех обосрали.

Ответить
0

Ну не всех... но я думаю многие замечали данный тренд на рынке)

Ответить
2

Отличная статья. Спасибо, будем думать для своего проекта

Ответить
1

Велком, обращайтесь)

Ответить
2

ну с текущим курсом даже дороже выйдет так то

Ответить
1

Ну подсчеты были на момент написания, сейчас у майков уже почти 2 200 висит на сайте)

Ответить
2

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

 У каждого пользователя по 200-250 таких чатов.

Что за супермены способны отслеживать 250 чатов и понимать что куда писать? В одной компании так Битрикс-24 внедряли: каждому работнику ежедневно приходило по 100-200 уведомлений и они просто игнорировали этот спам. А проблема была в том что не было нормальных бизнес-процессов и всех подписывали на всё. В описываемой компании, видимо, аналогично.

Ответить
0

Ну давайте разбираться:
1. У каждого сотрудника есть чат с коллегами, личка. Соответственно вот у вас уже 100-150 чатов.
2. Плюс есть каналы и чатики дополнительно созданные и на аккаунте админа, цифры были около 100.

Вот вам и математика, а вообще обычно любое внедрение нужно руководству. Вопрос только в том как это будет подано сотрудникам🤷🏽‍♂️

Ответить
1

MS Teams бесплатную версию имеет 

Ответить
2

Вроде никто обратного и не говорил)

Ответить
0

Ну да, есть такое)

Ответить
1

Почему не использовали внутренние возможности bpm?! Все, что Вы описали возможно исполнить там.

Ответить
1

Ну надо понимать, что функциональность bpm несколько шире чем то что описано в статье, и я как раз об этом и говорю, что пока это просто вьюха, которую далее надо будет развивать, вот в принципе и все)

Ответить
1

Я не эксперт который знает тимс вдоль и поперек, но даже от его интеграции с jira которую я видел возникают вопросы) не говоря уже о реализации адекватного участия его в бизнес процессах)

Ответить
1

Изначально хотели «интегрировать» кнопку мессенджера в боковую панель и отображать MS Teams через iframe. Но это не получилось из-за того, что Microsoft блокирует запросы между доменами в iframe. Поэтому мы решили собирать свой интерфейс внутри системы.

еще можно попробовать BrowserView или WebView(не помню точно) использовать в Electron, не самое лучшее решение, но альтернативное.

p.s. а у тимс нет SSO разве? в таблице почему-то минус

Ответить
1

Кстати можно было попробовать) спасибо за рекомендацию)

А вот что касается sso, то он на бесплатном тарифе не предоставляется, а вообще сама табличка сравнивает именно бесплатные версии. Но я проверю на всякий случай)

Ответить

Своеобразный меч

0

платить за то что уже давно бесплатно и всегда им было

Ответить
1

немного не понял, если честно

Ответить

Своеобразный меч

Аркадий
1

Наследие Skype монетезируют потихоньку. А с чего все начиналось. Но для микрософтовой архитектуры адекватных вариантов кроме тимза нет. Хорошая работа, молодцы 

Ответить
0

Спасибо, приятно слышать такие отзывы)

Ответить

Своеобразный меч

1

Фантастическая отечественная вкс с sip, h323 и высоким разрешением. Когда то имела корни из-за границы, но потом переписана нашими, очень лёгкая и работает на допотопных ксеонах. Поддерживает популярные аппараты и софтфоны. Из пользователей очень много контор. Одна из самых взрослых систем, что я видел. 

Ответить
0

Изучу, должно быть интересно, спасибо)

Ответить

Своеобразный меч

0

Битрикс24 ещё при некоторых сценария модно задействовать или для вкс openmcu_ru

Ответить
0

Битрикс они пробовали им не пошел, в вот про OpenMCU-ru не слышал. Можете дать какой-то фидбек по нему, имеет ли смысл изучать и углубляться?

Ответить
Читать все 30 комментариев
«Сбермегамаркет» открыл первые собственные пункты выдачи заказов Статьи редакции

Первые пункты появились в Москве, до конца года компания откроет 400 точек по стране.

Что может быть важнее прибыли. ESG-словарь для инвестора

В 2020–2021 гг. резко возросла популярность темы ответственного инвестирования, или ESG. Идея о том, что инвестиции должны не только приносить прибыль, но и поддерживать экологию и социальную справедливость, привела к тому, что ESG-фонды стали играть значимую роль на мировых рынках капитала.

Ozon позволит поставщикам самим размещать товары на витрине своего сервиса экспресс-доставки через аукцион Статьи редакции

Раньше ритейлер сам закупал и продавал товары на Ozon Express.

«Вам звонок из Циан»: зачем компания скупает номера телефонов и как call-tracking помогает клиентам сервиса

Подменные номера телефонов защищают от нежелательных звонков и упрощают аналитику продаж

28 SEO идей для взлета интернет магазина

Узнайте за 10 минут все основные практические SEO-фишки продвижения интернет магазина, вышедшие в 2021 году и написанные в телеграфном стиле из внутреннего обучения оптимизаторов «Скобеев и Партнеры».

Новая аудитория и до 6 млн рублей в день на экспресс-доставке. Онлайнтрейд.ру о продажах с Яндекс.Маркетом

Иван Авдеев — директор по маркетингу ОНЛАЙНТРЕЙД.РУ — рассказывает, как переход с рекламной модели на маркетплейс повлиял на работу магазина.

Система оплаты проезда лицом Face Pay заработала на всех станциях метро в Москве Статьи редакции

Дептранс изучает возможности для внедрения оплаты по лицу на МЦК, МЦД и наземном транспорте.

Фастфуд, где «посуду» тоже едят: как открылось, сколько тратит и зарабатывает кафе из Казани «Супстанция» Статьи редакции

Тут продают супы в стаканах из хлеба и уже получают прибыль с каждой точки.

Все блюда «Супстанции» подают в хлебном стакане Супстанция
Конференция GoGlobal! соберет ведущих маркетологов

29 сентября 2021 года впервые состоится GoGlobal! — однодневная онлайн-конференция для маркетологов, заинтересованных в ускорении глобального присутствия своих кампаний.

Как работать удалённо по московскому времени, если живёшь в Сибири

Команда ИТ-компании Southbridge — о преодолении трудностей часовых поясов: графике работы, планировании и отдыхе.

null