💬 VK Community Integration
Подключение ИИ-ассистента к сообществу ВКонтакте для автоматических ответов клиентам
✅ Доступно для: Всех типов агентов (Creator, Service, E-commerce)
📋 Содержание
Возможности
- ✅ Автоматические ответы на сообщения сообщества
- ✅ Поддержка кнопок (callback и текстовые)
- ✅ Эскалация сложных вопросов владельцу
- ✅ Интеграция с базой знаний агента
- ✅ Мульти-канальность (Telegram + VK одновременно)
- ✅ Шифрование токенов (AES-256-CBC)
- ✅ Работа через Callback API (webhook)
Пошаговая настройка
1Создайте сообщество VK
- Перейдите на vk.com
- Создайте сообщество (тип: "Бизнес" или "Тематическое сообщество")
- Настройте название, описание, аватар
- Включите сообщения: Управление → Сообщения → Включить
- 💡 Совет: Для бизнеса рекомендуется тип "Бизнес" с включёнными товарами
2Получите Access Token
- Откройте Управление → Работа с API
- Нажмите "Создать ключ"
- Выберите права доступа:
- ✅ Управление сообществом
- ✅ Сообщения
- Скопируйте токен (начинается на
vk1.a....) - ⚠️ Важно: Сохраните токен в надёжном месте! Повторно показать не смогут
3Узнайте Group ID
Есть несколько способов узнать ID сообщества:
- Посмотрите на URL сообщества:
vk.com/public123456789→ Group ID:123456789vk.com/club123456789→ Group ID:123456789vk.com/mycommunity→ Нужно открыть страницу и посмотреть в источнике
- Используйте онлайн-сервисы:
4Настройте в личном кабинете
- В личном кабинете откройте страницу агента → вкладка Интеграции
- Найдите секцию "VK Сообщество"
- Заполните поля:
- Group ID - ID сообщества (только цифры)
- Access Token - токен из Шага 2
- Callback Secret Key - придумайте секретный ключ (минимум 10 символов)
- Нажмите Проверить подключение для проверки credentials
- Нажмите Сохранить интеграции
- Скопируйте Webhook URL (появится после сохранения)
Настройка Callback API в VK
5Настройте Callback API
- Перейдите в Управление → Работа с API → Callback API
- Нажмите "Добавить сервер"
- Заполните поля:
- Server URL - Webhook URL из личного кабинета
https://gonka-backend.onrender.com/api/v1/vk/webhook/<agent-id> - Secret key - Secret Key из личного кабинета
- Server URL - Webhook URL из личного кабинета
- Нажмите "Сохранить"
- Скопируйте Confirmation Code (код подтверждения)
- Вернитесь в личный кабинет и вставьте код в поле "Код подтверждения"
- Нажмите "Подтвердить" в настройках VK (или обновите страницу агента)
- ✅ Статус сервера изменится на "OK"
6Включите события
- В настройках Callback API нажмите "Настройки событий"
- Включите обязательные события:
- ✅ Входящие сообщения (
message_new) - ✅ Разрешение на отправку сообщений (
message_allow) - ✅ События кнопок (
message_event)
- ✅ Входящие сообщения (
- Опционально (для расширенной функциональности):
- ⚪ Запрет на отправку сообщений (
message_deny)
- ⚪ Запрет на отправку сообщений (
- Нажмите "Сохранить"
Команды и кнопки
Текстовые команды
VK не поддерживает slash-команды (/start, /help). Вместо этого используются текстовые триггеры:
Привет→ Приветственное сообщение
Меню→ Главное меню
Помощь→ Справка
Здравствуй→ Приветственное сообщение
Кнопки главного меню
VK поддерживает callback-кнопки (аналог Inline Keyboard в Telegram):
Показать главное меню
Показать справку
Для E-commerce агентов
Для E-commerce агентов
Для Service агентов
Для Service агентов
API Reference
Webhook Endpoints
POST /api/v1/vk/webhook/:agentIdПолучение событий от VK (message_new, message_event, message_allow)
GET /api/v1/vk/webhook/:agentIdПодтверждение webhook (возврат confirmation code для VK)
POST /api/v1/vk/check-connectionПроверка credentials (Group ID + Access Token)
GET /api/v1/vk/:agentId/confirmation-codeПолучение confirmation code
POST /api/v1/vk/:agentId/webhookНастройка Callback API webhook
Типы событий
📨 message_new
Новое входящее сообщение от пользователя
{
"type": "message_new",
"object": {
"peer_id": 123456,
"text": "Привет!",
"from_id": 789012,
"conversation_message_id": 1
}
}🔘 message_event
Нажатие на callback-кнопку
{
"type": "message_event",
"object": {
"peer_id": 123456,
"event_id": "abc123",
"payload": {"action": "menu"},
"conversation_message_id": 1
}
}✅ message_allow
Пользователь разрешил сообщения от сообщества
{
"type": "message_allow",
"object": {
"user_id": 789012,
"peer_id": 123456
}
}🐛 Troubleshooting
Webhook не подтверждается
Проблема: VK не принимает webhook URL
Решение: Убедитесь что сервер доступен из интернета (не localhost). Проверьте BASE_URL в настройках. Для локальной разработки используйте ngrok или подобный сервис.
Сообщения не приходят
Проблема: Бот не получает сообщения
Решение: Проверьте что включены события message_new в настройках Callback API. Убедитесь что Confirmation Code подтверждён.
Кнопки не работают
Проблема: Нажатие на кнопки не обрабатывается
Решение: Убедитесь что используется type: "callback" и обрабатывается message_event. Проверьте что событие message_event включено в настройках Callback API.
Ошибка проверки подключения
Проблема: Не проходит проверка Group ID + Access Token
Решение: Проверьте что токен действителен и имеет права "Управление сообществом" и "Сообщения". Убедитесь что Group ID соответствует сообществу.
Токены не расшифровываются
Проблема: Ошибка расшифровки токенов
Решение: Проверьте что ENCRYPTION_KEY установлен в переменных окружения и совпадает с тем что использовался при шифровании.
🔒 Безопасность
- ✅ Шифрование токенов: Access Token шифруется при хранении (AES-256-CBC)
- ✅ Проверка подписи: Secret Key используется для проверки подписи webhook
- ✅ Маскирование: Токены показываются частично в UI (первые 10 символов)
- ✅ HTTPS: Все webhook URL используют HTTPS
- ⚠️ Не передавайте Access Token третьим лицам
- ⚠️ Регулярно обновляйте Secret Key
- ⚠️ Храните ENCRYPTION_KEY в секрете