Na rozdíl od tradičních systémů, kde jeden systém (subjekt) neustále dotazuje jiný systém (pozorovatel) na některá data, webhooky umožňují pozorovateli automaticky vkládat data do systému subjektu, kdykoli dojde k události.
To eliminuje potřebu neustálého sledování subjektem. Webhooky fungují výhradně na internetu a proto veškerá komunikace mezi systémy musí probíhat formou HTTP zpráv.
Webhooky spoléhají na přítomnost statických URL odkazujících na API v systému subjektu, které je třeba upozornit, když v systému pozorovatele dojde k události. Příkladem by mohla být webová aplikace určená ke shromažďování a správě všech objednávek zadaných na účtu uživatele Amazon. V tomto scénáři Amazon vystupuje jako pozorovatel a webová aplikace Custom Order Management Webapp vystupuje jako subjekt.
Místo toho, aby vlastní webová aplikace pravidelně volala rozhraní API Amazonu, aby zkontrolovala vytvořenou objednávku, webhook vytvořený ve vlastní webové aplikaci by Amazonu umožnil automaticky odeslat objednávku nově vytvořenou ve webové aplikaci prostřednictvím registrované adresy URL. Proto, aby bylo možné používat webhooky, musí mít subjekt určené adresy URL, které přijímají upozornění na události od pozorovatele. To snižuje významné zatížení objektu, protože volání HTTP se mezi oběma stranami uskutečňují pouze v případě, že dojde k události.
Jakmile pozorovatel zavolá webhook subjektu, může subjekt provést příslušnou akci s těmito nově odeslanými údaji. Webhooky se obvykle provádějí prostřednictvím požadavků POST na konkrétní adresu URL. Požadavky POST umožňují odeslat objektu dodatečné informace. Kromě toho jej lze také použít k identifikaci mezi řadou různých možných událostí namísto vytváření samostatných adres URL webhooku pro každou událost.
Chcete-li do své aplikace implementovat příchozí webhooky, musíte provést následující základní kroky:
Webhooky i rozhraní API mají za cíl navázat komunikaci mezi aplikacemi. Existují však určité výhody a nevýhody používání webhooků oproti rozhraní API k dosažení integrace aplikací.
Webhooky bývají lepšími řešeními, pokud jsou pro implementovaný systém relevantnější následující body:
V některých jiných situacích by mělo mít použití API přednost před webhooky.
Důležité věci, které je třeba zvážit při používání rozhraní API na webhoocích, jsou:
Chcete-li se vypořádat s možností ztráty dat odeslaných ze serveru, když webhook přejde do režimu offline, můžete k archivaci těchto hovorů použít frontu zpráv událostí. Příklady platforem, které takovou funkci poskytují, zahrnují RabbitMQ o Služba Amazon Simple Queue Service (SQS). Oba jsou navrženy tak, aby fungovaly jako zprostředkující zařízení pro ukládání zpráv, která zabrání možnosti zmeškat hovor webhooku.
Ercole Palmeri
Rozvíjení jemné motoriky prostřednictvím vybarvování připravuje děti na složitější dovednosti, jako je psaní. Barvit…
Námořní sektor je skutečnou globální ekonomickou velmocí, která se dostala na 150miliardový trh...
Minulé pondělí Financial Times oznámily dohodu s OpenAI. FT licencuje svou prvotřídní žurnalistiku…
Miliony lidí platí za streamovací služby a platí měsíční předplatné. Je obecný názor, že jste…