Přejít na obsahovou část stránky

Zajímavost ze světa 

Architektonický styl REST, na kterém staví většina dnešních webových rozhraní i webhooků, popsal Roy Fielding ve své disertační práci na Kalifornské univerzitě v Irvine v roce 2000.[1] 

Co v článku najdete 

  • Co je webhook a k čemu slouží 
  • Jak webhook funguje krok za krokem 
  • Jaký je rozdíl mezi webhookem a dotazováním 
  • Jak webhook souvisí s API 
  • Jak se webhook používá při propojení e-shopu a ERP 
  • Jaké jsou přínosy webhooků pro firmu 
  • Na co si dát u webhooků pozor 
  • Kdy zvolit webhook a kdy jiný způsob integrace 

Co je webhook a k čemu slouží 

Webhook je automatická zpráva, kterou jeden systém pošle druhému ve chvíli, kdy nastane sledovaná událost. Příjemce si předem zaregistruje webovou adresu a odesílatel na ni v okamžiku události zavolá a předá data [2]. Díky tomu se informace přenese hned, ne až při příští kontrole. 

Typickým příkladem je nová objednávka v e-shopu. Jakmile zákazník odešle košík, e-shop zavolá webhook a okamžitě o tom uvědomí ERP. Podnikový systém objednávku přijme a začne ji zpracovávat, aniž by čekal na pravidelnou synchronizaci každých pár minut. 

Webhooky se hodí všude, kde je potřeba reagovat rychle. Vedle e-shopů je využívají platební brány, které tak hlásí zaplacení, nebo dopravci, kteří oznamují změnu stavu zásilky. 

Jak webhook funguje krok za krokem 

Webhook stojí na principu zpětného volání. Příjemce nejprve odesílateli sdělí, na jakou webovou adresu má v případě události zavolat. Když událost nastane, odesílatel na tuto adresu pošle zprávu s daty [2]. Komunikace probíhá přes běžný webový protokol HTTP. 

Krok Co se děje
Registrace adresy Příjemce sdělí, kam se má volat při události
Vznik události V odesílajícím systému nastane sledovaná změna
Volání adresy Odesílatel zavolá adresu a předá data o události
Příjem a potvrzení Příjemce zprávu zpracuje a potvrdí přijetí
Reakce Příjemce na základě dat spustí svou akci

Zdroj: Fielding, R. T. (2000). Architectural Styles and the Design of Network-based Software Architectures.

Pokud volání selže, odesílatel ho obvykle zkusí znovu. Spolehlivý webhook proto počítá s opakováním a s tím, že stejná zpráva může dorazit vícekrát [1]. 

Jaký je rozdíl mezi webhookem a dotazováním 

Klasický způsob, jak zjistit změnu, je opakované dotazování, takzvaný polling. Systém se v pravidelných intervalech ptá druhé strany, jestli je Arrays nového. To zatěžuje obě strany i tehdy, když se nic neděje [1]. Webhook tento problém obrací. Data přijdou až ve chvíli, kdy je co předat. 

Hledisko Dotazování (polling) Webhook
Iniciativa Příjemce se opakovaně ptá Odesílatel volá při události
Aktuálnost Zpoždění podle intervalu Téměř okamžitá
Zátěž systémů Vyšší, ptá se i naprázdno Nižší, volá jen při změně
Vhodné použití Stabilní pravidelná data Události v reálném čase

Zdroj: Fielding, R. T. (2000). Architectural Styles and the Design of Network-based Software Architectures.

Oba přístupy mají své místo. Dotazování se hodí na pravidelné dávkové zpracování, webhook na události, kde záleží na rychlé reakci [1]. 

Jak webhook souvisí s API 

Webhook a rozhraní typu API spolu úzce souvisí, ale liší se směrem komunikace. U běžného API se ptá ten, kdo data chce, a druhá strana odpoví. U webhooku je to naopak, volá ten, u koho událost nastala [1]. Často se proto webhooku říká obrácené API

Obě technologie staví na stejných webových základech popsaných ve stylu REST [1]. V praxi se doplňují. Webhook upozorní, že se něco stalo, a příjemce si případně přes API dotáhne podrobnosti, které ve zprávě nebyly. 

Pro firmu to znamená, že webhook a API nejsou soupeři. Dobře navržená integrace používá webhook pro rychlé oznámení a API pro doplnění dat, takže systémy zbytečně nezatěžuje a přitom má aktuální informace. 

Jak se webhook používá při propojení e-shopu a ERP 

Spojení e-shopu a ERP je nejčastější místo, kde se webhooky uplatní. ERP propojuje sklad, objednávky a účetnictví do jedné databáze a webhook do něj přivádí události z e-shopu v reálném čase [3]. Nová objednávka tak okamžitě vstoupí do zpracování. 

Tok dat funguje oběma směry. E-shop pošle webhookem novou objednávku do ERP, a naopak ERP může webhookem oznámit změnu stavu skladu nebo expedici zpět do e-shopu. Zákazník pak vidí aktuální dostupnost a stav své objednávky. 

