> ## Documentation Index
> Fetch the complete documentation index at: https://help.teable.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# HTTP-запит

> Викликайте будь-який зовнішній API з робочого процесу

<Tip>
  Наполегливо рекомендуємо створювати автоматизації за допомогою дії «Запуск сценарію», оскільки вона охоплює всі типи дій, зокрема ті, які інакше довелося б створювати вручну. Просто опишіть свої вимоги ШІ в чаті.

  Зверніть увагу: якщо ви додасте дії вручну, ШІ надалі не розпізнаватиме й не змінюватиме їх.
</Tip>

## Створення за допомогою ШІ

Відкрийте AI Chat на правій бічній панелі таблиці й опишіть бажаний результат.

ШІ зробить усе: вибере правильний тригер і відповідні дії, зіставить поля й автоматично налаштує весь робочий процес.

Достатньо один раз описати мету — і робочий процес готовий без ручного налаштування.

Надсилає HTTP-запит на будь-яку URL-адресу й повертає відповідь. Використовуйте цю дію для виклику REST API, надсилання сповіщень у Slack або Discord, передавання даних до CRM чи взаємодії з будь-яким сервісом, що має HTTP API.

## Налаштування

| Параметр     | Обов’язковий | Опис                                                                                    |
| ------------ | ------------ | --------------------------------------------------------------------------------------- |
| URL          | Так          | Цільова кінцева точка. Підтримує динамічні змінні через **+**                           |
| Метод        | Так          | GET, POST, PUT, PATCH, DELETE або HEAD                                                  |
| Заголовки    | Ні           | Власні заголовки HTTP як пари «ключ — значення»                                         |
| Content-Type | Ні           | Формат тіла запиту (див. нижче)                                                         |
| Тіло         | Ні           | Корисне навантаження запиту — текст або пари «ключ — значення» залежно від Content-Type |

## Як налаштувати

1. Додайте до робочого процесу дію **HTTP-запит**.
2. Введіть **URL** кінцевої точки API. Натисніть **+**, щоб вставити динамічні значення (наприклад, ідентифікатор Запису в шлях URL).
3. Виберіть **Метод**:
   * **GET** — отримання даних.
   * **POST** — надсилання даних для створення об’єкта.
   * **PUT / PATCH** — оновлення наявних даних.
   * **DELETE** — видалення даних.
4. Додайте **Заголовки**, якщо вони потрібні API (наприклад, токени авторизації або власні заголовки).
5. Виберіть **Content-Type** і за потреби напишіть **Тіло** (для POST, PUT, PATCH).
6. Збережіть дію.

## Пояснення варіантів Content-Type

| Content-Type                        | Коли використовувати                                | Формат тіла                                            |
| ----------------------------------- | --------------------------------------------------- | ------------------------------------------------------ |
| `application/json`                  | Більшість REST API. Надсилання структурованих даних | Текст JSON (наприклад, `{"key": "value"}`)             |
| `application/x-www-form-urlencoded` | Традиційне надсилання форм, деякі застарілі API     | Пари «ключ — значення», автоматично закодовані для URL |
| `multipart/form-data`               | Завантаження файлів або змішані дані                | Пари «ключ — значення» з підтримкою файлів             |
| `text/plain`                        | Просте текстове корисне навантаження                | Рядок звичайного тексту                                |

<Tip>Якщо ви не знаєте, який Content-Type вибрати, використовуйте `application/json`. Його підтримує більшість сучасних API.</Tip>

Якщо ви не знаєте, що вибрати, для більшості сучасних API правильним варіантом буде `application/json`.

## Приклади автентифікації

Багато API потребують автентифікації. Ось поширені схеми, які можна налаштувати в розділі «Заголовки»:

### Токен Bearer

Додайте заголовок:

* **Ключ:** `Authorization`
* **Значення:** `Bearer your-api-token-here`

Це працює для таких API, як Slack, GitHub, Notion та багатьох інших.

### Ключ API в заголовку

Додайте заголовок:

* **Ключ:** `X-API-Key` (або інший ключ, якого очікує API, наприклад `api-key`, `x-api-token`)
* **Значення:** `your-api-key`

### Базова автентифікація

