Подключение группы VK
Модуль принимает входящие сообщения из группы ВКонтакте через Callback API и пересылает их в Telegram-группу поддержки. Ответы менеджеров доставляются пользователям обратно в ВКонтакте от имени сообщества.
Эндпоинт вебхука: POST /api/vk/bot
Предварительные требования
Перед подключением убедитесь, что проект развёрнут по одной из инструкций:
1. Настройка переменных окружения
Добавьте или обновите следующие переменные в файле .env:
env
VK_TOKEN=your_vk_group_access_token
VK_CONFIRM_CODE=your_vk_confirm_string
VK_SECRET_CODE=your_custom_vk_secret| Переменная | Описание |
|---|---|
VK_TOKEN | Ключ доступа группы ВКонтакте |
VK_CONFIRM_CODE | Строка подтверждения из настроек Callback API |
VK_SECRET_CODE | Произвольный секретный ключ для верификации запросов от ВКонтакте |
2. Получение данных в интерфейсе ВКонтакте
2.1. Создание ключа доступа
- Перейдите в Управление сообществом → Работа с API → Ключи доступа.
- Создайте новый ключ с правами:
- Сообщения сообщества
- Фотографии
- Документы
- Скопируйте полученный ключ и укажите его в качестве значения
VK_TOKENв.env.
2.2. Настройка Callback API
Перейдите в Управление сообществом → Работа с API → Callback API.
Вкладка «Серверы»
- Укажите URL сервера:
https://your-domain.com/api/vk/bot - Выберите тип: Callback API.
- Укажите версию API: 5.131 или более новую.
- В поле Секретный ключ введите произвольное значение и скопируйте его в
.envкакVK_SECRET_CODE.
Вкладка «Настройки»
- Скопируйте Строку подтверждения и вставьте её в
.envкакVK_CONFIRM_CODE.
Вкладка «Типы событий»
- Активируйте события:
- Входящее сообщение
- Исходящее сообщение
- Сохраните настройки.
HTTPS обязателен
Убедитесь, что домен сервера доступен извне и обслуживается по HTTPS — иначе ВКонтакте не сможет отправить запрос на сервер.
После сохранения нажмите Подтвердить адрес сервера. Сервер должен вернуть строку из VK_CONFIRM_CODE — это подтвердит корректность настройки.
3. Проверка
- Напишите сообщение в группу ВКонтакте от имени обычного пользователя.
- Бот должен создать (или использовать существующую) тему в Telegram-группе и переслать туда полученное сообщение.
- Ответ менеджера из Telegram будет доставлен обратно в ВКонтакте от имени сообщества.
Чек-лист подключения
- [ ]
VK_TOKENзадан в.env - [ ]
VK_CONFIRM_CODEзадан в.env - [ ]
VK_SECRET_CODEзадан в.env - [ ] URL сервера указан в Callback API:
https://your-domain.com/api/vk/bot - [ ] Адрес сервера подтверждён в интерфейсе ВКонтакте
- [ ] События «Входящее сообщение» и «Исходящее сообщение» активированы
- [ ] Тестовое сообщение из ВКонтакте появляется в Telegram-группе
- [ ] Ответ менеджера из Telegram доставляется в ВКонтакте