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

В ответ социальные сети и мессенджеры начали внедрять новый функционал. ВКонтакте и Facebook выкатили личные сообщения для групп и публичных страниц.

Telegram с его каналами и ботами превратился в платформу для публикаций и взаимодействия с аудиторией. В Viber появились публичные аккаунты.

Чтобы получить максимальный профит бизнесу нужно пользоваться всеми возможностями всех социальных площадок.

Так родились «Открытые линии» — новый инструмент для взаимодействия клиентов «Битрикс24» с конечными пользователями.



Схема работы «Открытых линий» несложная:

  1. Мы получаем все пользовательские сообщения из мессенджеров и социальных сетей
  2. Маршрутизируем их с помощью встроенного в «Битрикс24» мессенджера. Распределяем по операторам
  3. Клиенты отвечают на сообщения, а мы маршрутизируем ответы обратно менеджерам компаний, работающих на «Битрикс24»

Главная задачи разработки в этом проекте — максимально упростить подключение каналов коммуникаций. Чтобы это мог сделать любой среднестатистический менеджер. Для этого пришлось договариваться с разработчиками всех интегрируемых соцсетей и мессенджеров — всё официально, никаких ухищрений.

А чтобы обеспечить стабильную работу в облачной и коробочной версиях «Битрикс24», мы создали централизованный сервер коннекторов. Он обрабатывает все потоки информации.

ВКонтакте


Следующий шаг мы проходили в тесном дуэте с разработчиками ВКонтакте. Нам удалось выстроить оптимальную схему работы с сервисом — теперь мы делали за пользователей кучу технических действий для подключения.

Теперь этот API ВКонтакте могут использовать и другие сервисы.

Как теперь выглядит подключение «Открытых линий» для обычного пользователя:

  • Авторизуетесь в VK.
  • В разделе подключения выбираете нужную группу.
  • Подтверждаете.







Выглядит просто, но лишь потому, что мы спрятали под капот всю «кухню» — порядка десяти операций, вместе с запросами на получение разных ключей.

Skype


А вот с Microsoft было сложно. К сожалению, они очень фокусируются на «олдскульных» айтишниках. Подключение к их бот-фреймворку вышло сложным. Сейчас для этого нужно пройти хоррор-квест:

  • Установить приложение.
  • Завести аккаунт.
  • В Skype взять один ключ.
  • В «Битрикс 24» — другой.
  • Подключить.

Viber


Эту интеграцию мы делали одной из первых. Постоянно общались с разработчиками мессенджера. И вообще держали руку «на пульсе». Сейчас «Открытые линии» можно подключить из «Битрикс24» или из мобильного приложения Viber.

Telegram


У Telegram простое API — подключение получилось простым. И несмотря на все блокировки, сейчас все работает.

Instagram


Интеграция с Instagram — одна из самых популярных среди наших клиентов. Но из-за скандала с распространением личных данных Instagram сильно урезал возможности API.

Нам приходится самостоятельно раз в 15 минут «опрашивать» его и определять новые сообщения. Причём API разрешает получать не сами сообщения, а только комментарии к постам. Также есть ограничение на количество ответов в час.

Внешние системы — это живые организмы, в которых постоянно что-то меняется. В API соцсетей и мессенджеров вносятся какие-то изменения, часто возникают какие-то ошибки с «той» стороны.

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

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

Сервер коннекторов


В основе архитектуры «Открытых линий» лежит сервер коннекторов. Это единая точка входа в схеме обмена сообщениями между внутренним мессенджером «Битрикс24» и внешними мессенджерами и соцсетями.

В «Открытых линиях» существует три вида входящих каналов:

  • Внешние, которые работают через сервер очередей.
  • Онлайн-чат, который работает на клиентском портале. Код виджета мы берём с портала клиента. И речи о недоставке сообщений в данном случае не идёт — если портал «лежит», виджет чата просто не будет отображаться.
  • Нетворк — канал, который позволяет создавать «Открытую линию» и находить среди других порталов «Битрикс24», в том числе коробочных. Это особенно актуально для наших партнеров, которые хотят организовывать чаты поддержки для своих компаний-клиентов. Такие чаты работают через бот-платформы «Битрикс24» и не используют сервер коннекторов — все операции происходят внутри нашей платформы.

Во всех «Открытых линиях» и коннекторах подключения, есть важный нюанс. Предполагается, что первым всегда проявляет инициативу клиент. Мы можем только отвечать на сообщения пользователей. Но не писать им первыми.

