Webhooki i API: jak połączyć sklep internetowy lub stronę z waszym systemem

Nowe zamówienie ze sklepu, wypełniony formularz na stronie, płatność z bramki płatniczej - pokazujemy, jak takie zdarzenia podłączyć do waszego systemu przez webhook, a jak z kolei wypuścić dane na zewnątrz przez API.

Marek Raja

Sklep internetowy, strona czy bramka płatnicza zwykle działają jako osobne systemy, które nic o sobie nawzajem nie wiedzą - dopóki ktoś ręcznie nie połączy ich, kopiując dane. Webhooki i API rozwiązują dokładnie ten problem: pozwalają dwóm systemom przesyłać sobie dane automatycznie, w chwili, gdy coś się wydarzy, bez jednego ręcznego kroku pomiędzy nimi.

Dwa kierunki połączenia

Webhook - dane przychodzą do środka. Zewnętrzna usługa (sklep internetowy, bramka płatnicza, formularz na stronie) przy określonym zdarzeniu wywołuje wasz adres i wysyła dane. Automatyzacja odbiera webhook i na jego podstawie uruchamia kolejne kroki - na przykład zakłada nowy rekord.

API - dane idą na zewnątrz. W przeciwnym kierunku, za pomocą klucza API, zewnętrzny system może sam sięgać do waszych danych - na przykład pobrać aktualny status zamówienia albo zapisać wynik z powrotem.

Większość realnych połączeń łączy oba kierunki: strona wysyła nowe zamówienie do środka przez webhook, a później przez API pyta, w jakim jest ono stanie.

Webhook przyjmuje dane skądkolwiek, uruchamia automatyzację.

Sklep internetowy lub strona wywołuje webhook przy każdym nowym zamówieniu, automatyzacja odbiera dane i od razu zakłada odpowiedni rekord.

Typowy sposób podłączenia sklepu internetowego

  1. Tworzycie webhook w waszej automatyzacji - dostajecie unikalny adres, na który zewnętrzny system wysyła dane.
  2. Ten adres wpisujecie w ustawieniach sklepu internetowego, bramki płatniczej lub formularza jako miejsce, gdzie mają trafiać powiadomienia o zdarzeniu.
  3. Mapujecie pola z przychodzących danych (imię, e-mail, pozycje zamówienia) na kolumny w waszej bazie danych.
  4. Dodajecie kolejne kroki - założenie rekordu, wysłanie potwierdzenia, przypisanie osoby odpowiedzialnej.

Kiedy przyda się klucz API zamiast webhooka

Webhook nadaje się do reakcji na jednorazowe zdarzenie. Klucz API przyda się tam, gdzie potrzebujecie regularnie lub na żądanie odczytywać albo zapisywać dane z zewnątrz - na przykład wewnętrzne narzędzie, które co godzinę pyta o nowe rekordy, albo zewnętrzny raporting, który pobiera aktualne liczby.

Na co uważać

Weryfikacja pochodzenia danych. Webhook powinien przyjmować dane tylko z zaufanego źródła - zwykle rozwiązuje się to tajnym kluczem, który wysyła nadawca, a automatyzacja weryfikuje go, zanim przetworzy dane.

Brakujące lub niepełne dane. Nie każde przychodzące żądanie będzie miało wypełnione wszystkie pola - automatyzacja powinna mieć warunek na wypadek, gdy brakuje wymaganej wartości, zamiast po cichu zakładać niepełny rekord.

Ilość żądań. Jeśli sklep internetowy generuje setki zamówień dziennie, warto od początku liczyć się z tym, że automatyzacja będzie uruchamiać się często, i mieć w niej wbudowaną kontrolę duplikatów.

Kiedy połączenie przez zewnętrzny scenariusz ma sens, a kiedy lepiej mieć automatyzację wbudowaną w system, opisuje artykuł Zapier i Make umarły?.

Najczęstsze pytania o webhookach i API

Czy potrzebuję programisty, żeby podłączyć webhook do sklepu internetowego?

W przypadku większości popularnych platform sklepowych wystarczy skopiować adres webhooka do ustawień powiadomień - samo mapowanie pól i kolejne kroki układa się wizualnie, bez pisania kodu.

Jak poznać, że mam użyć webhooka, a nie klucza API?

Webhooka użyjcie, gdy chcecie reagować na konkretne zdarzenie (nowe zamówienie, płatność). Klucza API użyjcie, gdy potrzebujecie odczytywać lub zapisywać dane według potrzeby, a nie tylko w reakcji na jedno zdarzenie.

Co jeśli zewnętrzny system wyśle dane w formacie, który nie pasuje do mojej bazy danych?

Między odbiór webhooka a założenie rekordu można wstawić krok, który przemapuje lub przekształci dane do właściwej postaci, zanim zostaną zapisane.

Opiszcie, co chcecie połączyć.

Apexloop zbuduje aplikację na miarę