Додайте заголовок:

* **Ключ:** `Authorization`
* **Значення:** `Basic base64encoded(username:password)`

Облікові дані потрібно закодувати в Base64 поза Teable або скористатися дією «Сценарій», щоб згенерувати значення заголовка.

## Конкретний приклад: надсилання сповіщення в Slack

Мета: опублікувати повідомлення в каналі Slack після створення нового запису.

1. **Тригер:** коли створено запис.
2. **Дія:** HTTP-запит із такими параметрами:
   * **URL:** `https://hooks.slack.com/services/T00/B00/xxxx` (URL-адреса вашого вебхука Slack)
   * **Метод:** POST
   * **Content-Type:** `application/json`
   * **Тіло:**
     ```json theme={null}
     {
       "text": "Створено нове завдання: {{Task Name}} — Пріоритет: {{Priority}}"
     }
     ```
   Замініть `{{Task Name}}` і `{{Priority}}` динамічними змінними з тригера, натиснувши **+**.

## Використання даних відповіді в наступних кроках

Після виконання HTTP-запиту відповідь доступна наступним діям:

* **Код стану** — стан HTTP (200, 201, 404 тощо).
* **Тіло відповіді** — дані, повернуті API; за можливості аналізуються як JSON.

У наступних кроках можна посилатися на окремі поля відповіді за допомогою засобу вибору змінних **+**. Наприклад, якщо API повертає `{"id": "abc123", "status": "created"}`, можна окремо посилатися на `id` і `status`. Вставляючи динамічні значення через **+**, також можна використовувати шляхи полів і параметри форматування, якщо зовнішній API потребує певного формату запиту.

Це корисно для послідовного виклику API — наприклад, створіть об’єкт через POST, отримайте ідентифікатор, а потім використайте його в наступній дії «Оновити запис» або іншому HTTP-запиті.

## Коли використовувати

* **Публікація повідомлень у Slack або Discord.** Надсилайте сповіщення в канали через URL-адреси вхідних вебхуків.
* **Синхронізація даних із CRM або ERP.** Передавайте нові чи оновлені записи до Salesforce, HubSpot або будь-якої системи з API.
* **Виклик будь-якого стороннього API.** Взаємодійте з платіжними системами, службами доставки, аналітичними інструментами або власними внутрішніми API.
* **Запуск зовнішніх робочих процесів.** Викликайте вебхуки Zapier, сценарії Make (Integromat) або інші платформи автоматизації.
* **Отримання даних із зовнішніх джерел.** Використовуйте запити GET, щоб отримувати курси валют, дані про погоду або будь-які загальнодоступні дані API у своєму робочому процесі.

## Поради

* Завжди перевіряйте в документації API обов’язкові заголовки, автентифікацію та очікуваний формат тіла.
* Використовуйте `application/json` як Content-Type для більшості сучасних API. Якщо API очікує дані форми, виберіть `x-www-form-urlencoded`.
* Якщо API повертає помилку (стан 4xx або 5xx), дія все одно завершується, але наступні кроки отримають відповідь із помилкою. Перевіряйте код стану в робочому процесі, якщо потрібна умовна обробка.
* Для API, які повертають великі відповіді, посилайтеся в наступних кроках лише на потрібні поля.
* Поєднуйте з [Циклом (пакетна обробка)](/uk/basic/automation/actions/logic/loop-run), щоб виконувати кілька викликів API — по одному для кожного запису. Зважайте на обмеження частоти зовнішнього API.
* Використовуйте функцію [Масив у тілі HTTP-запиту](/uk/basic/automation/actions/logic/loop-run), коли потрібно надіслати кілька елементів одним запитом замість окремого запиту для кожного.

## Пов’язані матеріали

* [Цикл (пакетна обробка)](/uk/basic/automation/actions/logic/loop-run) — виконання HTTP-запитів для кожного елемента масиву
* [Коли отримано вебхук](/uk/basic/automation/trigger/external/webhook-received) — зворотна операція: отримання HTTP-запитів від зовнішніх систем
* [Запуск сценарію](/uk/basic/automation/ai/scripting/runscript) — складніша взаємодія з API за допомогою власного коду
