Надіслати HTTP-запит

Дія Надіслати HTTP-запит з’єднує ваш робочий процес із вебсервером або URL-адресою та надсилає HTTP-запити.

Після того, як Flow надсилає ваш HTTP-запит, він очікує код відповіді HTTP щонайбільше 30 секунд. Якщо Flow не отримує відповідь через 30 секунд, він закриває з'єднання з вашим застосунком. Згодом він повторює запит.

Поля

Дія Надіслати HTTP-запит містить наведені нижче поля.

Поля, що використовуються в дії «Надіслати HTTP-запит».
ПолеОпис
HTTP-методМетод HTTP-запиту для надсилання. Дія Надіслати HTTP-запит підтримує такі методи:
  • Get — надсилає запит на отримання інформації із сервера.
  • Delete — видаляє ресурс із сервера.
  • Head — отримує заголовки HTTP-відповідей сервера.
  • Options — отримує параметри та функції, які підтримує сервер.
  • Patch — частково оновлює ресурс на сервері.
  • Put — оновлює ресурс на сервері.
  • Post — створює або замінює ресурс на сервері.
URL-адресаURL-адреса сервера, на який надсилається HTTP-запит.
ЗаголовкиПара ключ-значення для HTTP-запиту. Можна вказати кілька пар ключ-значення.
ТілоКонтент, який надсилається на сервер.
У разі помилки клієнта (відповідь 4XX)Під час отримання коду відповіді , який вказує на помилку клієнта, Flow виконає таку дію:
  • Повторити — повторювати запит до 24 годин, доки не буде отримано інший код відповіді або не вийде час очікування.
  • Помилка — завершити запуск робочого процесу з помилкою.
  • Ігнорувати — ігнорувати помилку та продовжити запуск робочого процесу.
У разі помилки сервера (відповідь 5XX або 429)Під час отримання коду відповіді , який вказує на помилку сервера, Flow виконає таку дію:
  • Повторити — повторювати запит до 24 годин, доки не буде отримано інший код відповіді або не вийде час очікування.
  • Помилка — завершити запуск робочого процесу з помилкою.
  • Ігнорувати — ігнорувати помилку та продовжити запуск робочого процесу.

Повернені дані

Щоб отримати доступ до повернених даних на кроках після цієї дії, використовуйте змінну з іменем sendHttpRequest, яка містить усі деталі HTTP-відповіді. За потреби використовуйте дію Виконати код, щоб проаналізувати body (тіло) відповіді для використання в наступних кроках робочого процесу, наприклад у прикладі нижче.

Якщо дія Надіслати HTTP-запит використовується кілька разів в одному робочому процесі, до імені змінної додається число. Наприклад, у робочому процесі, де дія Надіслати HTTP-запит використовується двічі, перша змінна для повернених даних матиме назву sendHttpRequest, а друга — sendHttpRequest1. Цю назву неможливо змінити.

Коди відповідей

У наведеній нижче таблиці описано, як Flow обробляє код відповіді HTTP після отримання відповіді.

Як Flow обробляє коди відповіді HTTP.
Код відповіді HTTPЯк Flow обробляє код відповіді
2XX або 3XX: успішноFlow позначає HTTP-запит як успішний і виконує подальші дії в робочому процесі.
Помилки 4XX,
помилки 5XX і 429
Залежно від налаштувань дії Flow виконає таке:
  • Повторити — повторювати запит до 24 годин, доки не буде отримано інший код відповіді або не вийде час очікування.
  • Помилка — завершити запуск робочого процесу з помилкою.
  • Ігнорувати — ігнорувати помилку та продовжити запуск робочого процесу.
Інший код відповідіЯкщо у відповіді повертається код, не описаний у цій таблиці, або під час повторення дій час очікування вичерпується, Flow позначає HTTP-запит як невдалий, скасовує запуск робочого процесу й не виконує подальші дії.

Секрети

Секрети використовуються для безпечного зберігання чутливої інформації (наприклад, токенів доступу або паролів) для використання в дії Надіслати HTTP-запит. Керувати секретами та створювати їх можна на сторінці Flow > Налаштування. Секрет містить дескриптор, значення та опис. Посилайтеся на секрет як на змінну Liquid (наприклад, {{secrets.handle}}) або через опцію Додати секрет під час налаштування полів URL-адреси, значення заголовка або тіла. Значення секретів ніколи не відображаються в інтерфейсі Flow і приховуються в журналах запусків робочого процесу.

Тригери

Дію Надіслати HTTP-запит можна використовувати в будь-якому робочому процесі.

Приклади

Приклад 1. Надсилання HTTP-запиту до зовнішнього сервісу

У цьому прикладі Flow використовується для надсилання HTTP-запиту до зовнішнього сервісу.

Перш ніж почати, налаштуйте вебсервіс, який отримує HTTP-запити та зберігає їхні дані для тестування (наприклад, Request Catcher). Будьте обережні під час надсилання чутливих даних (як-от паролів або ключів API) до сторонніх сервісів.

