vk-community

n8n community nodes for VK Community (VKontakte): messages, wall posts, and Callback API triggers

Package Information

Released: 8 mo ago
Downloads: 17 weekly / 78 monthly
Latest Version: 0.1.2

Documentation

VK Logo

n8n-nodes-vk-community

Ноды для автоматизации сообществ ВКонтакте в n8n
Отправка сообщений · Управление стеной · Callback API триггер

npm version license n8n community node


🚀 Быстрый старт

Установка

☁️ n8n Cloud

  1. Settings → Community Nodes
  2. Install a community node
  3. Введите n8n-nodes-vk-community
  4. Install ✅

🖥️ Self-hosted

cd ~/.n8n
npm install n8n-nodes-vk-community
# Перезапустите n8n

После установки в палитре нод появятся:

Нод Для чего
VK Community Отправка сообщений, публикация/редактирование/удаление постов
VK Community Trigger Приём событий от VK через Callback API (входящие сообщения, новые посты и др.)

🔑 Настройка подключения

Всё начинается с токена сообщества. Без него ничего не заработает.

Шаг 1 — Получите токен в ВКонтакте

Сообщество → ⚙️ Управление → Работа с API → Ключи доступа → Создать ключ

Какие права выбрать:

Право Зачем
✅ Сообщения сообщества Для отправки и получения сообщений
✅ Стена Для постов: создание, редактирование, удаление

Шаг 2 — Создайте credential в n8n

Credentials → Add Credential → VK Community API

Поле Что вписать Обязательно?
Community Access Token Токен из шага 1 (vk1.a.xxxxx...) ✅
API Version Версия API, по умолчанию 5.199 —
Service Key Сервисный ключ приложения VK (для операции Get Posts) Для Get Posts
Confirmation String Строка подтверждения Callback API Только для Trigger
Secret Key Секретный ключ для верификации запросов Нет

💡 Нажмите Test — если токен валиден, увидите зелёную галочку. Тест вызывает groups.getById.

🔑 Где взять Service Key (сервисный ключ)?

Сервисный ключ нужен для операции Get Posts (получение постов со стены). VK не позволяет читать стену с токеном сообщества (ошибка 27).

Как получить:

  1. Перейдите на https://dev.vk.com → Мои приложения
  2. Если нет приложения — создайте новое (тип: Standalone)
  3. Откройте Настройки приложения
  4. Скопируйте Сервисный ключ доступа

⚠️ Если вы не используете операцию Get Posts — это поле можно оставить пустым.

🔍 Где взять Confirmation String?
Сообщество → Управление → Работа с API → Callback API
→ «Строка, которую должен вернуть сервер»

Это короткий код вида a1b2c3d4. Нужен только для нода VK Community Trigger.


💬 Нод VK Community

Основной нод для действий с VK API. Работает с двумя ресурсами:

Сообщения (Message)

📤 Send — отправить сообщение

Отправляет сообщение от имени сообщества.

Параметр Что указать
Peer ID Кому отправить (см. таблицу ниже)
Message Text Текст сообщения

Дополнительные поля (Additional Fields):

Параметр Описание
Attachment Вложения: photo-123456_789012 (через запятую, если несколько)
Keyboard (JSON) Клавиатура бота
Don't Parse Links Не показывать превью ссылок

🆔 Как определить Peer ID?

Куда отправляем Как вычислить Пример
👤 Пользователю Просто его ID 12345678
👥 В беседу 2000000000 + chat_id 2000000001
🏢 Сообществу -group_id -198765432

⚠️ Пользователь должен сам написать первым! ВКонтакте запрещает отправку сообщений пользователям, которые не начинали диалог с сообществом.

⌨️ Пример: inline-клавиатура бота

Вставьте в поле Keyboard (JSON):

{
  "inline": true,
  "buttons": [[
    {
      "action": { "type": "text", "label": "✅ Да", "payload": "{\"btn\":\"yes\"}" },
      "color": "positive"
    },
    {
      "action": { "type": "text", "label": "❌ Нет", "payload": "{\"btn\":\"no\"}" },
      "color": "negative"
    }
  ]]
}

Доступные цвета кнопок: positive (зелёный), negative (красный), primary (синий), secondary (серый).

📥 Get History — история переписки
Параметр Описание
Peer ID ID собеседника
Count Сколько сообщений вернуть (макс. 200)
Offset Пропустить N сообщений (для пагинации)

Стена (Wall)

📝 Create Post — опубликовать пост
Параметр Что указать
Owner ID ID сообщества со знаком минус: -123456
Message Текст поста

Дополнительные поля:

Параметр Описание
From Group true — от имени сообщества (по умолч.), false — от вашего имени
Attachments Вложения через запятую: photo-123_456,video-123_789
Publish Date UNIX-timestamp для отложенного поста. 0 = сейчас

💡 Отложенный постинг: чтобы опубликовать пост 1 марта 2026 в 12:00 МСК, укажите 1772186400.
Можно вычислить через выражение n8n: {{ DateTime.fromISO('2026-03-01T12:00:00+03:00').toSeconds() }}

📋 Get Posts — получить посты со стены

⚠️ Требуется Service Key! Метод wall.get не работает с токеном сообщества (ограничение VK API, ошибка 27). Заполните поле Service Key в credentials.

Параметр Описание
Owner ID ID владельца стены (для сообщества: -group_id)
Count Количество постов (макс. 100)
Offset Смещение для пагинации
✏️ Edit Post — редактировать пост
Параметр Описание
Owner ID ID владельца стены
Post ID ID поста (можно получить из Create Post или Get Posts)
Message Новый текст
Attachments Новые вложения (заменят существующие)
🗑️ Delete Post — удалить пост
Параметр Описание
Owner ID ID владельца стены
Post ID ID поста для удаления

