Содержание
  1. Что такое n8n
  2. Что такое WebHook
  3. Инструкция
  4. Заключение
  5. Где получить адрес n8n Webhook: тестовый и рабочий URL
  6. Частые вопросы
ГайдыОбновлено · 10.2026

Интеграция с n8n: отправка данных через WebHook

23 октября 2023 · 9 минут чтения

WebHook – это мощный инструмент для интеграции различных приложений и сервисов. Он позволяет автоматизировать процессы, отправляя данные в ответ на определенные события. В этой статье мы рассмотрим, как настроить отправку на платформу с использованием WebHook.

Что такое n8n

n8n – это мощная автоматизированная система рабочих процессов, которая позволяет интегрировать различные приложения и сервисы, создавая рабочие процессы без программирования. Она позволяет автоматизировать рутинные задачи и упростить рабочие процессы.

Что такое WebHook

WebHook представляет собой механизм, который позволяет приложениям отправлять автоматические HTTP-запросы на указанные URL-адреса при наступлении определенных событий. Это позволяет интегрировать различные приложения и сервисы, а также автоматизировать обмен между ними.

Преимущества

  • Автоматизация: он позволяет создавать автоматические работы, исключая необходимость вручную обрабатывать и переносить записи между приложениями.
  • Мгновенные уведомления: вы получаете мгновенные уведомления о событиях, что позволяет быстро реагировать и принимать решения.
  • Интеграция различных систем: облегчает интеграцию различных систем, даже если они не поддерживают другие методы обмена.
  • Улучшенная отслеживаемость: позволяет отслеживать каждое событие и запрос, что облегчает анализ и мониторинг процессов.

Когда использовать

WebHook полезен во многих сценариях, включая:

  • Уведомления: получение мгновенных уведомлений о событиях, таких как новые сообщения, заказы или регистрации.
  • Автоматизация задач: автоматическое выполнение определенных действий при наступлении события, например, автоматическое создание задачи при получении нового заказа.
  • Интеграция со сторонними сервисами: обмен с внешними приложениями, такими как социальные сети, мессенджеры, CRM-системы и многое другое.

Инструкция

Шаг 1: установка и настройка n8n

  1. Первым шагом необходимо установить на вашем сервере. Воспользуйтесь официальной документацией для установки.
  2. После установки запустите инструмент и откройте веб-интерфейс в вашем браузере.
  3. Создайте новый рабочий процесс (workflow) или выберите существующий, к которому вы хотите настроить WebHook.

для id="пайтон2" двойной блок курсов не обнаружен

Шаг 2: настройка

  1. Внутри добавьте новое действие (action) с помощью кнопки «Add Node». Выберите «Webhook» из доступных опций.
  2. В узле Webhook задайте HTTP Method и Path, затем скопируйте сгенерированный Test URL или Production URL. Именно этот адрес нужно указать отправителю данных.
  3. Определите, что вы хотите отправлять. Это может быть информация о клиентах, заказах, событиях и многое другое. В зависимости от вашей задачи, вы можете настроить параметры.
  4. Сохраните настройки.

Шаг 3: создание и отправка

Теперь, когда вебхук настроен, вы можете создать и отправлять записи на него. Для этого можно использовать различные средства, такие как скрипты, формы, боты и другие инструменты.

Пример на Python

PYTHON8 строк
import requests
webhook_url = "https://example.com/webhook"  # заменить скопированным URL из Webhook
data = {"client_name": "Иван Иванов", "order_id": 12345, "event": "Покупка товара"}
response = requests.post(webhook_url, json=data)
if response.status_code == 200:
    print("Данные успешно отправлены на n8n")
else:
    print("Произошла ошибка при отправке данных")

Шаг 4: работа в n8n

Когда данные отправлены на хук, они автоматически поступают в ваш рабочий процесс n8n. Вы можете настроить дополнительные действия для обработки и анализа данных, создавая сложные рабочие процессы.

После того как данные дошли до узла Webhook, у читателя обычно остаются три практические задачи: передать готовый проект клиенту, вернуть часть входного JSON в HTTP-ответе и сохранить тело входящего запроса. Ниже — маршрут по каждой из них.

