Przejdź do głównej zawartości

Webhooki

Webhook to najprostsza forma podłączenia: wiadomość HTTP na adres, który sam wskazujesz. Slack, Discord i Microsoft Teams przyjmują takie wiadomości wprost jako wpis na kanale, a własne systemy mogą z nimi zrobić, co tylko zechcą.

Typowe zastosowania: adres pomocy technicznej zgłasza nowe zapytania na kanale zespołu. Potwierdzenie zamówienia uruchamia system magazynowy. Alarm z serwera klienta pojawia się w Discordzie.

  1. Otwórz Ustawienia → Integracje → Webhooki i włącz Włącz webhooki.
  2. Wybierz Dodaj punkt końcowy i wpisz Nazwa oraz URL.
  3. W polu Szablon ładunku wybierz Slack, Discord, Microsoft Teams albo Generic JSON. Szablon wypełnia pole Szablon ładunku (JSON) pasującym szkieletem, który możesz dowolnie dostosować.
  4. Testuj wysyła wiadomość próbną z przykładowymi danymi. W Slacku i podobnych zobaczysz ją od razu na kanale.

Adres URL dostajesz w odpowiedniej usłudze:

  • Slack: na api.slack.com/apps utwórz aplikację z Incoming Webhooks; wygenerowany adres URL jest punktem końcowym.
  • Discord: ustawienia kanału → Integracje → Webhooki.
  • Teams: w kanale przez aplikację Workflows z szablonem do publikowania po otrzymaniu żądania webhooka.
  • Własne systemy: każdy adres, który przyjmuje JSON przez HTTP POST albo PUT.

Możliwych jest kilka punktów końcowych, a każdy da się osobno wyłączyć: kanał pomocy technicznej i własny skrypt mogą istnieć obok siebie.

Wysyłka odbywa się wyłącznie przez automatyzację: akcję Wyślij webhook w regule, z punktem końcowym twojego wyboru jako celem.

Co dokładnie zostaje wysłane, określa szablon ładunku punktu końcowego. Wstawiasz w nim zmienne w podwójnych nawiasach klamrowych, które przy wysyłce są wypełniane danymi wyzwalającej wiadomości: {{subject}}, {{from}}, {{from_name}}, {{to}}, {{cc}}, {{date}}, {{preview}} (początek tekstu), {{tags}}, {{mailbox}}, {{account_id}} i {{rule_name}}. Odwołania do zmiennych pod szablonem objaśniają każdą z nich. Powiadomienie Slacka dla kanału pomocy technicznej wygląda mniej więcej tak:

{ "text": "Nowe zapytanie od {{from_name}}: {{subject}}" }
  • Podpis: jeśli wpiszesz Klucz HMAC (opcjonalnie), każde żądanie zawiera nagłówek X-YouniqMail-Signature: sha256=… z podpisem HMAC-SHA256 treści. Twój serwer sprawdza nim, że wiadomość pochodzi od ciebie.
  • Ponowienia: przy błędach serwera (5xx) i problemach z siecią YouniqMail próbuje ponownie do trzech razy, z przerwami 1, 2 i 4 sekund. Odrzucenia (4xx) nie są ponawiane. Limit czasu ustawiasz dla każdego punktu końcowego, maksymalnie 30 sekund.
  • Metoda: POST jest domyślna, PUT tylko wtedy, gdy twój punkt końcowy tego wymaga. Przekierowania nie są wykonywane.
  • Wiadomość idzie do punktu końcowego, który podasz. Sprawdź adres URL starannie, bo każdy, kto go zna, może pisać na kanale. Traktuj adresy URL webhooków jak hasła.
  • Treść ustalasz ty: przekazywane jest to, co znajduje się w szablonie. Kto wstawia tylko temat i nadawcę, tylko je przekazuje.
  • Funkcja Pro: webhooki należą do zakresu Pro.