Na rozdiel od tradičných systémov, kde jeden systém (subjekt) neustále žiada iný systém (pozorovateľ) o nejaké údaje, webhooky umožňujú pozorovateľovi automaticky vkladať údaje do systému subjektu vždy, keď dôjde k udalosti.
Tým sa eliminuje potreba neustáleho sledovania subjektom. Webhooky fungujú výhradne na internete a preto všetka komunikácia medzi systémami musí prebiehať formou HTTP správ.
Webhooky sa spoliehajú na prítomnosť statických URL odkazujúcich na API v systéme subjektu, ktoré je potrebné upozorniť, keď sa v systéme pozorovateľa vyskytne udalosť. Príkladom by mohla byť webová aplikácia navrhnutá na zhromažďovanie a správu všetkých objednávok zadaných na Amazon účte používateľa. V tomto scenári Amazon vystupuje ako pozorovateľ a webová aplikácia Custom Order Management Webapp pôsobí ako subjekt.
Namiesto toho, aby vlastná webová aplikácia pravidelne volala rozhrania Amazon API na kontrolu vytvorenej objednávky, webhook vytvorený vo vlastnej webovej aplikácii by Amazonu umožnil automaticky odoslať objednávku novo vytvorenú vo webovej aplikácii prostredníctvom registrovanej adresy URL. Preto, aby bolo možné používať webhooky, subjekt musí mať určené adresy URL, ktoré prijímajú upozornenia na udalosti od pozorovateľa. To znižuje značné zaťaženie objektu, pretože volania HTTP sa medzi týmito dvoma stranami uskutočňujú iba vtedy, keď dôjde k udalosti.
Keď pozorovateľ zavolá webhook subjektu, subjekt môže s týmito novo odoslanými údajmi podniknúť príslušné kroky. Webhooky sa zvyčajne vykonávajú prostredníctvom požiadaviek POST na konkrétnu adresu URL. Požiadavky POST vám umožňujú odoslať objektu dodatočné informácie. Okrem toho sa dá použiť aj na identifikáciu medzi množstvom rôznych možných udalostí namiesto vytvárania samostatných webových adries webhooku pre každú udalosť.
Ak chcete implementovať prichádzajúce webhooky do vašej aplikácie, musíte vykonať tieto základné kroky:
Webhooky aj API majú za cieľ nadviazať komunikáciu medzi aplikáciami. Existuje však niekoľko zreteľných výhod a nevýhod používania webhookov oproti rozhraniam API na dosiahnutie integrácie aplikácií.
Webhooky majú tendenciu byť lepšími riešeniami, ak sú nasledujúce body relevantnejšie pre implementovaný systém:
Používanie API by malo byť v niektorých iných situáciách uprednostňované pred webhookmi.
Dôležité veci, ktoré je potrebné zvážiť pri používaní rozhraní API na webhookoch, sú:
Aby ste sa vysporiadali s možnosťou straty údajov odoslaných zo servera, keď sa webhook prepne do režimu offline, môžete tieto hovory archivovať pomocou frontu správ udalostí. Príklady platforiem, ktoré poskytujú takúto funkčnosť, zahŕňajú RabbitMQ o Služba Amazon Simple Queue Service (SQS). Obe sú navrhnuté tak, aby fungovali ako sprostredkujúce zariadenia na ukladanie správ, ktoré zabránia možnosti zmeškania hovoru cez webhook.
Ercole Palmeri
Rozvíjanie jemnej motoriky pomocou vyfarbovania pripravuje deti na zložitejšie zručnosti, ako je písanie. Na farbenie…
Námorný sektor je skutočnou globálnou ekonomickou veľmocou, ktorá smerovala k 150 miliardovému trhu...
Minulý pondelok Financial Times oznámili dohodu s OpenAI. FT licencuje svoju žurnalistiku svetovej triedy…
Milióny ľudí platia za streamovacie služby a platia mesačné predplatné. Je bežný názor, že si…