Webhook
Webhook to powiadomienie o zdarzeniu przesyłane za pośrednictwem protokołu HTTP, tego samego protokołu, który służy do przesyłania danych strony internetowej. Zwykle jest wysyłany jako żądanie POST zawierające dane „publikowane” pod określonym adresem URL. Adres URL określa lokalizację skryptu, który przetwarza dane w żądaniu POST.
Webhooki można wbudować w dowolną aplikację, w tym aplikacje internetowe, aplikacje mobilne i aplikacje na komputery. Określone zdarzenia można zaprogramować tak, aby generowały webhooki, czyli „wywołania zwrotne HTTP” — powiadomienia o zdarzeniach wysyłane za pośrednictwem protokołu HTTP. Dane mogą być sformatowane w dowolny sposób wybrany przez programistę, choć często stosuje się formaty JSON i XML.
Dane POST wysyłane pod określony adres URL są analizowane przez odpowiedni skrypt na serwerze internetowym. Skrypt może być napisany w jednym z wielu różnych języków skryptowych działających po stronie serwera, takich jak PHP, JSP lub C#. Może wykonywać jedną lub więcej czynności, takich jak zapisywanie danych w bazie danych, wysyłanie informacji pocztą elektroniczną na określony adres lub przesyłanie nowych danych z powrotem do źródła.
Webhooki są używane do wielu różnych celów. Przykłady obejmują powiadamianie firm o sprzedaży, aktywowanie i dezaktywowanie programów oprogramowania, aktualizowanie informacji o klientach oraz informowanie programistów o awariach oprogramowania. Niektóre witryny udostępniają nawet interfejsy API, które pozwalają użytkownikom wysyłać dane pod adres URL, gdy wystąpią określone zdarzenia. GitHub na przykład udostępnia listę zdarzeń, które mogą wywołać webhook, dzięki czemu programiści mogą śledzić zmiany w projektach przechowywanych w ich internetowym repozytorium.
Webhooki są skutecznym narzędziem, ale do działania wymagają połączenia internetowego między źródłem danych a serwerem internetowym. Ponadto na serwerze pod docelowym adresem URL musi znajdować się skrypt, który potrafi rozpoznać i przeanalizować dane POST. Jeśli połączenie internetowe lub skrypt nie jest dostępny, webhook nie będzie działać.
Sprawdź swoją wiedzę