> ## 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-запит від будь-якої зовнішньої системи

<Tip>Зверніть увагу: усі тригери можна налаштувати в AI Chat. Опишіть ШІ, що має робити робочий процес, і він виконає решту.</Tip>

Цей тригер створює унікальну URL-адресу. Коли зовнішня система надсилає на неї запит HTTP POST, робочий процес запускається.

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

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

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

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

**Приклад:** *«Коли я отримую вебхук платежу Stripe, створи запис замовлення».*

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

| Параметр    | Обов’язковий | Опис                                                                                                                                                          |
| ----------- | ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Авторизація | Ні           | **Немає** (загальнодоступний — запустити може будь-хто, хто має URL-адресу) або **токен Bearer** (у заголовку запиту потрібен автоматично згенерований токен) |
| Відповідь   | Ні           | **Стандартна** (Teable повертає власне підтвердження) або **Власна** (ви визначаєте код стану, тип вмісту й тіло)                                             |

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

1. Відкрийте автоматизацію й додайте новий тригер.
2. Виберіть **Коли отримано вебхук**.
3. Тригер одразу створить унікальну **URL-адресу вебхука**. Скопіюйте її — вона знадобиться для зовнішньої системи.
4. (Необов’язково, але рекомендовано) Натисніть **Згенерувати токен**, щоб увімкнути авторизацію за токеном Bearer. Буде створено токен, який потрібно додавати до заголовка `Authorization` вхідних запитів.
5. Збережіть і активуйте автоматизацію.
6. Налаштуйте зовнішню систему на надсилання запиту POST на URL-адресу вебхука. Якщо авторизацію ввімкнено, додайте токен до заголовка.
7. Надішліть тестовий запит (див. приклади нижче). Перевірте в історії запусків автоматизації, чи правильно отримано дані.
8. Додайте кроки дій. Натисніть **+** у будь-якому полі дії, щоб послатися на значення з тіла JSON вебхука.

## Які дані доступні наступним крокам

Усе тіло JSON вхідного запиту POST доступне як змінні. Наприклад, якщо надіслати:

```json theme={null}
{
  "order_id": "12345",
  "customer": "Аліса",
  "amount": 99.95
}
```

У діях можна окремо посилатися на `order_id`, `customer` і `amount`, натиснувши **+** і перейшовши до полів результату тригера.

Teable автоматично аналізує JSON і створює іменовані змінні для кожного ключа верхнього рівня. Вкладені об’єкти також доступні.

## Налаштування відповіді

Стандартно Teable відповідає на кожен вхідний запит власним підтвердженням. Деякі платформи його не приймають: вони перевіряють URL-адресу підписки, надсилаючи пробний запит, і вимагають, щоб кінцева точка повернула у відповіді одне з його полів. Саме так працює Slack, тому його події можуть надходити до автоматизації лише після того, як вебхук відповість на рукостискання.

На панелі тригера змініть **Відповідь** зі **Стандартної** на **Власну**:

| Поле               | Опис                                                                                              |
| ------------------ | ------------------------------------------------------------------------------------------------- |
| **Код стану**      | Будь-який код від 200 до 299. Стандартно 200.                                                     |
| **Тип вмісту**     | **JSON** або **необроблений текст**. Стандартно JSON.                                             |
| **Тіло відповіді** | Текст для повернення. Використовуйте `{{body.<path>}}`, щоб вставляти значення з вхідного запиту. |

Після переходу до **Власної** відповіді тіло попередньо заповнюється відповіддю рукостискання, потрібною більшості відправників:

```json theme={null}
{"challenge":"{{body.challenge}}"}
```

Шляхи всередині `{{ }}` збігаються зі шляхами, які тригер надає як вихідні змінні, тож шлях можна скопіювати безпосередньо з корисного навантаження, уже отриманого під час тестового запуску. Вкладені значення також підтримуються, наприклад `{{body.event.type}}`. Якщо в тілі JSON відсутній указаний шлях, він відображається як `null`, тож відповідь залишається дійсним JSON.

<Info>Slack не може надсилати заголовок `Authorization`, тому під час підключення залиште для параметра **Авторизація** значення **Немає**. Якщо одночасно ввімкнути обидва параметри, на панелі тригера з’явиться попередження.</Info>

У будь-який момент змініть **Відповідь** назад на **Стандартну**, щоб Teable знову повертав власне підтвердження. Це не впливає на автоматизації, у яких це налаштування не змінювали.

## Тестування вебхука

Найпростіше виконати тестування за допомогою `curl` у командному рядку. Скопіюйте справжню URL-адресу з панелі тригера, а не вводьте її вручну: вона містить ідентифікатори Бази й робочого процесу.

