Перейти до вмісту

Вебхуки

Вебхук це найпростіша форма підключення: HTTP-повідомлення на адресу, яку ти вказуєш. Slack, Discord і Microsoft Teams приймають такі повідомлення прямо як допис у каналі; власні системи можуть робити з ними що завгодно.

Типові застосування: адреса підтримки повідомляє про нові запити в командний канал. Підтвердження замовлення запускає систему обліку товарів. Сповіщення сервера клієнта з’являється в Discord.

Налаштування кінцевої точки

Section titled “Налаштування кінцевої точки”
  1. Відкрий Налаштування → Інтеграції → Вебхуки і увімкни Увімкнути вебхуки.
  2. Вибери Додати кінцеву точку і введи Назва та URL.
  3. Вибери в Пресет навантаження Slack, Discord, Microsoft Teams або Generic JSON. Пресет заповнює Шаблон навантаження (JSON) відповідною основою, яку ти можеш вільно змінювати.
  4. Тест надсилає пробне повідомлення з прикладовими даними. У Slack та подібних сервісах ти одразу побачиш його в каналі.

URL-адресу отримуєш у відповідному сервісі:

  • Slack: на api.slack.com/apps створи застосунок з Incoming Webhooks; згенерована URL-адреса і буде кінцевою точкою.
  • Discord: налаштування каналу → Інтеграції → Вебхуки.
  • Teams: у каналі через застосунок Workflows із шаблоном для публікації після отримання запиту вебхука.
  • Власні системи: будь-яка адреса, що приймає JSON через HTTP-POST або PUT.

Можна створити кілька кінцевих точок, кожну можна вимкнути окремо: канал підтримки та власний скрипт можуть існувати паралельно.

Надсилання відбувається виключно через автоматизацію: дія Надіслати вебхук у правилі з обраною кінцевою точкою як ціллю.

Що саме надсилається, визначає шаблон навантаження кінцевої точки. У нього ти вставляєш змінні в подвійних фігурних дужках, які під час надсилання заповнюються даними листа, що спричинив дію: {{subject}}, {{from}}, {{from_name}}, {{to}}, {{cc}}, {{date}}, {{preview}} (початок тексту), {{tags}}, {{mailbox}}, {{account_id}} і {{rule_name}}. Довідник змінних під шаблоном пояснює кожну з них. Повідомлення в Slack для каналу підтримки може виглядати так:

{ "text": "Новий запит від {{from_name}}: {{subject}}" }
  • Підпис: якщо вкажеш HMAC-секрет (необов’язково), кожен запит міститиме заголовок X-YouniqMail-Signature: sha256=… з підписом HMAC-SHA256 вмісту. Так твій сервер перевіряє, що повідомлення надійшло від тебе.
  • Повтори: у разі помилок сервера (5xx) і проблем із мережею YouniqMail пробує ще до трьох разів, з паузами 1, 2 і 4 секунди. Відмови (4xx) не повторюються. Тайм-аут налаштовуєш для кожної кінцевої точки, щонайбільше 30 секунд.
  • Метод: POST за замовчуванням, PUT лише тоді, коли цього вимагає твоя кінцева точка. Переспрямування не виконуються.
  • Повідомлення надходить на вказану тобою кінцеву точку. Перевіряй URL-адресу уважно, адже будь-хто, хто її знає, може писати в канал. Стався до URL-адрес вебхуків як до паролів.
  • Вміст визначаєш ти: передається те, що вказано в шаблоні. Хто вставляє лише тему й відправника, той передає лише це.
  • Pro-функція: вебхуки належать до обсягу Pro.