Webhook
Webhook je automatické HTTP volanie, ktoré systém spustí hneď, ako nastane určitá udalosť. Namiesto toho, aby sa aplikácia pravidelne pýtala, či pribudlo niečo nové, ozve sa zdroj sám a pošle údaje na vopred zaregistrovanú URL adresu.
Rozdiel oproti klasickému dopytu cez API je v smere. Pri pollingu sa tvoj systém každú minútu pýta, či sa niečo zmenilo, a vo veľkej väčšine prípadov dostane odpoveď nie. Pri webhooku sa až do udalosti nedeje nič a potom príde presne jedna správa. Šetrí to volania a skracuje reakčný čas z minút na sekundy.
V praxi zaregistruješ URL adresu v zdrojovom systéme a od tej chvíle dostaneš pri každej zodpovedajúcej udalosti HTTP POST s telom vo formáte JSON. Odošle sa formulár, obchodný prípad zmení fázu, príde platba: v každom prípade spustí prichádzajúce volanie proces na tvojej strane. V n8n je webhook trigger najčastejším vstupným bodom do workflowu.
Tri veci sa pritom pravidelne pokazia. Po prvé, neexistuje záruka doručenia: ak je príjemca v rozhodujúcom okamihu nedostupný, udalosť je podľa poskytovateľa stratená. Po druhé, volania sa doručia dvakrát, takže spracovanie musí byť idempotentné, inak založíš ten istý záznam dvakrát. Po tretie, prijímacia URL je verejne dostupná. Bez overenia podpisu môže ktokoľvek, kto pozná adresu, spustiť tvoj proces a nakŕmiť ho vymyslenými údajmi.
Pre prevádzku z toho vyplýva krátky zoznam: overovať podpis alebo token pri každom volaní, zaznamenávať prichádzajúce udalosti ešte pred spracovaním a pripraviť cestu na opakovanie neúspešného spracovania. Webhooky sú najjednoduchší integračný mechanizmus, aký existuje. Jednoduchosť sa však končí presne pri doručení.
Súvisiace pojmy
Táto technológia v praxi?
Pozrite sa, ako technológie ako táto nasadzujeme pre firmy, alebo sa s nami spojte priamo.