Тестирование

В n8n тестирование узлов Пачки делится на две задачи:

  • Тестирование экшн-узлов (узел Pachca) — отправка сообщений, создание задач, работа с чатами. Тестируется как любой другой узел n8n: через Execute Step и Pin Data.
  • Тестирование триггера (узел Pachca Trigger) — требует отдельного внимания, потому что у бота в Пачке только один слот для webhook URL, и неправильный тест может сломать живой workflow.

На этой странице — обе задачи, плюс приёмы отладки и локальной разработки.

Инструменты n8n для тестирования

ИнструментЧто делаетДля чего применять
Execute WorkflowЗапуск всего workflow с первого узлаПолный прогон цепочки с Manual Trigger
Execute StepЗапуск одного узла с данными предыдущегоОтладка конкретного узла без перезапуска всего
Pin DataЗакрепление выходных данных узлаМокирование входа для последующих узлов
Listen for Test EventВременная регистрация Test URL на 120 секундОтладка триггера с реальным событием
Active workflowПостоянная регистрация Production URLПродакшен-запуск, ловит реальные события
Execute Step, Pin Data и Listen for Test Event — это стандартные возможности n8n, подробнее в официальной документации n8n. Ниже — как применять их к узлам Пачки.

Тестирование экшн-узлов

Узел Pachca (действие) — это обычный n8n-узел, который вызывает REST API Пачки. Его можно тестировать без запуска всего workflow.

Запуск одного узла через Execute Step

Откройте узел Pachca, настройте параметры (Resource, Operation, поля) и нажмите Execute Step в верхней части панели. n8n выполнит только этот узел, используя данные из предыдущего узла (если он уже отработал).

После Execute Step узлы подсвечиваются зелёным

При успехе:

  • Узел подсвечивается зелёным и показывает количество обработанных элементов
  • В панели Output появляется ответ API с данными операции

Ответ API в Output

Перед тестом отправки сообщения убедитесь, что бот добавлен в целевой чат и у токена есть нужный скоуп. Иначе вы получите 403 Forbidden — симптомы и решения в разделе Устранение ошибок.

Мокирование входных данных через Pin Data

Функция Pin Data позволяет закрепить выходные данные узла, чтобы последующие узлы при отладке использовали фиксированный вход вместо вызова API или ожидания события.

Типовой сценарий — отладка workflow с триггером без ожидания реального события:

Получите один пример события

Разово выполните Listen for Test Event на триггере и отправьте одно реальное событие (например, сообщение в чат бота). n8n запишет тело события в Output.

Закрепите выход триггера

Нажмите на иконку булавки (Pin) в правом верхнем углу панели Output узла Pachca Trigger. Теперь это тело зафиксировано — n8n будет подставлять его как вход для следующих узлов при отладке.

Отлаживайте цепочку

Меняйте настройки узлов IF, Switch, Pachca — при нажатии Execute Step они будут получать зафиксированный вход триггера. Не нужно ждать новых событий от Пачки.

Уберите Pin перед активацией

Перед Activate снимите Pin, иначе в продакшене узлы будут обрабатывать одно и то же зафиксированное событие.

Pin Data особенно полезен при разработке бота-эхо или логики с IF-ветками: вы отлаживаете маршрутизацию и ответ без ручной отправки сообщений в Пачку.

Проверка Credentials

Перед первым запуском нажмите Test в форме Credentials. n8n вызовет GETИнформация о токене и покажет результат:

Connection tested successfully

При ошибке 401 — токен неверный или просрочен. Симптомы и решения — в разделе 401 Unauthorized.

Тестирование триггера

Узел Pachca Trigger работает через исходящий вебхук Пачки, и здесь есть критичная особенность: у бота в Пачке только один слот для webhook URL. Любая перезапись этого слота ломает текущий workflow.

Поэтому тестирование триггера — это не просто «нажал Listen for Test Event», а осознанный выбор: какой бот задействовать и как не перезатереть продакшен.

Test URL и Production URL

У триггерного узла n8n два webhook URL — оба показаны в верхней части панели узла:

Test URL и Production URL в панели узла

URLПутьКогда активенИспользование
Test URL/webhook-test/...120 секунд после нажатия Listen for Test EventОтладка — данные видны прямо в редакторе
Production URL/webhook/...Пока workflow в состоянии ActiveПродакшен — данные видны только во вкладке Executions
Test URL удобен тем, что n8n сразу показывает тело входящего события в редакторе — это лучший способ изучить структуру webhook-payload от Пачки.

Как работает Listen for Test Event

Когда вы нажимаете Listen for Test Event на узле Pachca Trigger в автоматическом режиме:

  1. n8n вызывает PUTОбновление бота с webhook_url = Test URL
  2. Пачка записывает Test URL в настройки бота (в слот outgoing_url)
  3. В течение 120 секунд бот отправляет события не на Production URL, а на Test URL
  4. n8n перехватывает событие и показывает его в редакторе
  5. По истечении 120 секунд Test URL деактивируется, но в настройках бота он остаётся — пока workflow не будет активирован заново

Именно шаг 5 — источник проблем: если до теста у бота был прописан Production URL вашего же workflow, он будет перезаписан Test URL. После 120 секунд Пачка будет продолжать слать события на мёртвый Test URL, и живой workflow молча сломается.

