Перейти к содержимому
PD
n8n

n8n API: работа с внешними API из нод

Как устроена HTTP-нода в n8n, какие бывают способы аутентификации, как обходить пагинацию и что делать с ошибками и лимитами внешнего API.

Все статьи гида n8n · 18

HTTP-нода - главный инструмент n8n. Готовые интеграции покрывают популярное, а всё остальное делается через неё, и именно это отличает n8n от конструкторов, где «нет такой интеграции» означает конец разговора.

HTTP-нода по шагам

Порядок, который экономит время:

  1. Проверьте запрос вне n8n. Соберите его в curl или в клиенте API и убедитесь, что он работает. Тогда при ошибке в n8n вы будете точно знать, что дело в настройке, а не в самом API.
  2. Метод и адрес. Очевидно, но частая ошибка - GET вместо POST, потому что в документации пример был для другого эндпоинта.
  3. Заголовки. Тип содержимого имеет значение: многие API молча возвращают ошибку при неверном заголовке.
  4. Тело запроса. Здесь чаще всего ломается, если тело собирается из данных предыдущей ноды: проверьте, что выражения подставились, а не ушли текстом.
  5. Аутентификация - через креденшелы, см. ниже.

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

Аутентификация

Три варианта, и все три должны жить в креденшелах, а не в теле запроса.

Ключ в заголовке или в параметре. Самый частый случай. Заводится как креденшел общего типа, чтобы значение не попало в экспорт воркфлоу.

Базовая аутентификация. Логин и пароль. Тот же принцип.

OAuth. Сложнее в настройке, зато n8n сам обновляет токен. Здесь важно точно указать адрес обратного вызова: при self-hosted установке он должен быть публичным и совпадать с тем, что прописан у провайдера.

Почему креденшелы, а не переменные: экспорт воркфлоу и история выполнений видны всем, у кого есть доступ к интерфейсу. Ключ, вписанный в тело запроса, окажется и там, и там.

Пагинация

Внешние API редко отдают всё сразу. Способов перехода к следующей странице обычно три: номер страницы, смещение или курсор из ответа.

У HTTP-ноды есть встроенный режим пагинации, где задаются способ перехода и условие остановки. Два правила:

Условие остановки обязательно. Без него воркфлоу ходит по кругу, пока не упрётся в лимит API или в таймаут. Это самая частая причина «воркфлоу висит».

Ограничьте число страниц. Даже с корректным условием стоит поставить верхний предел: изменившийся формат ответа не должен превращаться в бесконечный цикл.

Отдельно: не тяните всё в один запуск, если данных много. Забрать за раз десятки тысяч записей означает выполнение на десятки минут и огромную историю. Разумнее забирать порциями по расписанию, храня отметку последней обработанной записи.

Ошибки и лимиты

Внешние API падают, отвечают медленно и ограничивают частоту. Что с этим делать:

Различайте типы ошибок. Ошибка авторизации не лечится повтором - повторять её бессмысленно. Ошибка сети и превышение лимита лечатся именно повтором с задержкой.

Ретраи с нарастающей задержкой. У ноды есть встроенные повторы; если API отдаёт заголовок с временем ожидания, лучше учитывать его, а не выбирать интервал наугад.

Ограничьте параллельность. n8n выполнит ноду для каждого элемента, и сотня элементов означает сотню запросов подряд. Многие API этого не переживают: разбивайте на пачки и добавляйте паузу.

Таймауты. Запрос без таймаута может подвесить выполнение надолго.

Что делать с неудачным элементом. Решите заранее: пропустить и продолжить или остановить весь воркфлоу. По умолчанию падает всё, и это не всегда правильно. Механика разобрана в статье про обработку ошибок.

Отладка

История выполнений - главный инструмент: видно, что пришло в ноду и что она вернула. При проблеме с внешним API смотрите на реальный ответ, а не на предположение о нём: тело ошибки почти всегда объясняет причину точнее, чем код состояния.

Как разбирать полученный ответ и добираться до вложенных полей - в статьях про данные и выражения и JSON в n8n. Обзор - гид по n8n.

Вопросы и ответы

Что делать, если для сервиса нет готовой ноды в n8n?

Использовать HTTP-ноду. Если у сервиса есть API, вы с ним работаете, даже когда готовой интеграции нет. На практике HTTP-нода закрывает больше задач, чем весь каталог готовых нод, и именно она отличает n8n от простых конструкторов.

Как в n8n пройти по всем страницам ответа?

У HTTP-ноды есть встроенный режим пагинации, где задаётся способ перехода к следующей странице и условие остановки. Условие остановки обязательно: без него воркфлоу будет ходить по кругу, пока не упрётся в лимит API или в таймаут.

Где хранить ключи от внешних API в n8n?

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

Ещё по теме

Сделаю под ключ

Соберу автоматизацию на n8n или кодом

Заявки, таблицы, CRM и Telegram связаны между собой, и никто больше не переносит данные руками.

от 300 $ · 3-7 дней

Похожий кейсАвтоматизация выдачи лицензий для BAS-скриптов на MakeСценарий в Make, который по одному сообщению в Telegram генерирует логин и пароль, выдаёт лицензию на срок, подключает FingerprintSwitcher Business и пишет строку в Google Sheets.

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

MarkBorisov · Kwork