Šta je webhook?
Webhook je automatsko obaveštenje koje spoljni servis šalje tvom serveru kada se nešto dogodi, na primer kad je plaćanje uspelo ili kad je pretplata otkazana.
Postoje dva načina da saznaš da je paket stigao. Možeš svakih pet minuta da zoveš poštu i pitaš, ili da ostaviš broj telefona da te pozovu kad stigne. Webhook je ovaj drugi način: daš servisu adresu na svom serveru, a on je pozove kad se nešto desi.
Najčešći primer je plaćanje. Kupac plati u tvojoj online prodavnici, procesor plaćanja pošalje webhook na adresu kao /api/webhooks/placanje, a tvoj kod tada označi porudžbinu kao plaćenu i pošalje mejl potvrde.
Na šta da paziš
- Proveri potpis. Bilo ko može da pošalje zahtev na tvoju adresu. Pravi webhook je potpisan, i kod mora da proveri potpis pre nego što mu poveruje.
- Isti događaj može stići dvaput. Kod mora da ga obradi tako da nema duplog pristupa ni duplog mejla. To se zove idempotentnost.
- Ne veruj samo stranici „Hvala na kupovini“. Pristup otključaj na osnovu webhook-a, ne na osnovu toga što je kupac stigao na neku adresu.
Povezani pojmovi
Na LudusVibe kursu ove pojmove koristiš u praksi, dok praviš svoj sajt ili aplikaciju.