V ERP Helios běžní toto propojení jako součást integračních agend. Jak vypadá navázání podnikových procesů v praxi, ukazuje optimalizace výrobních procesů s Heliosem. 

Jaké přínosy webhooků pro firmu 

  • Okamžitá reakce na události bez čekání na synchronizaci 
  • Nižší zátěž systémů, protože data tečou jen při změně 
  • Aktuální stav skladu a objednávek napříč systémy 
  • Jednodušší propojení e-shopu, ERP a dalších nástrojů 
  • Lepší zákaznická zkušenost díky rychlým informacím 
Oblast Přínos webhooku
Sklad Stav zásob se aktualizuje hned po objednávce
Objednávky Vstoupí do zpracování bez čekání na synchronizaci
Platby Brána ohlásí zaplacení ve chvíli úhrady
Doprava Dopravce oznámí změnu stavu zásilky

Zdroj: van der Aalst, W., van Hee, K. (2004). Workflow Management. MIT Press.

Webhook se vyplatí všude, kde zpoždění vadí. Pokud stačí data jednou denně, postačí dávkové dotazování. Tam, kde každá minuta hraje roli, je webhook lepší volbou [1]. 

Na co si dát u webhooků pozor 

Webhook přijímá volání z internetu, proto je třeba dbát na bezpečnost. Příjemce by měl ověřit, že zpráva opravdu pochází od důvěryhodného odesílatele, a chránit přijímací adresu před zneužitím [1]. 

Riziko Jak mu předejít
Podvržená zpráva Ověření podpisu nebo sdíleného tajemství
Opakované doručení Příjemce počítá s tím, že zpráva přijde vícekrát
Výpadek příjemce Odesílatel volání opakuje podle pravidel
Únik dat Šifrovaný přenos a omezený obsah zprávy

Zdroj: Fielding, R. T. (2000). Architectural Styles and the Design of Network-based Software Architectures.

Tato rizika nejsou důvod se webhookům vyhýbat. Při správném nastavení jde o spolehlivý a bezpečný způsob propojení systémů, který zvládne i citlivá data [1]. 

Kdy zvolit webhook a kdy jiný způsob integrace 

  • Potřebujete reagovat hned, volte webhook 
  • Stačí pravidelná dávka dat, zvažte dotazování přes API 
  • Chcete hotové propojení bez programování, hledejte konektor 
  • Ověřte, že druhá strana webhooky podporuje 
  • U citlivých dat nastavte ověření a šifrovaný přenos 

Webhook je stavební kámen, ne hotové řešení. Pro běžné propojení e-shopu a ERP často poslouží předpřipravený konektor, který webhooky využívá uvnitř, aniž by firma musela cokoli programovat [3]. 

Jak propojit e-shop s Heliosem 

Webhooky dávají smysl teprve tehdy, když události z e-shopu rovnou vstupují do skladu a objednávek. Společnost NVSP dodává ERP Helios ve variantách Helios iNuvio a Nephrite a umí k němu napojit e-shop i další systémy tak, aby data tekla v reálném čase. Proberte s námi, jak propojení nastavit pro vaše procesy. 

Shrnutí 

Webhook je automatické volání, kterým jeden systém okamžitě upozorní druhý na událost. Funguje na principu zpětného volání na předem domluvenou webovou adresu a staví na stejných webových základech jako rozhraní REST. Od dotazování se liší tím, že data přijdou až při změně, ne při pravidelném ptaní. S API se doplňuje, webhook oznámí událost a API dotáhne podrobnosti. Nejčastěji se používá k propojení e-shopu a ERP, kde nová objednávka spustí okamžité zpracování. Při nasazení je třeba dbát na ověření odesílatele a bezpečný přenos. 

Časté otázky 

Co je to webhook jednoduše 

Webhook je automatická zpráva, kterou jeden systém pošle druhému ve chvíli, kdy se něco stane, třeba vznikne nová objednávka [2]. 

Jaký je rozdíl mezi webhookem a API 

U API se ptá ten, kdo data chce. U webhooku volá ten, u koho událost nastala, proto se mu říká obrácené API [1]. 

Je webhook bezpečný 

Ano, pokud příjemce ověří odesílatele a používá šifrovaný přenos. Bez těchto opatření hrozí podvržení zprávy [1]. 

Použité zdroje a literatura 

Knihy a studie 

[1] Fielding, R. T. (2000). Architectural Styles and the Design of Network-based Software Architectures. Disertace, UC Irvine. 

[2] van der Aalst, W., van Hee, K. (2004). Workflow Management. Models, Methods, and Systems. MIT Press. ISBN 978-0262720465. 

Knihy o e-commerce 

[3] Chaffey, D. (2019). Digital Business and E-Commerce Management. 7. vydání. Pearson. ISBN 978-1292193335. 

Tento web využívá cookies

Tento web používá k poskytování služeb, personalizaci reklam a analýze návštěvnosti soubory cookie. Používáním tohoto webu s tím souhlasíte. Zobrazit podrobnosti

Nastavení cookies

Vaše soukromí je důležité. Můžete si vybrat z nastavení cookies níže. Zobrazit podrobnosti