Czym są webhooki i dlaczego warto ich używać?

Co to jest webhook? To częste pytanie wśród tych, którzy zaczynają majstrować przy integracjach i automatyce, a nagle zaczynają zauważać słowo tu, tam i wszędzie.

Webhooki GitHub. Webhooki na Discordzie. Webhooki Trello. I tak dalej.

Czym więc są webhooki? Zanim zagłębimy się w temat, odpowiedzmy na to pytanie w możliwie najprostszy sposób.

Webhook to sposób, w jaki aplikacja może powiadomić inne aplikacje (lub użytkowników tych aplikacji), że coś się stało. Zasadniczo webhook to powiadomienie zawierające dane o zdarzeniu, wysyłane przez jedną aplikację do innej aplikacji lub witryny.

W naszym przewodniku po webhookach Discorda używamy analogii systemu radarowego, aby wyjaśnić, czym są webhooki.

Systemy radarowe są skonfigurowane do zbierania określonych danych, zwykle samolotów przelatujących przez pas przestrzeni powietrznej. Po wykryciu sygnału radary wysyłają go na ekran, który może zobaczyć operator radaru (lub do komputera, który przetworzy i przechowa sygnał).

W tym sensie webhooki przypominają radary, ale zamiast wykrywać obiekty latające, wykrywają zdarzenia online.

„Wydarzenia online”, o których mówimy, mogą być praktycznie wszystkim: nowe wiersze danych dodawane do arkusza kalkulacyjnego, kliknięcia linku w Twojej witrynie, odpowiedzi z formularzy przesłane przez użytkownika i tak dalej.

Wrócimy do tego później, gdy zagłębimy się we wszystko, co trzeba wiedzieć o webhookach, w tym:

  • Różnice między webhookami a wywołaniami API
  • Przykłady webhooków
  • Aplikacje obsługujące webhooki
  • Zasoby edukacyjne do tworzenia pierwszego webhooka

Webhooki: definicja techniczna

Mówiąc potocznie, webhook to sposób, w jaki aplikacja dostarcza innej aplikacji (i użytkownikowi aplikacji) informacje w czasie rzeczywistym o wydarzeniu online.

Formalnie rzecz biorąc, elementy webhook to wywołania zwrotne HTTP zdefiniowane przez użytkownika, które przesyłają dane lub informacje o zdarzeniu do adresu URL skonfigurowanego dla elementu webhook.

Ładunek webhooka to dowolne dane zdarzeń (na przykład odpowiedzi na formularz internetowy), które są kierowane (i wysyłane) na adres URL skonfigurowany do ich odbierania.

Webhooki są ściśle związane z API, chociaż zasada ich działania różni się nieco od wywołań API.

Interfejsy API działają na zasadzie odpytywania danych, co oznacza, że sprawdzają nowe dane i pobierają je, gdy coś znajdą.

Z drugiej strony, webhooki są oparte na zdarzeniach, co oznacza, że za każdym razem, gdy zdarzenie ma miejsce, webhook wyśle odpowiedni ładunek danych w czasie rzeczywistym do docelowego adresu URL.

Funkcja planowania Integromatu ilustruje tę różnicę w dość prosty sposób. Na przykład wyobraźmy sobie, że chcesz oglądać tweety z określonego konta, które obserwujesz.

Aby to zrobić, musiałbyś użyć w scenariuszu modułu „Obejrzyj tweety” , a następnie zaplanować uruchamianie scenariusza w określonych odstępach czasu (powiedzmy co 5 minut).

Ponieważ moduł „Watch Tweets” jest w zasadzie wywołaniem API wykonanym do API Twittera, będzie sprawdzał dane (nowe tweety) co pięć minut. Jeśli konto, które oglądasz, tweetowało, wywołanie API odbierze odpowiednie dane (tj. nowe tweety).

Z drugiej strony nie można zaplanować uruchamiania elementów webhook w dowolnym odstępie czasu, ponieważ natychmiast publikują dane o zdarzeniu w momencie, gdy ma ono miejsce.

Krótko mówiąc, wywołania API można planować, a webhook nie.

Dlaczego chcesz używać webhooka? Przykłady i przypadki użycia

Webhook to kolejny element budulcowy infrastruktury cyfrowej. Umożliwiają wykonywanie wielu rzeczy w prosty sposób, który również nie jest wymagający z technicznego punktu widzenia.

Załóżmy na przykład, że zarządzasz firmą, która sprzedaje subskrypcje luksusowych samochodów (tak, to jest rzecz), i że w tym celu masz stronę docelową zawierającą formularz przyjazny dla webhooków (taki jak Typeform, Formularze Google lub niestandardowy), którego używasz do zbierania próśb od potencjalnych klientów.

Chcesz skontaktować się z potencjalnymi klientami w momencie, gdy wyślą zapytanie przez formularz internetowy, a żeby tak się stało, chcesz otrzymywać powiadomienia przez dedykowany kanał Slack, gdy potencjalny klient prześle odpowiedzi.

Umożliwiają to webhooki, które umożliwiają:

  • Otrzymuj informacje w czasie rzeczywistym i postępuj zgodnie z nimi
  • Uzyskaj informacje we właściwym miejscu, które odpowiada Twoim potrzebom
  • Unikaj marnowania dodatkowych zasobów (danych) na zbieranie informacji

Jest to przykład wykorzystania webhooków, ale są też inne.

