O webhookach

Webhooki umożliwiają wysyłanie żądania POST pod określony adres URL za każdym razem, gdy uruchamiany jest alert. Funkcję tę można włączyć podczas tworzenia lub edycji alertu. Dodaj prawidłowy adres URL swojej aplikacji, a my wyślemy żądanie POST, gdy tylko alert zostanie uruchomiony, wraz z komunikatem alertu w treści żądania. Jeżeli komunikat alertu jest poprawnym JSON, wyślemy żądanie z nagłówkiem "application/json". W przeciwnym wypadku wyślemy żądanie z nagłówkiem "text/plain".

Ważna uwaga dotycząca bezpieczeństwa: podczas konfigurowania webhooków upewnij się, że w treści webhooka nie znajdują się poufne informacje, takie jak dane logowania lub hasła. Przesyłanie wrażliwych danych za pośrednictwem webhooków może narazić je na dostęp dla nieuprawnionych osób i prowadzić do luk w zabezpieczeniach. Zawsze używaj bezpiecznych, uwierzytelnionych haseł i szyfruj wrażliwe dane, aby chronić swoje informacje.

Oto lista adresów IP, których będziemy używać do wysyłania żądań POST, na wypadek gdyby wymagały one zezwolenia:

  • 52.89.214.238
  • 34.212.75.30
  • 54.218.53.128
  • 52.32.178.7

Jeżeli chcesz wysłać żądanie na URL z numerem portu, pamiętaj, że akceptujemy tylko adresy URL o numerach portów 80 i 443. Żądanie na adres URL o innym numerze portu zostanie odrzucone. Jeśli serwer zdalny przetwarza żądanie przez ponad 3 sekundy, żądanie zostanie anulowane. Zwróć też uwagę, że IPv6 obecnie nie działa z webhookami, ale postaramy się to zaimplementować w przyszłości.

Należy pamiętać, że wiele aplikacji i usług oczekuje danych z webhooków w formacie JSON (a nie zwykłego tekstu, który domyślnie znajduje się w komunikacie alertu). Przed wysłaniem żądania należy zapoznać się z dokumentacją danej aplikacji lub usługi i odpowiednio sformatować wiadomość alertu. Więcej informacji na temat formatu JSON znajdziesz w Wikipedii.

Na przykład Slack oczekuje wiadomości w formacie JSON ze słowem kluczowym “text”. W oknie komunikatu możesz wpisać:

{"text": "BTCUSD większy niż 9000"}

Ponieważ komunikat jest poprawnym JSON, wyślemy żądanie z nagłówkiem "application/json". Oto jak będzie wyglądało żądanie z wykorzystaniem cURL:

curl -H 'Content-Type: application/json; charset=utf-8' -d '{"text": "BTCUSD Greater Than 9000"}' -X POST https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX

Jeżeli Twój komunikat jest zwykłym tekstem (np. używasz domyślnego komunikatu alertu), wyślemy żądanie z nagłówkiem "plain/text".

curl -H 'Content-Type: text/plain; charset=utf-8' -d 'BTCUSD Greater Than 9000' -X POST https://webhook.site/test

Dla ochrony Twoich danych, korzystanie z alertów przy użyciu webhooków jest dozwolone tylko z uwierzytelnieniem dwuskładnikowym (2FA).