Zum Inhalt springen

Webhooks

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

Типични приложения: адресът за поддръжка съобщава новите запитвания в екипния канал. Потвърждението на поръчка задейства системата за управление на стоките. Сигналът от сървъра на клиент се появява в Discord.

Настройване на крайна точка

Abschnitt betitelt „Настройване на крайна точка“
  1. Отвори Настройки → Интеграции → Уебхукове и включи Активирай Webhooks.
  2. Избери Добави крайна точка и въведи Име и URL адрес.
  3. Избери в Предварителна настройка на payload Slack, Discord, Microsoft Teams или Generic JSON. Настройката попълва Шаблон за payload (JSON) с подходяща основа, която можеш свободно да променяш.
  4. Тествай изпраща пробно съобщение с примерни данни. При Slack и подобните го виждаш веднага в канала.

URL адреса получаваш от съответната услуга:

  • Slack: създай в api.slack.com/apps приложение с Incoming Webhooks; създаденият URL адрес е крайната точка.
  • Discord: настройки на канала → Integrations → Webhooks.
  • Teams: в канала през приложението Workflows с шаблона за публикуване при получена заявка за webhook.
  • Собствени системи: всеки адрес, който приема JSON чрез HTTP POST или PUT.

Възможни са няколко крайни точки, всяка може да се изключи поотделно: каналът за поддръжка и собственият скрипт могат да съществуват един до друг.

Изпращането става изключително през автоматизацията: действието Изпращане на webhook в едно правило, с крайната точка по твой избор като цел.

Какво точно се изпраща, пише в шаблона за payload на крайната точка. В него вмъкваш променливи в двойни къдрави скоби, които при изпращането се попълват с данните на задействащия имейл: {{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.