Za razliku od tradicionalnih sistema u kojima jedan sistem (subjekt) stalno proziva drugi sistem (posmatrača) za neke podatke, webhookovi omogućavaju posmatraču da automatski ubaci podatke u sistem subjekta kad god se dogodi neki događaj.
Ovo eliminiše potrebu za stalnim praćenjem od strane subjekta. Webhookovi rade u potpunosti na Internetu i stoga se sva komunikacija između sistema mora odvijati u obliku HTTP poruka.
Webhookovi se oslanjaju na prisustvo statičkih URL-ova koji upućuju na API-je u sistemu subjekta koji moraju biti obaviješteni kada se događaj dogodi u sistemu posmatrača. Primjer za to bi bila web aplikacija dizajnirana za prikupljanje i upravljanje svim narudžbama postavljenim na korisnički račun na Amazonu. U ovom scenariju, Amazon djeluje kao promatrač, a Webapp za upravljanje prilagođenim narudžbama djeluje kao subjekt.
Umjesto da prilagođena web aplikacija periodično poziva Amazonove API-je kako bi provjerila kreiranu narudžbu, webhook kreiran u prilagođenoj web aplikaciji omogućio bi Amazonu da automatski pošalje novokreiranu narudžbu u web aplikaciji putem registrirane URL adrese. Stoga, da bi se omogućilo korištenje webhok-a, subjekt mora imati određene URL-ove koji prihvataju obavijesti o događajima od promatrača. Ovo smanjuje značajno opterećenje na objektu jer se HTTP pozivi upućuju između dvije strane samo kada se dogodi neki događaj.
Kada posmatrač pozove subjektov webhook, subjekt može poduzeti odgovarajuću radnju s ovim novodostavljenim podacima. Obično se webhookovi rade putem POST zahtjeva za određeni URL. POST zahtjevi vam omogućavaju da pošaljete više informacija objektu. Osim toga, može se koristiti i za identifikaciju između brojnih različitih mogućih događaja umjesto kreiranja zasebnih webhook URL-ova za svaki događaj.
Da biste implementirali ulazne webhookove na svoju aplikaciju, trebate izvršiti sljedeće osnovne korake:
I webhookovi i API-ji imaju za cilj uspostavljanje komunikacije između aplikacija. Međutim, postoje neke jasne prednosti i nedostaci korištenja Webhooka u odnosu na API-je za postizanje integracije aplikacije.
Webhookovi obično budu bolja rješenja ako su sljedeće tačke relevantnije za implementirani sistem:
Korištenje API-ja bi trebalo imati prednost u odnosu na webhookove u nekim drugim situacijama.
Važne stvari koje treba uzeti u obzir za korištenje API-ja na Webhooks-ima su:
Da biste se nosili s mogućnošću gubitka podataka poslatih sa servera kada webhook pređe van mreže, možete koristiti red za razmjenu poruka za arhiviranje tih poziva. Primjeri platformi koje pružaju takvu funkcionalnost uključuju Rabbit MQ o Amazonova usluga Simple Queue Service (SQS). Oba su dizajnirana da služe kao posredni kapaciteti za skladištenje poruka koji izbjegavaju mogućnost propuštanja webhook poziva.
Ercole Palmeri
Razvijanje finih motoričkih sposobnosti kroz bojenje priprema djecu za složenije vještine poput pisanja. Za bojenje…
Pomorski sektor je prava globalna ekonomska sila, koja je krenula ka tržištu od 150 milijardi...
Prošlog ponedjeljka Financial Times je objavio dogovor sa OpenAI. FT licencira svoje novinarstvo svjetske klase…
Milioni ljudi plaćaju usluge striminga, plaćajući mjesečne pretplate. Uvriježeno je mišljenje da vi…