Защита от перезаписи webhook-слота

Чтобы эта ситуация не происходила по ошибке, в автоматическом режиме Pachca Trigger блокирует попытку запустить Listen for Test Event, если на боте уже зарегистрирован Production URL этого же workflow. Узел выдаёт ошибку:

Cannot listen for test events while the workflow is active — Pachca bots support only one webhook URL per bot, and a test run would overwrite the production webhook.

Это значит, что автоматический режим защищён от самого частого сценария — «забыл, что workflow активен, нажал Listen for Test Event и уронил продакшен».

В ручном режиме (значение по умолчанию) узел не управляет слотом и не может его защитить — ответственность за то, какой URL прописан в настройках бота, полностью на вас. Listen for Test Event в ручном режиме всё равно откроет Test URL в n8n, но Пачка ничего об этом не узнает, пока вы сами не пропишете Test URL в настройках бота.

Три способа тестировать правильно

Отдельный бот для тестов (рекомендуется)

Создайте в Пачке второго бота специально для разработки. Сделайте отдельные Credentials с его токеном и используйте в тестовом workflow. На продакшене остаётся основной бот, на тестах — тестовый. Они никогда не конфликтуют, и вы можете свободно нажимать Listen for Test Event сколько угодно раз.

Этот способ подходит для регулярной отладки и для команды: каждый разработчик может завести свой тестовый бот.

Временная деактивация продакшен-workflow

Если второго бота нет, деактивируйте продакшн-workflow перед тестом: нажмите Active в правом верхнем углу (переключатель станет серым). Узел Pachca Trigger вызовет PUTОбновление бота с пустым webhook_url и освободит слот.

После этого запустите Listen for Test Event, проведите тест, снова активируйте workflow. На время теста продакшен будет выключен — учитывайте это, если на workflow приходит критичный трафик.

Подмена URL в ручном режиме

Оставьте Webhook Setup = Manual (значение по умолчанию) — в ручном режиме узел не управляет outgoing_url, и вы сами решаете, какой URL прописан в настройках бота в Пачке. Можно временно вручную заменить Production URL на Test URL в настройках бота, провести тест, затем вернуть Production URL обратно.

Этот способ даёт максимальный контроль, но требует аккуратности — легко забыть вернуть Production URL.

Listen for Test Event в автоматическом режиме
Загрузка диаграммы...

Отладка

Просмотр Execution Data

В активном workflow данные выполнения не показываются в редакторе — их нужно смотреть во вкладке Executions:

  1. Откройте workflow и перейдите на вкладку Executions
  2. Выберите нужное выполнение по времени и статусу (успех / ошибка)
  3. n8n покажет цепочку узлов с данными входа и выхода каждого узла в формате JSON

Этот же режим работает и для неудачных выполнений — полезно, если workflow молча не срабатывает в продакшене. Там же видно тело webhook-события от Пачки и ответ API.

Retry On Fail

Для узлов, которые вызывают API Пачки, имеет смысл включить автоматический повтор при временных ошибках. В настройках узла:

  1. Откройте вкладку Settings узла Pachca
  2. Включите Retry On Fail
  3. Настройте Max Tries (по умолчанию 3) и Wait Between Tries (по умолчанию 1000 мс)
Расширение Pachca уже само обрабатывает 429 и 5xx с экспоненциальной задержкой и jitter (до 5 попыток, учитывается Retry-After). Retry On Fail в n8n — дополнительный слой на случай сетевых сбоев или таймаутов.

Error Trigger workflow

Чтобы получать алерты о сбоях в продакшене, сделайте отдельный workflow с узлом Error Trigger — он запускается при любой ошибке в основных workflow:

Создайте workflow с Error Trigger

Новый workflow → добавьте узел Error Trigger. Он автоматически подхватит ошибки всех workflow, где указан в поле Settings → Error Workflow.

Отправьте алерт в чат Пачки

Добавьте после Error Trigger узел Pachca с операцией Message → Create. В поле Content используйте выражение с деталями ошибки из Error Trigger — например, {{ $json.execution.error.message }}.

Подключите Error Workflow к основным workflow

В каждом боевом workflow откройте Settings и в поле Error Workflow выберите созданный workflow с Error Trigger. Теперь любая ошибка в этом workflow будет отправлять сообщение в Пачку.

Локальная разработка

Если вы запускаете n8n на своей машине (npx n8n или Docker без публичного домена), Пачка не сможет доставить вебхуки на localhost — сервера Пачки находятся в публичной сети.

Решение — туннель с публичным HTTPS-URL:

ИнструментКак работает
n8n built-in tunneln8n start --tunnel — встроенный туннель n8n, выдаёт временный публичный URL
ngrokОтдельный сервис, пробрасывает любой локальный порт, стабильный URL по подписке
Cloudflare TunnelБесплатный туннель через Cloudflare, требует свой домен
n8n start --tunnel предназначен только для разработки — в продакшене используйте нормальный домен с HTTPS.

После запуска туннеля n8n автоматически подставит публичный URL в Test URL и Production URL узла Pachca Trigger — никаких дополнительных настроек не нужно.

Подробнее о настройке туннеля — в официальной документации n8n.

Если что-то пошло не так

Полный список типовых ошибок — в разделе Устранение ошибок.