Усі завдання

Завдання 09

Нехай ресторанні замовлення рухаються далі

Отримайте всі коректні ресторанні замовлення з API з пагінацієюСервіс, який ділить великий результат на пронумеровані сторінки й повідомляє воркфлоу, чи є наступна сторінка. – сервісу, що ділить великий результат на пронумеровані сторінки, – навіть коли він обмежує частоту запитів або несподівано відмовляє.

ПросунутийСкладність:Час: 45–60 min

Ваше завдання

Отримайте всі замовлення з наданого API, витримайте тимчасові збої та відокремте коректні замовлення від даних, які не можна безпечно опрацювати.

Додаткове завдання

Опрацьовуйте коректні замовлення по одному та обчисліть їхню загальну вартість. Не враховуйте відхилені замовлення в загальній сумі. Записуйте корисні діагностичні дані, якщо API продовжує відмовляти після всіх повторних спроб.

Приклади використання

  • Платформа доставки має імпортувати замовлення, навіть коли API ресторану тимчасово працює нестабільно.
  • Операційній команді потрібно продовжувати опрацювання коректних замовлень і не втрачати відхилені записи.
  • Нічна синхронізація має відновлюватися після обмеження частотиТимчасова відмова, коли сервіс отримує забагато запитів; цей ресурс використовує HTTP-статус 429. – тимчасової відмови через надмірну кількість запитів – і не створювати неповні результати.

Перед початком

  1. 01

    Зареєструйтеся в n8n Cloud або відкрийте наявний робочий простір n8n і створіть новий воркфлоу.

  2. 02

    Використовуйте нестабільний API замовлень, створений для цього завдання. Ця звичайна URL-адреса випадково повертає успішну сторінку, відповідь 429 про обмеження частоти або серверну помилку 500, яку можна повторити; не додавайте параметр scenario під час побудови.

  3. 03

    Створіть Data Table з назвою rescued_orders для коректних замовлень, ще одну з назвою rejected_orders для відхилених даних разом із причиною відхилення та – для додаткового завдання – api_failure_diagnostics для даних про вичерпані повторні спроби.

  4. 04

    Зовнішній обліковий запис, API-ключ або інші облікові дані не потрібні. Коли воркфлоу буде готовий, додайте до URL-адреси `&scenario=success`, `&scenario=rate_limit` або `&scenario=server_error`, щоб навмисно викликати кожну відповідь, а потім приберіть цей параметр. Примусова помилка повторюється під час кожної спроби, тож так ви також побачите, що стається, коли всі повторні спроби вичерпано.

Що має робити воркфлоу

  1. 01

    Дотримуйтеся інформації про пагінацію API та отримайте всі 25 замовлень, не створюючи вручну окремий запит для кожної сторінки.

  2. 02

    Повторюйте тимчасові відповіді 429 і 500, збережіть усі 24 коректні замовлення та не втрачайте замовлення, успішно отримані до збою іншого запиту.

  3. 03

    Відхиліть ORD-1013, запишіть зрозумілу причину невдалої перевіркиПеревірка наявності обов’язкових полів і безпечних типів даних перед збереженням запису. та продемонструйте роботу воркфлоу з успішними відповідями, обмеженням частоти й вичерпаними повторними спробами.

Рішення

Переглянути відповідь до завдання з воркфлоу

Відкривайте готовий воркфлоу лише тоді, коли захочете порівняти його зі своїм.

Позначити як виконане

Готові показати результат?

Надсилайте завдання, коли ваша команда матиме робочий воркфлоу для демонстрації.

Рішення

Показати рішення воркфлоу?

Це покаже готовий воркфлоу для цього завдання. Ви впевнені, що хочете продовжити?

Перевірка ментором

Знайдіть ментора й попросіть перевірити ваш воркфлоу.

Покажіть робочий воркфлоу. Після схвалення заберіть кульку за це завдання.

Почати наступне завдання