Korzystając z webhooków do odbierania zdarzeń online, możesz automatycznie wypełniać arkusze kalkulacyjne danymi przychodzącymi, wysyłać powiadomienia do różnych osób o zdarzeniu, tworzyć szablony dokumentów z danymi dynamicznymi, dodawać nowe rekordy do CRM, wypisywać osoby z biuletynu, tworzyć zadania w projekcie narzędzia do zarządzania i tak dalej.

Większość powyższych przykładów można osiągnąć, tworząc integracje między webhookami a odpowiednimi aplikacjami.

Załóżmy na przykład, że chcesz utworzyć szablon umowy z danych otrzymanych za pośrednictwem webhooka dołączonego do formularza internetowego.

W tym celu można było połączyć ze sobą dwa moduły Integromatu ( moduł webhooków i moduł „Utwórz dokument z szablonu” Google Docs), a po każdym odebraniu formularza automatycznie tworzony jest szablon umowy z danymi z odpowiedniego Formularz.

Kluczem do zrozumienia potencjału webhooków są następujące pytania:

  • Czy aplikacje, z których korzystasz, obsługują webhooki?
  • Jeśli tak, co możesz zrobić z informacjami uzyskanymi z webhooków?

Udzielenie odpowiedzi na nie otworzy świat możliwości osiągnięcia niezliczonych celów, zautomatyzowania zillions służebnych zadań i maksymalnego wykorzystania informacji w czasie rzeczywistym.

Które popularne aplikacje obsługują webhooki?

Praktycznie każda aplikacja umożliwia przychodzące dane z webhooków, ale nie wszystkie aplikacje umożliwiają publikowanie danych za pośrednictwem webhooków.

Niektóre z najpopularniejszych aplikacji obsługujących webhooki to:

  • Aplikacje do obsługi wiadomości błyskawicznych, takie jak Slack (za pośrednictwem interfejsu API „Wydarzenia”)
  • Formularze internetowe, takie jak Typeform, Google Forms, JotForm i Gravity Forms
  • Platformy CRM, takie jak HubSpot i Pipedrive
  • Konstruktorzy chatbotów, tacy jak ManyChat i Chatfuel
  • Platformy społecznościowe, takie jak Facebook i Twitter
  • Repozytoria kodu, takie jak GitHub
  • Narzędzia do zarządzania projektami, takie jak ClickUp, Trello i Jira

I wiele innych, w tym oczywiście Integromat.

Biorąc pod uwagę prostotę i wydajność elementów webhook jako metody wysyłania informacji, normalne jest, że nowoczesne aplikacje biznesowe i służbowe zawierają je w swoich ofertach.

Materiały edukacyjne dotyczące webhooków

Najlepszym miejscem, aby dowiedzieć się więcej o koncepcji webhooków, jest początek wszystkiego — to znaczy przełomowy wpis na blogu napisany przez inżyniera oprogramowania Jeffa Lindsaya w 2007 roku, który jest dostępny w archiwum internetowym .

Jeśli chodzi o tworzenie webhooków, sprawdź aplikacje, w których chcesz je zaimplementować, i sprawdź, czy obsługują one webhooki.

Te informacje są zwykle dostępne w dokumentacji dla programistów aplikacji (należy pamiętać, że niektóre aplikacje nazywają webhooki „wychodzącymi webhookami”). Na przykład dokumentację webhooków Typeform można znaleźć w dokumentacji dewelopera firmy . Zwykle do ich znalezienia wystarczy szybkie wyszukiwanie w Google.

Teraz, jeśli chodzi o tworzenie integracji webhooka z Integromat (na przykład przykład automatycznego tworzenia umowy), zapoznaj się z naszą dedykowaną stroną z dokumentami pomocy .

Znajdziesz tutaj instrukcje krok po kroku dotyczące tworzenia i konfigurowania niestandardowych webhooków, pracy z różnymi formatami danych oraz przetwarzania przychodzących danych webhook.

Jeśli nie jesteś zainteresowany zapoznaniem się z dokumentacją, tutaj znajdziesz samouczek wideo pokazujący, jak odblokować moc webhooków za pomocą Integromatu.

Podsumowując, możesz sprawdzić nasz wybór gotowych szablonów, które zawierają webhooki, zainspiruj się i od razu z nich skorzystaj.

Na wynos

Wracając do naszych początkowych słów, warto pomyśleć o webhookach jako o małych systemach radarowych, które można wdrożyć, aby automatycznie gromadzić i przesyłać dane w czasie rzeczywistym.

Webhooki to przydatne skróty, które umożliwiają programistom obywatelskim i osobom nieposiadającym kodu programistycznego samodzielne tworzenie większej ilości danych, bez konieczności polegania na skomplikowanym kodzie lub łącznikach, które są natywne (i ograniczone) do poszczególnych aplikacji i przypadków użycia.

Są również istotną częścią Integromatu.

Oprócz tworzenia webhooków, Integromat umożliwia wysyłanie przychodzących danych webhooka do ponad 1000 różnych aplikacji i budowanie spektakularnych zautomatyzowanych przepływów pracy w rekordowym czasie.

Teraz, gdy masz już proste koncepcje, nadszedł czas na budowanie. Jak zwykle pamiętaj, aby zacząć od prostych rzeczy i wspinać się na sam szczyt.

Miłej automatyzacji!