Uživatelské nástroje

Nástroje pro tento web


webhook

Webhook

Webhook je automatizovaná zpráva odeslaná z aplikace ve chvíli, kdy nastane určitá událost. Tato zpráva je doručena na konkrétní URL adresu ve formě HTTP požadavku (typicky typu POST) a obvykle obsahuje data ve formátu JSON.

1. Rozdíl mezi API a Webhookem

Abychom pochopili přínos Webhooku, musíme ho srovnat s tradičním dotazováním:

  • Polling (API): Vaše aplikace se každých 5 minut ptá: „Mám nový e-mail? … A teď? … A teď?“. To plýtvá výkonem a zdroji.
  • Webhook: Vaše aplikace jen čeká. Jakmile e-mail dorazí, server odesílatele pošle zprávu: „Tady je nový e-mail!“ přímo na vaši adresu.

2. Jak Webhook funguje?

Celý proces se skládá ze tří jednoduchých kroků:

1. **Registrace:** V nastavení aplikace (např. GitHub, Stripe, Discord) zadáte svou **Payload URL** (cílovou adresu vašeho skriptu).
2. **Událost (Event):** V aplikaci nastane změna (např. někdo zaplatil fakturu nebo přidal komentář).
3. **Odeslání (POST):** Zdrojová aplikace okamžitě pošle HTTP POST požadavek na vaši URL s podrobnostmi o události.

3. Praktické příklady použití

Webhooky jsou základem moderní automatizace a propojenosti služeb:

  • E-shopy: Po zaplacení objednávky pošle platební brána (Stripe/PayPal) Webhook vašemu systému, který automaticky změní stav objednávky na „Zaplaceno“.
  • CI/CD: Jakmile vývojář pošle kód do Gitu, GitHub pošle Webhook serveru, který okamžitě spustí testování a nasazení aplikace.
  • Komunikace: Když se ve vašem systému objeví kritická chyba, Webhook pošle upozornění přímo do kanálu v Slacku nebo Discordu.

4. Bezpečnost Webhooků

Protože je vaše URL veřejně dostupná na internetu, mohl by na ni kdokoli poslat falešná data. Proto se používají tyto metody ochrany:

  • Tajný klíč (Secret): Zdrojová aplikace k datům přidá digitální podpis (HMAC). Vy si ověříte, že podpis odpovídá vašemu klíči.
  • Whitelist IP adres: Povolíte příjem požadavků pouze z oficiálních adres dané služby.

5. Struktura zprávy (Payload)

Typický Webhook vypadá jako text ve formátu JSON. Například upozornění na novou zprávu:

{
  "event": "message.created",
  "sender": "Jan Novak",
  "text": "Ahoj, posilam podklady k projektu.",
  "timestamp": "2025-12-28T15:52:00Z"
}
Tip: Pro testování Webhooků bez nutnosti psát kód můžete použít nástroje jako Webhook.site nebo Beeceptor. Ty vám vygenerují dočasnou URL, na které uvidíte přesný obsah zpráv, které vám jiné aplikace posílají.

Zpět na Rozcestník

webhook.txt · Poslední úprava: autor: admin