Вправа з вузлом HTTP Request у n8n: маршрутизація відповідей і обмеження опитування
Практикуйте аналіз відповідей вузла HTTP Request у n8n, маршрутизацію тестових сценаріїв і проєктування опитування з окремими виходами завершення та ескалації.

Перевірено за наведеними джерелами .
Редакційна вправа: завдання, передумови та вхідні дані

Використайте вузол HTTP Request у n8n, щоб дослідити контрольовані відповіді, а потім спроєктуйте процес опитування, який розрізняє завершену роботу, роботу в очікуванні та ескалацію. Це редакційна вправа: запропонований робочий процес не виконували й не перевіряли. Результатами мають бути робочий процес маршрутизації відповідей, схема опитування та матеріали, що пояснюють кожен шлях виходу.
Вам потрібні власне середовище n8n, базові знання API та контрольовані кінцеві точки, надані викладачем. Викладач має надати методи запитів, заголовки, тіла та послідовності відповідей, описані нижче; ця стаття не містить сервера тестових сценаріїв. Використовуйте синтетичні вхідні дані й не залучайте до вправи дані компанії.
Сприймайте ці тестові сценарії як спеціально визначені умови вправи, а не універсальну семантику HTTP. Рекомендації Microsoft щодо шаблону Asynchronous Request-Reply розрізняють початкове підтвердження 202 і запит статусу, який повертає 200, поки робота ще очікує завершення. Визначайте завершення за документованим станом сценарію, а не лише за кодом статусу.
| Тестовий сценарій | Задана послідовність відповідей | Очікуваний результат |
|---|---|---|
| Негайне завершення | 200 зі станом completed | Завершено |
| Асинхронна робота | 202, потім 200 pending, потім 200 completed | Опитування, потім завершення |
| Порожня відповідь | 204 без тіла, що за умовами означає завершення | Завершення без читання тіла результату |
| Робота ніколи не завершується | 202, потім повторювані 200 pending | Ескалація після досягнення ліміту |
На нашу думку, корисна навичка тут — пояснити призначення гілки, перш ніж додавати нові вузли. Схема робочого процесу має робити рішення про зупинку зрозумілими іншому розробнику.
Sources: Asynchronous Request-Reply Pattern - Azure Architecture Center | Microsoft Learn
Дослідіть відповідь вузла HTTP Request у n8n

Увімкніть Include Response Headers and Status. У документації n8n для HTTP Request зазначено, що цей параметр повертає заголовки та код статусу разом із тілом. Перш ніж писати вирази маршрутизації, дослідіть фактичні вихідні дані кожного сценарію та зафіксуйте повернений статус, доступні заголовки й структуру тіла.
Для подальшої маршрутизації використовуйте поля, повернені у цих вихідних даних. Довідник виразів n8n обмежує використання $response.statusCode вузлом HTTP Request; не припускайте, що цей вираз доступний у наступних вузлах. Запропонована нижче послідовність перевірки допомагає відокремити контракт відповіді від припущень щодо шляхів до полів.
- Виконайте кожен наданий тестовий сценарій і збережіть спостережувану структуру вихідних даних.
- Знайдіть повернене поле статусу та документоване поле стану в тілі, якщо воно є.
- Напишіть правило маршрутизації для кожного сценарію, перш ніж з’єднувати гілки.
- Спрямуйте неочікуваний статус або стан на ескалацію із зазначенням причини.
Зафіксуйте всі заголовки з адресою опитування або затримкою, які надає сценарій, але не використовуйте їх для керування циклом цієї вправи. Опитування на основі заголовків, обробка відсутніх заголовків і розбір затримки потребують окремої специфікації реалізації. Натомість використовуйте задану викладачем кінцеву точку опитування та фіксований інтервал для вправи.
Sources: n8n-docs/docs/integrations/builtin/core-nodes/n8n-nodes-base.httprequest/README.md at main · n8n-io/n8n-docs · GitHub, n8n-docs/docs/build/work-with-data/transform-data/expression-reference/httpresponse.md at main · n8n-io/n8n-docs · GitHub
Спроєктуйте опитування з окремими шляхами виходу

Перш ніж проєктувати опитування вузлом HTTP Request у n8n, визначте ліміт. Як умову редакційної вправи дозвольте щонайбільше три запити статусу після початкового підтвердження; це не стандартне налаштування для експлуатації. Зберігайте ідентифікатор операції, кількість виконаних опитувань, ліміт, останню відповідь і причину зупинки. Подайте схему опитування з поясненнями; ця стаття не містить готової до копіювання реалізації циклу.
Офіційний довідник n8n щодо циклів вимагає явної умови завершення та обмеження індексу виконання для опитування в режимі reset і описує підключення виходів Loop Over Items із typeVersion 3. Для цієї редакційної схеми передбачте один вузол ухвалення рішення після відповіді, який виконується один раз для кожної відповіді на запит статусу: його значення $runIndex із відліком від нуля — 0, 1 і 2 — відповідають першому, другому й третьому запитам. Спочатку перевіряйте завершення; інакше передавайте незавершену роботу на ескалацію, коли $runIndex становить щонайменше 2. Перед наступним запитом окрема перевірка доступного залишку має забороняти запит, якщо вже виконано 3 або більше опитувань.
Ці перевірки описують той самий ліміт у три запити, а не два незалежні ліміти. Їхня виконувана конфігурація та збереження стану залишаються поза інструкціями з реалізації цієї вправи. Документація n8n для Wait передбачає інтервал через Wait Amount і Wait Unit; параметр Limit Wait Time, призначений для вебхуків, не є кінцевим терміном циклу опитування.
Скористайтеся наведеною нижче рекомендованою послідовністю рішень. Опрацюйте послідовності відповідей pending, pending, completed і pending, pending, pending, записуючи номер кожного запиту, індекс виконання вузла ухвалення рішення та напрямок переходу.

Ми б обмежили першу версію лімітом кількості запитів і фіксованим інтервалом. На нашу думку, зробити ці виходи доступними для перевірки корисніше, ніж додавати обчислення кінцевого терміну до того, як стане зрозумілим контракт станів.
Sources: n8n-docs/docs/integrations/builtin/core-nodes/n8n-nodes-base.wait.md at main · n8n-io/n8n-docs · GitHub, skills/skills/n8n-loops-official/references/LOOP_OVER_ITEMS.md at main · n8n-io/skills · GitHub
Критерії завершення та рефлексія

Для вправи з вузлом HTTP Request у n8n подайте робочий процес маршрутизації, збережені вихідні дані тестових сценаріїв і схему опитування з поясненнями. Якщо ви також реалізуєте цикл, продемонструйте, як його ідентифікатор операції та лічильник зберігаються після кожної HTTP-відповіді. Використайте цей рекомендований контрольний список для перевірки роботи.
Ця вправа не визначає виправлення помилок розбору порожнього тіла для конкретного релізу; якщо така помилка виникне, зафіксуйте встановлений реліз, налаштування формату відповіді та саму помилку, а не вважайте неперевірений обхідний спосіб розв’язанням.
Для рефлексії поясніть, чому успішний запит статусу все ще може означати очікування завершення роботи, які поля мають зберегтися після наступного запиту, та обґрунтуйте рішення щодо останньої відповіді. Рекомендований ескіз розв’язання має чотири окремі напрямки: негайне завершення, завершення після опитування, продовження опитування та ескалація.
Sources: Asynchronous Request-Reply Pattern - Azure Architecture Center | Microsoft Learn