Кроки:

  1. Виберіть тригер Статус товару оновлено, який дає змогу протестувати цей робочий процес, змінивши статус товару.
  2. Додайте дію « Надіслати HTTP-запит » до робочого процесу та з'єднайте її з тригером. Потім відкрийте панель налаштувань, натиснувши крок « Надіслати HTTP-запит ».
    • У полі Метод HTTP введіть POST.
    • У полі URL-адреса введіть URL-адресу для тестування, наприклад https://yourFlowTest.requestcatcher.com/test.
    • У розділі Заголовки введіть заголовок, де Ключ — Content-Type, а Значення — text/plain.
    • У розділі Тіло введіть {{product.title}} і {{product.status}}, щоб надіслати назву й оновлений статус товару з тригера.
  3. Активуйте робочий процес.
  4. Протестуйте його, змінивши статус товару, наприклад із Чернетка на Активний.
  5. Перевірте результати в зовнішньому сервісі для тестування, наприклад https://yourFlowTest.requestcatcher.com/ (у цьому прикладі).

Приклад 2. Використання дії «Запустити код» для розбору HTTP-відповіді

У цьому прикладі Flow використовується для надсилання HTTP-запиту до зовнішнього сервісу, а дія Запустити код — для розбору параметра body HTTP-відповіді з метою використання на подальших кроках робочого процесу.

Перш ніж почати, виберіть вебсервіс, який отримує HTTP-запити та повертає дані (наприклад, Postman Echo). Будьте обережні під час надсилання чутливих даних (як-от паролів або ключів API) до сторонніх сервісів.

Кроки:

  1. Виберіть тригер Статус товару оновлено, який дає змогу протестувати цей робочий процес, змінивши статус товару.

  2. Додайте дію Надіслати HTTP-запит до робочого процесу та з'єднайте її з тригером. Потім відкрийте панель налаштувань, натиснувши крок Надіслати HTTP-запит.

    • У полі Метод HTTP введіть POST.

    • У полі URL-адреса введіть URL-адресу для тестування, наприклад https://postman-echo.com/post.

    • У розділі Заголовки введіть заголовок, де Ключ — Content-Type, а Значення — application/json.

    • У розділі Тіло введіть приклад JSON для повернення до робочого процесу, наприклад:

      {
          "productTitle": "{{product.title}}",
          "productStatus": "{{product.status}}"
      }
  3. Додайте дію Запустити код до робочого процесу та з'єднайте її з дією Надіслати HTTP-запит. Потім відкрийте панель налаштувань, натиснувши крок Запустити код.

    • У полі Визначити вхідні дані вкажіть параметр body, який повертає об'єкт sendHTTPrequest, наприклад:

      query{
        sendHttpRequest {
          body
        }
      }
    • У полі Визначити вихідні дані вкажіть визначені у вихідній схемі дані, наприклад:

      type Output {
        productTitle: String!
        productStatus: String!
      }
    • У полі Написати код виконайте розбір відповіді за допомогою методу JSON.parse і переконайтеся, що дані, які ви повертаєте, відповідають структурі та типам, визначеним у вихідній схемі, наприклад:

      export default function main(input) {
        const body = JSON.parse(input.sendHttpRequest.body);
        console.log("body is", body);
        return {
          productTitle: body.data.productTitle,
          productStatus: body.data.productStatus
        }
      }
  4. Додайте дію Вивести журнал до робочого процесу та з'єднайте її з дією Запустити код. Потім відкрийте панель налаштувань, натиснувши крок Запустити код.

    • У полі Вихідні дані вкажіть змінні, які повертає крок Запустити код, наприклад:

      Title from HTTP response: {{runCode.productTitle}}
      Status from HTTP response: {{runCode.productStatus}}
  5. Активуйте робочий процес.

  6. Протестуйте його, змінивши статус товару, наприклад із Чернетка на Активний.

  7. Перевірте результати запуску на сторінці Flow / Нещодавні запуски і зверніть увагу, що значення на кроці Вивести журнал збігаються зі значеннями, які повертаються у вихідних даних дії Надіслати HTTP-запит.

Шаблони

Сповістити постачальника послуг виконання замовлень про майбутні замовлення

Надсилайте HTTP-запит своєму постачальнику послуг виконання замовлень, коли замовлення отримують тег «Warehouse» у додатку Order Tagger. Переглянути шаблон

Надіслати нові замовлення в Airtable

Надсилайте замовлення в Airtable після їхнього створення. Переглянути шаблон

Надіслати всі наявні та нові товари в Airtable

Кожні 10 хвилин шукайте товари, які ще не надіслано в Airtable (за тегом), та надсилайте їх. Переглянути шаблон

Оновлювати товари партіями на основі даних про товари, що зберігаються в Airtable

Оновлюйте товари партіями на основі даних про товари, що зберігаються в Airtable. Переглянути шаблон

Сповістити клієнтів про подарункові картки, термін дії яких закінчується, за допомогою SendGrid

Щодня отримуйте всі подарункові картки, термін дії яких закінчується через 7 днів, і надсилайте електронні листи клієнтам за допомогою SendGrid. Переглянути шаблон

Надіслати електронний лист через SendGrid, коли клієнт розміщує замовлення на індивідуальну одиницю

Надсилайте транзакційний електронний лист через SendGrid, коли клієнт розміщує замовлення на індивідуальну одиницю. Переглянути шаблон