Сервер находится в облаке и доступен 24/7. Он принимает сообщения пользователей без праздников и выходных. У клиента с коробочной версией «Битрикс24» портал может быть временно недоступен: упал сервер или проблемы с интернетом. В таких случаях сообщения от пользователей могли теряться.

Эту проблему решает облачный сервер коннекторов.

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

Мы посчитали — 24 часов достаточно, чтобы исправить любые неполадки и перезапустить портал коробочной версии. Мы сделали сильный акцент на том, что порядок сообщений не поменяется. Весь контент будет доставлен именно в том порядке, в котором его писали. Пользовательские сообщения, пусть и с задержкой, но будут доставлены.

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

Сервер коннекторов:

  • Приводит все входящие сообщения к универсальному формату, который понимают порталы.
  • Шифрует данные и подписывает их лицензионным ключом.
  • Передаёт их на порталы.

Шифрование нужно не только для защиты самой переписки, но и для подтверждения достоверности сторон.

После унификации формата сообщения попадают в очередь. Из нее они разлетаются по адресатам.

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

И если сообщения будут идти «валом» — есть вероятность дублирования сессий. Чтобы этого не происходило, сообщения передаются каждому порталу в один поток, пакетами и с небольшой задержкой.

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

  1. Параллельная в несколько потоков.
  2. Последовательная в один поток.

Доставка может быть:

  1. Гарантированная. Много попыток.
  2. Негарантированная. Одна попытка.

В скором времени мы переведём на этот сервер коннекторы социальных сетей, бот-платформ и мессенджеров. Ура!

Настройка и обработка сообщений


Мы постарались сделать подключение и настройку «Открытых линий» как можно проще.

«Битрикс24» используют самые разные компании, от крупных представителей IT-бизнеса до индивидуальных предпринимателей, торгующих автозапчастями. Даже айтишнику, занимающемуся администрированием, проще сделать несколько кликов. А не изучать документацию, прописывать ключи и конфиги.

В «Открытых линиях» есть ряд настроек очереди операторов, рабочего времени, работы с CRM, различных чат-трекеров и форм.

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

Для обработки сообщений операторы используют либо приложение «Битрикс24», либо встроенный мессенджер. Там есть дополнительные инструменты управления: принять, пропустить, отклонить, завершить.

После завершения переписки с пользователем система может автоматически попросить его поставить оценку.

Комментарии (5)


  1. Lpndn
    21.06.2018 21:43

    Хороший инструмент, мы пользуемся

    И всё же, ещё кое-что необходимо дорабатывать в ОЛ:

    • очень нужна возможность настраивать отображение имени оператора – сейчас по умолчанию {Имя Фамилия}, и это не всегда удобно
    • приветственные сообщения странно отправляются – если пользователь уже писал в канал ранее, то ему не отправляется приветствие
    • не помешало бы более гибкое распределение по операторам, а то либо по очереди, либо одновременно


    1. horses
      22.06.2018 12:37

      очень нужна возможность настраивать отображение имени оператора – сейчас по умолчанию {Имя Фамилия}, и это не всегда удобно
      У нас есть запрос на возможность управлением отображаемым именем оператора. Сделаем.
      приветственные сообщения странно отправляются – если пользователь уже писал в канал ранее, то ему не отправляется приветствие
      По приветственному сообщению: да, оно так и называется, что это приветствие при первом обращении. Пометил как фичу. Если такой запрос будет пользоваться спросом: сделаем обязательно :-)
      не помешало бы более гибкое распределение по операторам, а то либо по очереди, либо одновременно
      Например? Какие варианты вы бы хотели?


      1. Lpndn
        22.06.2018 16:48

        Например? Какие варианты вы бы хотели?

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

        Например:

        • первым выбором группа пользователей Техподдержка
        • таймаут 5 мин.
        • затем пользователь Руководитель группы
        • таймаут 3 мин.
        • снова пользователь Начальник отдела


  1. KeySVG
    22.06.2018 09:21

    То же потихониьку внедряем функционал. Виджет на сайт, с него клиент через мессенджеры, вКонтактик запросы делает.
    Сейчас очень интересна тема ботов. К примеру под Телеграм-бота можно интегрировать в открытые линии?


    1. horses
      22.06.2018 12:38

      К примеру под Телеграм-бота можно интегрировать в открытые линии?
      Да, вы можете подключить телеграмм к открытым линиям битрикс24 как раз через телеграмм бота.