⚡ Нод VK Community Trigger

Принимает события от ВКонтакте через Callback API и запускает workflow.

Поддерживаемые события

Событие Когда срабатывает
💬 message_new Пользователь написал сообщение сообществу
↩️ message_reply Сообщество отправило сообщение
✏️ message_edit Сообщение было отредактировано
📝 wall_post_new Опубликован новый пост на стене
🔄 wall_repost Пост репостнули

🔧 Настройка Callback API — пошагово

Это самая ответственная часть. Порядок действий важен!

┌─────────────────────────────────────────────────────────┐
│  1. Заполните credential (токен + confirmation string)  │
│                         ↓                               │
│  2. Создайте workflow с VK Community Trigger             │
│                         ↓                               │
│  3. Активируйте workflow (Active → On)                  │
│                         ↓                               │
│  4. Скопируйте webhook URL                              │
│                         ↓                               │
│  5. Вставьте URL в VK → Callback API → Подтвердите      │
│                         ↓                               │
│  6. Включите нужные типы событий в VK                   │
└─────────────────────────────────────────────────────────┘

Подробнее:

1. Убедитесь, что в credential заполнены Community Access Token и Confirmation String.

2-3. Создайте workflow, добавьте нод VK Community Trigger, выберите события, подключите credential. Активируйте workflow.

4. После активации n8n покажет Production URL вида:

https://your-n8n.com/webhook/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/webhook

⚠️ Workflow ОБЯЗАТЕЛЬНО должен быть активен до настройки URL в VK. Иначе VK не сможет пройти подтверждение — webhook не ответит.

5. В ВКонтакте:

Сообщество → Управление → Работа с API → Callback API → вкладка «Настройки сервера»

Вставьте URL → нажмите Подтвердить. При успехе появится ✅.

6. Перейдите во вкладку Типы событий и включите те же события, что выбрали в нод (например, «Входящее сообщение» для message_new).


📤 Что приходит в workflow

При каждом событии триггер выдаёт:

{
  "eventType": "message_new",
  "groupId": 123456789,
  "eventId": "abc123def456",
  "object": {
    "message": {
      "id": 100,
      "from_id": 87654321,
      "peer_id": 87654321,
      "text": "Привет, бот!"
    }
  },
  "_rawBody": { "..." }
}
Поле Описание
eventType Тип события: message_new, wall_post_new и т.д.
groupId ID вашего сообщества
object Данные события (сообщение, пост...)
_rawBody Полное тело запроса от VK

Полезные выражения для следующих нод:

  • Текст сообщения: {{ $json.object.message.text }}
  • ID отправителя: {{ $json.object.message.from_id }}
  • Peer ID для ответа: {{ $json.object.message.peer_id }}

🛠 Примеры workflow

🤖 Эхо-бот

Отвечает на каждое сообщение, повторяя текст:

[VK Community Trigger] → [VK Community]
     message_new            Message → Send

Настройка VK Community:

  • Peer ID: {{ $json.object.message.peer_id }}
  • Message Text: Вы написали: {{ $json.object.message.text }}

📅 Автопостинг по расписанию

Каждый день публикует пост с контентом из внешнего API:

[Schedule Trigger] → [HTTP Request] → [VK Community]
   каждый день       получить данные    Wall → Create Post

📲 Пересылка VK-сообщений в Telegram

[VK Community Trigger] → [Telegram]
     message_new          Send Message

Текст для Telegram: Новое сообщение VK от {{ $json.object.message.from_id }}: {{ $json.object.message.text }}


🔔 Уведомление о новых постах в Slack

[VK Community Trigger] → [Slack]
     wall_post_new        Send Message

❗ Частые проблемы и решения

🔴 «User authorization failed: invalid access_token»
  • Убедитесь, что вы используете токен сообщества, а не личный токен
  • Проверьте, не отозван ли токен: Сообщество → Управление → Работа с API → Ключи доступа
  • Создайте новый ключ, если старый скомпрометирован
🔴 «Access denied: no access to call this method»
  • При создании токена не были выбраны нужные права
  • Для сообщений → право «Сообщения сообщества»
  • Для стены → право «Стена»
  • Пересоздайте токен с правильными правами
🔴 «Can't send messages for users without permission»

ВКонтакте запрещает отправку первого сообщения пользователю. Решения:

  1. Пользователь должен сам написать сообществу первым
  2. Включите сообщения сообщества: Управление → Сообщения → Сообщения сообщества → Включены
  3. Для рассылок используйте только тех пользователей, которые уже писали вам
🔴 Callback API: «Сервер не ответил» / не удаётся подтвердить

Чек-лист:

  • Workflow активен в n8n?
  • Confirmation String в credential совпадает с тем, что в настройках VK?
  • URL вебхука правильный и доступен извне?
  • n8n доступен по HTTPS? (VK не работает с HTTP)
  • Нет файрволла/прокси, блокирующего запросы от VK?

VK ожидает ответ в течение 5 секунд. Если ваш сервер отвечает дольше — подтверждение не пройдёт.

🔴 Триггер не срабатывает (подтверждение прошло, но событий нет)
  • Проверьте, что в VK включены нужные типы событий (Callback API → Типы событий)
  • Проверьте, что в ноде выбраны те же события
  • Если задан Secret Key — он должен совпадать в credential и в VK

📋 Совместимость

Версия
n8n 1.0+
VK API 5.199 (настраивается)
Node.js 18+

📄 Лицензия

MIT

Discussion