Сообщения сообщества ВКонтакте: настройка по шагам

Короткий ответ: настройка состоит из двух обязательных переключателей, одного необязательного и одного ключа доступа. Порядок такой: включить сообщения в сообществе, включить «Возможности ботов», создать ключ доступа сообщества с правом на сообщения, подключить канал. Занимает это полчаса, а ломается почти всегда на втором пункте — включённых сообщений для работы бота недостаточно, и это отдельный, легко пропускаемый тумблер.

Второй короткий ответ: чего эта настройка не даёт. Она не даёт возможности написать человеку первым — сообщество отправляет сообщения только тому, кто разрешил их получать, и первым таким разрешением обычно служит его собственное сообщение вам. Она не даёт списка тех, кто разрешил: VK прямо пишет, что такой список нужно вести у себя. И она не даёт второго вида канала — личного вида канала для VK не существует, поэтому режим здесь один и развилки «бот или личный аккаунт» в VK нет. Взамен нет и ограничения по времени: если клиент написал сам, отвечать можно без ограничений по времени, пока он не запретит сообщения вручную. Как это выглядит в общем окне, показано в демо без регистрации.

Шаг 1. Сообщения в сообществе

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

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

Шаг 2. «Возможности ботов» — второй тумблер

Управление → Сообщения → Настройки для бота → пункт «Возможности ботов». Отдельный переключатель, и именно на нём чаще всего останавливается настройка: первый тумблер уже дал кнопку клиенту, всё выглядит рабочим, а бот молчит.

Подключать бота можно к любому своему сообществу — группе, встрече или публичной странице. Требование одно: бот должен соответствовать правилам VK для ботов.

Шаг 3. Беседы — третий тумблер, по желанию

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

Шаг необязательный, и решать стоит по сценарию, а не «на всякий случай»: если беседы не часть вашей работы с клиентами, лишний тумблер только расширяет то, что придётся потом объяснять команде.

Шаг 4. Ключ доступа сообщества

Управление → Дополнительно → Работа с API → «Создать ключ», с отметкой нужных прав. Для переписки нужно право messages — «Доступ к сообщениям сообщества». Остальные права ключа сообщества (истории, фотографии, виджет приложения, документы, администрирование) для этой задачи не нужны, и лучше их не отмечать.

Три практических правила про ключ:

И асимметрия, из-за которой пользовательский путь можно не рассматривать: методы переписки принимают и пользовательский ключ, но право messages для него VK выдаёт, дословно, в исключительных случаях через запрос в поддержку по электронной почте. Практический вывод один — ключ сообщества. Он же выигрывает по частоте запросов: 20 в секунду против 3 у пользовательского. Часть возможностей вообще помечена как доступная только ключу сообщества — например, отправка одного сообщения сразу нескольким получателям, до ста идентификаторов за вызов.

Шаг 5. Подключение канала и проверка

Дальше канал подключается ключом сообщества в каталоге подключений — слот «VK бот» в ряду ботов. Устройство связи стоит понимать правильно: канал ходит через внешний шлюз, обращения к VK выполняет он, а не наш бэкенд напрямую. Поэтому формулировка «прямое подключение к VK API» здесь неуместна, а «канал подключается ключом сообщества» — точна.

Проверка после подключения занимает пять минут и снимает большую часть будущих вопросов:

  1. Входящее. Напишите в сообщество с посторонней учётной записи и убедитесь, что сообщение появилось в общем окне.
  2. Исходящее. Ответьте из окна и посмотрите на клиентскую сторону.
  3. Медиа. Отправьте фото и файл в обе стороны. Проверять это до первого клиентского обращения, а не после, — единственная разумная стратегия.
  4. Роли. Убедитесь, что сотрудник без нужной роли переписку не открывает и что дело не в спрятанных кнопках: принадлежность рабочему пространству проверяется отдельно от роли.

Что VK отдаёт через события, а что придётся вести самим

Документированные события переписки: новое входящее сообщение, новое исходящее, разрешение сообщений, запрет сообщений и сигнал набора текста или записи аудиосообщения. Набор одинаков для обоих механизмов доставки — VK прямо пишет, что структура событий у них идентична, а различается транспорт. Один механизм хранит очередь событий у себя и не присылает уведомление на каждое событие; второй требует, чтобы события принимал ваш сервер, с корневым SSL-сертификатом от авторизованного центра сертификации — самоподписанного недостаточно. Настройками второго механизма можно управлять не только в веб-интерфейсе, но и методами API.

Выбирать между ними вам не нужно и негде: транспорт живёт на стороне шлюза, такой настройки в LTVchat нет. А вот один список платформа не отдаёт вовсе, и об этом стоит знать до разговора с любым подрядчиком: получить через API перечень всех, кто разрешил сообщения сообществу, нельзя — VK пишет, что хранить и синхронизировать его нужно на своей стороне, отслеживая события разрешения и запрета.

Чек-лист настройки

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

Где заканчивается зона инструмента

Полного импорта переписки для VK-канала не предусмотрено. Обычная синхронизация принесёт до двухсот диалогов и до двухсот сообщений только по тем чатам, которые создаются впервые; по уже известным чатам добор сообщений не начинается. Отдельная функция загрузки истории с прогрессом относится только к личным каналам Telegram и MAX.

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

