Как мы интегрировали Битрикс24 с WhatsApp
Данная востребованная задача была реализована нами в 4х абсолютно разных вариантах (через 2 разных сервиса для облака и через 2 разных сервиса для коробки). Фактически, последние 3 месяца мы 90% рабочего времени занимались разработкой различных чат-ботов для битрикс и ватсап, интеграцией в Битрикс24 чат-бот сервисов и мессенджеров.
Мессенджер WhatsApp пока не открыл свои API для всех желающих, поэтому для того, чтобы интегрировать Битрикс24 с WhatsApp нам понадобилось интегрироваться с сервисами, которые в свою очередь интегрированы уже непосредственно с WhatsApp.
По запросам наших клиентов мы исследовали возможность интеграции Битрикс24 и WhatsApp посредством нескольких сервисов, однако функционал, позволяющий нам реализовать стоящие перед нами задачи оказался только у российского сервиса https://chat2desk.com и у сервиса, разработанного зарубежной компанией https://www.comparaonline.com. ComparaOnline предоставляет свой сервис лишь узкому кругу своих корпоративных партнеров и компаниям, входящим в их холдинг, поэтому в данной статье речь пойдет, в основном, о сервисе Chat2desk. Другие опробованные нами сервисы я не буду здесь упоминать, потому что похвалить мне их не за что, а публично ругать их я не хочу.
Почему для интеграции облачной и коробочной Битрикс24 с WhatsApp через Chat2desk нам понадобилось написать абсолютно разный код?
Дело в том, что API Битрикс24 для облака не позволяет создать свой кастомный коннектор нового мессенджера для открытых линий.
Для интеграции в облаке мы разработали чат-бота, который сидит и слушает входящие сообщения из различных мессенджеров (на самом деле не только WhatsApp, но и Viber, Instagram, Facebook, ВК, Telegram, Skype), когда чат-бот получает входящее сообщение, он создает отдельный чат для каждого отдельного клиента (отправителя сообщения) и приглашает в этот чат так же ответственного менеджера — пользователя Битрикс24.
Это, кстати, является важным преимуществом нашего приложения перед другими, которые добавляют сообщения, пришедшие из WhatsApp в один единый чат с операторами на стороне Битрикс24 с пометкой, от какого клиента поступило сообщение.
После этого пользователь Битрикс24 может общаться в данном чате с написавшим ему клиентом, при этом, если данный клиент написал в первый раз, в системе создается лид для него.
В чате есть возможность обмениваться текстовыми сообщениями, картинками, файлами, местоположением.
По желанию клиента существует возможность привязывать чат не только к определенному лиду, но и к сделке и/или контакту:
Реализация интеграции через чат-бота, а не через кастомный коннектор предполагает некоторые функциональные ограничения. Реализация через коннектор, возможная только для коробочной версии Битрикс24 дает более широкие функциональные возможности, поэтому, несмотря на то, что облачное приложение может быть запущено и в коробке тоже, для наших клиентов и их коробочных версий Битрикс24 мы разработали также модуль, добавляющий в систему кастомный коннектор.
Это позволяет работать с обращениями, пришедшими из WhatsApp (и из других мессенджеров, которые можно подключить в сервисе Chat2desk) абсолютно таким же образом, как со стандартными открытыми линиями Битрикс24.
Кроме того, если для облачной версии Битрикс24 мы пока не реализовали возможность инициации WhatsApp-чата со стороны Битрикс24. В коробочной версии данная возможность уже реализована — мы добавили возможность написать клиенту в WhatsApp прямо из карточки CRM:
Появится ли данный модуль — коннектор сервиса Chat2Desk для коробочной версии Битрикс24 в Маркетплейс Битрикс или будет доступен только отдельным клиентам Студии Юлии Бедросовой, пока не решено.
В процессе разработки мы открыли для себя так же множество технических “фишечек” и наткнулись на множество подводных камней как со стороны REST-API Битрикс24, так и со стороны Bitrix Framework для коробочной версии Битрикс24, о них расскажет мой коллега Александр Змеевский в одном из будущих постов нашего блога.