n8n API: работа с внешними API из нод
Как устроена HTTP-нода в n8n, какие бывают способы аутентификации, как обходить пагинацию и что делать с ошибками и лимитами внешнего API.
Все статьи гида n8n · 18
HTTP-нода - главный инструмент n8n. Готовые интеграции покрывают популярное, а всё остальное делается через неё, и именно это отличает n8n от конструкторов, где «нет такой интеграции» означает конец разговора.
HTTP-нода по шагам
Порядок, который экономит время:
- Проверьте запрос вне n8n. Соберите его в
curlили в клиенте API и убедитесь, что он работает. Тогда при ошибке в n8n вы будете точно знать, что дело в настройке, а не в самом API. - Метод и адрес. Очевидно, но частая ошибка - GET вместо POST, потому что в документации пример был для другого эндпоинта.
- Заголовки. Тип содержимого имеет значение: многие API молча возвращают ошибку при неверном заголовке.
- Тело запроса. Здесь чаще всего ломается, если тело собирается из данных предыдущей ноды: проверьте, что выражения подставились, а не ушли текстом.
- Аутентификация - через креденшелы, см. ниже.
Полезная привычка: сначала один элемент, потом весь поток. Нода выполняется для каждого входящего элемента, и ошибка в настройке на пятидесяти элементах даёт пятьдесят неудачных запросов и потенциальную блокировку по лимиту.
Аутентификация
Три варианта, и все три должны жить в креденшелах, а не в теле запроса.
Ключ в заголовке или в параметре. Самый частый случай. Заводится как креденшел общего типа, чтобы значение не попало в экспорт воркфлоу.
Базовая аутентификация. Логин и пароль. Тот же принцип.
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: полный практический гид по автоматизации воркфлоуГид
- Установка n8n в Docker: self-hosted на своём сервереКак поднять n8n на своём сервере через Docker: docker compose, том для данных, ключ шифрования, HTTPS и вебхуки за реверс-прокси, переход на PostgreSQL и что бэкапить, чтобы не потерять доступы.
- Триггеры и вебхуки в n8n: как запускается воркфлоуВиды триггеров в n8n и работа с вебхуками: чем тестовый URL отличается от боевого, почему вебхук не приходит, ответ вызывающей стороне, расписание и таймзоны, защита публичного эндпоинта.
- Данные и выражения в n8n: элементы, $json и почему нода срабатывает много разКак устроены данные в n8n: массив элементов вместо объекта, выражения $json и $node, обращение к предыдущим нодам, работа с вложенным JSON, объединение и разбиение потоков и типичные ошибки с пустыми данными.
Сделаю под ключ
Соберу автоматизацию на n8n или кодом
Заявки, таблицы, CRM и Telegram связаны между собой, и никто больше не переносит данные руками.
от 300 $ · 3-7 дней
«Спасибо Павлу, поставленная задача выполнена. Всегда на связи, дал подробную инструкцию и руководство, буду обращаться, всем рекомендую.»