Заключение

Отправка данных на n8n через WebHook – это способ автоматизировать рабочие процессы, улучшить эффективность и минимизировать ручной труд. Интеграция позволяет легко обмениваться данными между различными приложениями и системами, что делает ее ценным инструментом для бизнеса.

Где получить адрес n8n Webhook: тестовый и рабочий URL

В узле Webhook входящий адрес не вводится вручную. Вы задаёте метод (например, POST) и Path, а n8n формирует по этому Path полный URL. По умолчанию поле Path содержит случайно сгенерированный путь — его можно заменить своим. Итоговый адрес складывается из базового адреса вашего экземпляра n8n и указанного Path, поэтому именно Path определяет, куда будет приходить запрос (документация Webhook).

Тестовый URL

Тестовый адрес нужен, чтобы отладить приём данных до публикации. n8n регистрирует тестовый webhook, когда вы выбираете Listen for Test Event или запускаете workflow на выполнение. Пока прослушивание активно, скопированный Test URL принимает запросы; по документации тестовое прослушивание действует 120 секунд (разработка workflow). Порядок действий:

  1. Откройте узел Webhook, задайте HTTP Method и Path.
  2. Скопируйте Test URL.
  3. Нажмите Listen for Test Event.
  4. В течение окна прослушивания отправьте POST с JSON на скопированный адрес.
  5. Убедитесь, что запрос отобразился в узле.

Production URL после публикации

Рабочий адрес становится доступен после публикации workflow: n8n регистрирует production webhook именно в этот момент. До публикации рабочий URL не обслуживает запросы. После публикации отправляйте данные на Production URL и проверяйте результат в списке Executions — там видно, дошёл ли запрос и с каким телом.

Почему приходит 404

Причина Что проверить
Использован Test URL без активного прослушивания Запустите Listen for Test Event и уложитесь в окно
Использован Production URL до публикации Опубликуйте workflow
Не совпадает Path или метод Сверьте Path и HTTP Method в узле и в запросе

Редакционный пример

Ниже — условный пример, составленный редакцией для иллюстрации проверки. Данные вымышлены, прогон не выполнялся.

Шаг 4: работа в n8n

Передача проекта клиенту

n8n хранит workflow в формате JSON, поэтому переносить проект удобно именно этим способом. По документации экспорт и импорт возможны несколькими путями: из меню Workflow в шапке холста доступны Download (скачать текущий workflow как JSON-файл), Import from URL и Import from File; кроме того, workflow можно копировать и вставлять через буфер обмена, а для переноса между инстансами из командной строки n8n рекомендует n8n CLI, который собирает переносимый пакет и проверяет импорт перед записью (экспорт и импорт).

Что получает клиент: JSON-файл workflow (или переносимый пакет при переносе между инстансами). Что нужно настроить на его стороне: импортировать файл в свой экземпляр n8n и заново указать собственные учётные данные — экспортируемый JSON содержит имена и идентификаторы credentials, поэтому перед передачей их стоит удалить или обезличить, а на стороне клиента подключить свои. Где затем взять его рабочий URL: после импорта и публикации workflow открыть узел Webhook и скопировать Production URL, который n8n регистрирует в момент публикации.

Возврат части входного JSON в HTTP-ответе

Чтобы вернуть данные вызывающей стороне, в узле Webhook задайте параметр Respond как When Last Node Finishes — тогда n8n вернёт код ответа и данные, которые выдал последний выполненный узел workflow. Затем в Response Data выберите First Entry JSON: n8n вернёт JSON-данные первой записи последнего узла в виде JSON-объекта. Если нужно вернуть не весь объект, а конкретное поле, включите опцию Property Name и укажите нужный ключ — n8n вернёт значение этого ключа. Таким образом связка такая: входное поле попадает в данные последнего узла, режим Respond определяет момент ответа, а Response Data и Property Name — что именно уйдёт в тело ответа.

Чтение тела входящего запроса и его запись

