HTTP Request в n8n: как подключить любой сервис по API, даже если для него нет готового узла

· 3 мин чтения · Редакция Skill Unit

В n8n есть сотни готовых узлов для популярных сервисов. Но рано или поздно понадобится подключить что-то, для чего готового узла нет: российскую CRM, сервис рассылок, внутреннюю систему компании. Для этого есть универсальный узел HTTP Request — он умеет отправлять запросы к любому API.

Что нужно знать об API перед началом

API — это способ, которым программы обмениваются данными. У каждого сервиса есть документация API, где указано:

  • адрес (URL), на который отправляется запрос;
  • метод: чаще всего GET (получить данные) или POST (отправить данные);
  • как авторизоваться: ключ, токен или логин;
  • что передать в запросе и что вернётся в ответе.

Найдите в документации нужное действие, например «создать контакт», — там будут все эти данные.

Шаг 1. Метод и адрес

Добавьте узел HTTP Request и выберите метод. Чтобы получить список данных — GET, чтобы создать запись — POST. В поле URL вставьте адрес из документации, например https://api.example.ru/v1/contacts.

Шаг 2. Авторизация через credentials

Никогда не вставляйте ключ API прямо в URL или текст узла. В n8n для этого есть credentials — защищённое хранилище учётных данных. Выберите тип авторизации, который требует сервис (например, заголовок с токеном — Header Auth или Bearer Token), и сохраните ключ туда. Так ключ не попадёт в экспорт workflow и не окажется на скриншоте.

Шаг 3. Тело запроса

Для POST-запроса включите отправку тела (Send Body) и выберите формат JSON. Поля можно заполнять данными из предыдущих узлов с помощью выражений. Например, имя и телефон из заявки, пришедшей через webhook.

Выражение n8nПример тела запроса
{
  "name": "{{ $json.name }}",
  "phone": "{{ $json.phone }}",
  "source": "сайт"
}

Шаг 4. Проверка ответа

Запустите узел вручную на тестовых данных. В ответе вы увидите, что вернул сервис: созданную запись, её идентификатор или текст ошибки. Ответ можно использовать в следующих узлах — например, сохранить идентификатор контакта в таблицу.

Частые ошибки и что они значат

  • 401 или 403 — проблема с авторизацией: неверный ключ, не тот тип авторизации или нет прав.
  • 404 — неверный адрес: опечатка в URL или устаревшая версия API.
  • 400 или 422 — сервис не принял данные: не хватает обязательного поля или неверный формат.
  • 429 — слишком много запросов: нужно делать паузы между ними.
  • 500 и выше — ошибка на стороне сервиса: повторите позже.

Как сделать надёжно

  • Включите повтор при ошибке (Retry On Fail) для временных сбоев.
  • Настройте отдельную ветку или Error Workflow, который уведомит вас, если запрос не прошёл.
  • При обработке большого числа записей добавляйте паузу, чтобы не упереться в лимиты API.
  • Проверяйте обязательные поля до отправки, чтобы не получать ошибки 400.

Подробнее о надёжности и обработке ошибок — в статье о том, как сделать workflow устойчивым к сбоям.

Импорт запроса из cURL

Во многих документациях примеры даны в виде команды cURL. В узле HTTP Request есть импорт cURL: вставьте пример из документации, и n8n сам заполнит метод, адрес, заголовки и тело. Не забудьте затем перенести ключ в credentials.

Коротко о главном

  • HTTP Request подключает любой сервис с API, даже без готового узла.
  • Метод, адрес и формат данных берутся из документации API.
  • Ключи храните только в credentials, не в тексте узла.
  • Код ошибки в ответе подсказывает, что исправить.
  • Повторы и уведомления об ошибках делают интеграцию надёжной.

В курсе «Автоматизация без кода на n8n» вы собираете рабочий конвейер заявок, в том числе с запросами к внешним сервисам, и учитесь защищать его от сбоев.

Хотите пройти путь на практике?

Курс «Автоматизация без кода на n8n»: короткие уроки, практические задания и проверка ответов. Первый урок бесплатно.

Смотреть курс