Отсутствующие возможности стоит назвать своими именами. Воронки и стадий сделки нет, тегов нет, произвольных полей клиента нет. Назначения ответственного за диалог и автоматического распределения обращений нет. Искать по словам внутри сообщений нельзя — путь к переписке идёт через карточку клиента. Шаблонов быстрых ответов, отложенной отправки, авторассылок, напоминаний о просрочке нет. Связок с внешними CRM не сделано, сквозной аналитики не заведено. Фильтры «Важные» и «Неотвеченные», документированные у VK для беседы сообществ, — это её собственные фильтры, а не функция окна; что из них доезжает через шлюз, мы не проверяли.

Про медиа честно. Фото, файлы и голосовые отправляются, путь общий с другими каналами. Обещать, что вложение всегда уйдёт с первого раза, мы не будем: неудачные загрузки случались, и причина была на внешней стороне, вне нашего контроля. Механику загрузки вложений в VK мы не описываем — подтверждённых данных по ней нет.

Правовую часть решает не инструмент. Какие требования к обработке переписки относятся именно к вашей организации, определит юрист, глядя на ваши бумаги; общая рамка — в тексте про 152-ФЗ. Сертификатов, аттестатов и внешних аудиторских заключений у сервиса не выдано; как устроены роли и журнал — на странице безопасности.

Дальше

Что из этого важно для отдела продаж — кому можно писать, сколько есть на ответ и почему список разрешивших приходится вести самим — разобрано на странице про сообщения ВКонтакте для компании. Как руководителю видеть переписку, не читая каждый диалог, — в тексте про контроль переписок. Цена собирается из двух слагаемых — 300 ₽/канал в месяц + 50 ₽/сотрудник в месяц, — и владельцы подключённых каналов в число оплачиваемых сотрудников не входят; полный расчёт — на странице тарифов.

Частые вопросы

Я включил сообщения, но бот не отвечает. Что не так?

Скорее всего, не включён второй тумблер. Включённых сообщений сообщества для работы бота недостаточно: нужен отдельный пункт «Возможности ботов» в Управление → Сообщения → Настройки для бота. Это два разных переключателя, и пропускают именно второй, потому что первый уже даёт клиенту кнопку «Написать сообщение» и создаётся ощущение, что всё готово. Проверять стоит именно в этом порядке: сообщения, потом возможности ботов, потом ключ доступа.

Чем ключ сообщества отличается от ключа пользователя и какой брать?

Брать ключ сообщества — по сути, другого пути и нет. Методы переписки вызываются либо ключом сообщества с правом messages, либо пользовательским ключом, полученным в Standalone-приложении, но во втором случае само право messages выдаётся, по формулировке VK, в исключительных случаях через запрос в поддержку по электронной почте. То есть пользовательский путь платформа фактически закрыла. Разница видна и по частоте: 20 запросов в секунду для ключа сообщества против 3 для пользовательского.

Какие права отмечать при создании ключа?

Для переписки нужно право messages — в интерфейсе оно называется «Доступ к сообщениям сообщества». Помимо него у ключа сообщества есть права на истории, фотографии, виджет приложения, документы и администрирование сообщества, но для задачи «получать и отправлять сообщения» они не требуются. Полезная практика: создать отдельный ключ ровно с тем правом, которое нужно, а не один универсальный. VK разрешает несколько ключей с разными правами, и при утечке вы удаляете один, а не переделываете всё.

Нужно ли мне разбираться в способах доставки событий?

Для работы через готовый инструмент — нет, и выбирать вам ничего не придётся. Знать полезно одно: у VK есть два механизма доставки событий сообщества, и структура событий у них идентична — отличается только транспорт. Один хранит очередь событий на стороне ВКонтакте и не присылает уведомление на каждое событие, второй требует, чтобы события принимал ваш сервер. У второго требования жёсткие: нужен корневой SSL-сертификат от авторизованного центра сертификации, самоподписанного недостаточно. Это, кстати, один из практических аргументов не писать своего бота с нуля.

Можно ли получить список всех, кто разрешил нам писать?

Через API — нет. VK формулирует прямо: получить список всех пользователей, разрешивших сообщения сообществу, нельзя, этот список необходимо хранить и синхронизировать на своей стороне. Отслеживать факт разрешения и запрета можно по соответствующим событиям, которые приходят в момент действия пользователя. Задача техническая и лежит на той стороне, которая работает с API, но знать про неё стоит: она объясняет, почему обещание «покажем всех, кто разрешил» требует уточняющего вопроса.

Что будет со старой перепиской сообщества после подключения?

Полностью она не переедет. Отдельной функции загрузки истории для VK-канала не предусмотрено — она работает только для личных каналов Telegram и MAX. При подключении срабатывает обычная синхронизация: до двухсот диалогов, и до двухсот сообщений только в тех чатах, которые создаются впервые. Для чатов, уже известных системе, добора не будет. Со стороны VK история диалога тоже отдаётся порциями не более двухсот сообщений за вызов, с постраничной подгрузкой от запомненного идентификатора первого сообщения. Отдельная деталь про адресацию при чтении истории: обращение к групповой беседе по её идентификатору для вызовов от имени сообщества недоступно — это ограничение выборки истории, а не запрет на участие сообщества в беседах.

Источники