В узле Webhook доступ к входящему запросу даёт выражение $json, которое раскрывается как { body, headers, params, query } — то есть тело запроса лежит в $json.body. Чтобы не только прочитать, но и записать это тело, добавьте после Webhook узел Data Table и выполните в нём операцию Row → Insert. Data Table хранит структурированные данные прямо внутри n8n и позволяет использовать их в других workflow; таблицу можно создать заранее во вкладке Data tables вашего проекта или прямо в узле.

Порядок настройки узла Data Table для записи тела:

  1. Resource: Row.
  2. Operation: Insert.
  3. Data table: выберите таблицу из списка (From list), либо укажите её по имени или ID.
  4. Mapping Column Mode: Map Each Column Manually, если имена полей входных данных не совпадают с колонками таблицы, — тогда вы явно сопоставляете поле из $json.body с нужной колонкой. Режим Map Automatically подходит, когда имена полей входных данных точно совпадают с именами колонок.
  5. При необходимости включите опцию Optimize Bulk, чтобы не возвращать вставленные данные и ускорить массовую вставку.

Проверить сохранённый результат можно двумя способами: открыть вкладку Data tables в проекте и просмотреть строки таблицы, либо добавить после вставки узел Data Table с операцией Row → Get и условием по нужной колонке — он вернёт записанные строки. Методическая основа — официальная документация узлов Webhook, Code и Data Table; собственный прогон редакция не заявляет.

PYTHON28 строк
# Условный редакционный артефакт. Прогон не выполнялся.
# Предварительная настройка: в узле Webhook задайте HTTP Method = POST и Path = order-hook.
# Для отладки нажмите Listen for Test Event и скопируйте Test URL; после публикации workflow
# скопируйте Production URL. Подставьте скопированный адрес в переменную WEBHOOK_URL ниже.

import json
import urllib.request

WEBHOOK_URL = "https://n8n.example.local/webhook-test/order-hook"  # заменить скопированным URL
PAYLOAD = {"order_id": 1001, "event": "created"}

request = urllib.request.Request(
    WEBHOOK_URL,
    data=json.dumps(PAYLOAD).encode("utf-8"),
    headers={"Content-Type": "application/json"},
    method="POST",
)

try:
    with urllib.request.urlopen(request) as response:
        status = response.status
        body = response.read().decode("utf-8")
except urllib.error.HTTPError as error:
    status = error.code
    body = error.read().decode("utf-8")

print("HTTP-статус:", status)
print("Тело ответа:", body)

Порядок проверки: сначала отправьте запрос на Test URL во время прослушивания и убедитесь, что тело пришло в узел. Затем опубликуйте workflow, замените адрес на Production URL, повторите отправку и найдите запись в Executions. Заменяемые параметры — только WEBHOOK_URL и, при необходимости, PAYLOAD. Это условный артефакт редакции: данные вымышлены, фактический прогон не выполнялся, и результат конкретного развёртывания он не подтверждает.

Как проверять такой пример: сначала отправьте запрос на Test URL во время прослушивания и убедитесь, что тело пришло в узел. Затем опубликуйте workflow, повторите отправку на Production URL и найдите запись в Executions. Если ответ 404 — сверьтесь с таблицей выше. Методическая основа — официальная документация узла Webhook; собственный прогон редакция не заявляет.

Ограничения

Пример носит условный характер и не подтверждает поведение конкретного развёртывания. Базовый адрес зависит от вашей конфигурации и здесь приведён только для иллюстрации.

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

Где взять адрес для входящего вебхука в n8n? Адрес формируется автоматически из базового адреса вашего экземпляра и указанного Path в узле Webhook. Скопируйте Test URL для отладки или Production URL после публикации workflow.

Чем отличается тестовый URL от рабочего? Тестовый адрес работает, пока активно прослушивание тестового события, и по документации действует 120 секунд. Рабочий адрес начинает принимать запросы после публикации workflow.

Почему при отправке приходит 404? Чаще всего тестовый адрес используется без активного прослушивания, либо рабочий адрес вызывается до публикации workflow, либо не совпадает Path или метод запроса.


Читайте также

3 материала