Till skillnad från traditionella system där ett system (subjekt) fortsätter att efterfråga ett annat system (observatör) för vissa data, tillåter webhooks observatören att automatiskt skjuta in data i ämnets system närhelst en händelse inträffar.
Detta eliminerar behovet av konstant övervakning av försökspersonen. Webhooks fungerar helt på Internet och därför måste all kommunikation mellan system ske i form av HTTP-meddelanden.
Webhooks förlitar sig på förekomsten av statiska webbadresser som pekar på API:er i ämnets system som måste meddelas när en händelse inträffar i observatörens system. Ett exempel på detta skulle vara en webbapp designad för att samla in och hantera alla beställningar som görs på en användares Amazon-konto. I det här scenariot agerar Amazon som observatör och webbappen Custom Order Management som subjekt.
Istället för att den anpassade webbappen med jämna mellanrum anropar Amazons API:er för att leta efter en skapad beställning, skulle en webhook som skapats i den anpassade webbappen tillåta Amazon att automatiskt skicka en beställning som nyligen skapats i webbappen via en registrerad URL. Därför, för att möjliggöra användningen av webhooks, måste ämnet ha angivna webbadresser som accepterar händelseaviseringar från observatören. Detta minskar en betydande belastning på objektet eftersom HTTP-anrop görs mellan de två parterna endast när en händelse inträffar.
När personens webhook har anropats av observatören, kan personen vidta lämpliga åtgärder med denna nyligen inlämnade data. Vanligtvis görs webhooks via POST-förfrågningar till en specifik URL. POST-förfrågningar låter dig skicka ytterligare information till objektet. Dessutom kan den också användas för att identifiera bland ett antal olika möjliga händelser istället för att skapa separata webhook-URL:er för varje händelse.
För att implementera inkommande webhooks i din applikation måste du utföra följande grundläggande steg:
Både webhooks och API:er har som mål att etablera kommunikation mellan applikationer. Det finns dock några distinkta fördelar och nackdelar med att använda Webhooks framför API:er för att uppnå applikationsintegration.
Webhooks tenderar att vara bättre lösningar om följande punkter är mer relevanta för det implementerade systemet:
Användning av API bör föredras framför webhooks i vissa andra situationer.
De viktiga sakerna att tänka på för att använda API:er på Webhooks är:
För att hantera möjligheten att förlora data som skickas från en server när webhook går offline, kan du använda en händelsemeddelandekö för att arkivera dessa samtal. Exempel på plattformar som tillhandahåller sådan funktionalitet inkluderar RabbitMQ o Amazons Simple Queue Service (SQS). Båda är utformade för att fungera som mellanliggande meddelandelagringsmöjligheter som undviker möjligheten att missa ett webhook-samtal.
Ercole Palmeri
Att utveckla finmotorik genom färgläggning förbereder barn för mer komplexa färdigheter som att skriva. Att färglägga…
Marinesektorn är en sann global ekonomisk makt, som har navigerat mot en marknad på 150 miljarder...
I måndags tillkännagav Financial Times ett avtal med OpenAI. FT licensierar sin journalistik i världsklass...
Miljontals människor betalar för streamingtjänster och betalar månatliga prenumerationsavgifter. Det är en allmän uppfattning att du...