Как мы создали «Открытые линии» в «Битрикс24»

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

    В ответ социальные сети и мессенджеры начали внедрять новый функционал. ВКонтакте и 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», либо встроенный мессенджер. Там есть дополнительные инструменты управления: принять, пропустить, отклонить, завершить.

    После завершения переписки с пользователем система может автоматически попросить его поставить оценку.
    1С-Битрикс
    73,00
    Компания
    Поделиться публикацией

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

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

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

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

          Например:

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

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

        Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

        Самое читаемое