Két rendszer kétféleképpen tudhatja meg, hogy a másikban történt valami. Az egyik a lekérdezés (polling): öt percenként felhívod a postát, hogy jött-e leveled. A másik a webhook: a postás becsönget, amint megérkezett a levél.
Hogyan működik?
Amikor egy esemény bekövetkezik – például sikeres egy online fizetés –, a szolgáltató (mondjuk a Barion vagy a Stripe) HTTP-kérést küld egy általad megadott címre. A kérésben benne van minden adat (JSON formátumban), a te rendszered pedig azonnal reagál: kiállítja a számlát, elküldi a visszaigazolást, beírja a naptárba.
Egy tipikus lánc: foglalás → fizetés → számla → e-mail → naptár, emberi beavatkozás nélkül, másodpercek alatt.
Mire figyelj, ha ilyet építtetsz?
- Ellenőrizd a küldőt. A webhook címe nyilvános, bárki küldhet rá kérést. A komoly szolgáltatók aláírják a kéréseiket, vagy lehetővé teszik, hogy az API-jukon visszakérdezz – ezt mindig ellenőrizni kell, különben bárki „fizetett” rendelést hamisíthat.
- Idempotencia. Ugyanaz az esemény néha kétszer érkezik meg. A rendszernek meg kell jegyeznie, mit dolgozott már fel – különben egy fizetésből két számla lesz.
- Gyors válasz. Azonnal nyugtázd a kérést, a lassú munkát (PDF-generálás, e-mail) pedig egy háttérsor végezze.
- Újrapróbálás és napló. Ha a rendszered épp nem elérhető, a szolgáltatók általában később újrapróbálják. Minden eseményt naplózz, hogy hiba esetén visszakövethető legyen.
- Sorrend. Az események nem mindig a keletkezésük sorrendjében érkeznek – a logika ne erre építsen.
Ha szeretnéd összekötni a foglalódat, a webshopodat vagy a számlázódat, nézzük meg együtt, mi automatizálható nálad.