**Без авторизації:**

```bash theme={null}
curl -X POST https://your-teable-instance.com/api/webhook/base/bseXXXXXXXXXXXX/workflow/wflXXXXXXXXXXXX \
  -H "Content-Type: application/json" \
  -d '{"test": true, "message": "Привіт від curl"}'
```

**З авторизацією за токеном Bearer:**

```bash theme={null}
curl -X POST https://your-teable-instance.com/api/webhook/base/bseXXXXXXXXXXXX/workflow/wflXXXXXXXXXXXX \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer your-generated-token" \
  -d '{"order_id": "12345", "status": "paid"}'
```

**Надсилання складніших даних:**

```bash theme={null}
curl -X POST https://your-teable-instance.com/api/webhook/base/bseXXXXXXXXXXXX/workflow/wflXXXXXXXXXXXX \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer your-generated-token" \
  -d '{
    "event": "invoice.paid",
    "data": {
      "invoice_id": "INV-001",
      "amount": 250.00,
      "currency": "USD",
      "customer_email": "alice@example.com"
    }
  }'
```

Після надсилання тестового запиту перевірте в історії запусків автоматизації, чи правильно отримано й проаналізовано дані.

## Обмеження частоти

| Область           | Обмеження            |
| ----------------- | -------------------- |
| На Базу           | 50 запитів / секунду |
| На робочий процес | 2 запити / секунду   |

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

## Рекомендації з безпеки

* **Завжди використовуйте авторизацію за токеном Bearer** для виробничих вебхуків. Загальнодоступну URL-адресу вебхука може викликати будь-хто, хто її дізнається.
* **Зберігайте URL-адресу вебхука в таємниці.** Ставтеся до неї як до пароля. Не додавайте її до загальнодоступних репозиторіїв і не поширюйте у відкритих каналах.
* **Повторно згенеруйте токен**, якщо підозрюєте його компрометацію. Новий токен можна будь-коли створити на панелі тригера.
* **Перевіряйте дані в робочому процесі.** Не припускайте, що вхідні дані правильно сформовані. Використовуйте фільтри або кроки сценарію, щоб перед обробкою перевірити наявність обов’язкових полів.
* **Стежте за історією запусків.** Регулярно перевіряйте журнали запусків автоматизації, щоб виявляти неочікувані або неавторизовані запити.

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

* **Отримання подій платежів від Stripe або PayPal.** Налаштуйте вебхук Stripe на надсилання подій `invoice.paid` до автоматизації Teable, щоб автоматично створювати або оновлювати записи замовлень.
* **Приймання надісланих форм із вашого сайту.** Спрямуйте форму контактів або реєстрації на сайті на URL-адресу вебхука, щоб створювати записи безпосередньо в Teable.
* **Приймання даних із пристроїв IoT.** Датчики або пристрої, що можуть надсилати HTTP-запити, можуть передавати дані в Teable для моніторингу й оповіщення.
* **Підключення конвеєрів CI/CD.** Запускайте робочі процеси після успішної або невдалої збірки — створюйте записи, надсилайте сповіщення або оновлюйте стан проєкту.
* **Отримання подій із будь-якого інструмента SaaS.** Багато інструментів (GitHub, Jira, Shopify, Twilio тощо) підтримують сповіщення через вебхуки. Спрямуйте їх на вебхук Teable, щоб автоматизувати міжсистемні робочі процеси.

## Поради

* Вебхук приймає лише запити **POST**. Методи GET, PUT та інші не запустять автоматизацію.
* Завжди надсилайте заголовок `Content-Type: application/json`. Якщо тіло не є дійсним JSON, тригер може неправильно проаналізувати дані.
* Якщо потрібно надсилати дані із системи, яка не підтримує власні заголовки (для авторизації Bearer), використовуйте загальнодоступний режим, але додайте до тіла JSON секретний ключ, який робочий процес перевірятиме за допомогою фільтра або сценарію.
* Для налагодження можна скористатися такими сервісами, як [webhook.site](https://webhook.site), щоб переглянути фактичні дані із зовнішньої системи, перш ніж спрямовувати її на Teable.

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

* [Дія «HTTP-запит»](/uk/basic/automation/actions/logic/http-request) — зворотна операція: виклик зовнішніх API з робочого процесу
* [Запуск сценарію](/uk/basic/automation/ai/scripting/runscript) — розширена обробка корисного навантаження вебхука
* [Дія «Цикл (пакетна обробка)»](/uk/basic/automation/actions/logic/loop-run) — обробка масивів у корисних навантаженнях вебхука
