Artikelen

Wat is een webhook en hoe gebruik je het?

Met webhooks kunnen webgebaseerde applicaties communiceren door middel van aangepaste callbacks.

Door gebruik te maken van webhooks kunnen webapplicaties automatisch communiceren met andere web-apps.

In tegenstelling tot traditionele systemen waarbij het ene systeem (subject) een ander systeem (waarnemer) blijft peilen voor bepaalde gegevens, stellen webhooks de waarnemer in staat automatisch gegevens in het systeem van het subject te pushen wanneer er zich een gebeurtenis voordoet.

Dit elimineert de noodzaak voor constante monitoring door het onderwerp. Webhooks werken volledig op internet en daarom moet alle communicatie tussen systemen plaatsvinden in de vorm van HTTP-berichten.

Webhooks gebruiken

Webhooks zijn afhankelijk van de aanwezigheid van statische URL's die verwijzen naar API's in het systeem van de proefpersoon die op de hoogte moeten worden gebracht wanneer er zich een gebeurtenis voordoet in het systeem van de waarnemer. Een voorbeeld hiervan is een webapp die is ontworpen om alle bestellingen die op het Amazon-account van een gebruiker zijn geplaatst, te verzamelen en te beheren. In dit scenario fungeert Amazon als waarnemer en de Custom Order Management Webapp als onderwerp.

In plaats van dat de aangepaste webapp periodiek de Amazon API's aanroept om te controleren of er een bestelling is gemaakt, zou een webhook die in de aangepaste webapp is gemaakt, Amazon in staat stellen om automatisch een nieuwe bestelling in de webapp in te dienen via een geregistreerde URL. Om het gebruik van webhooks mogelijk te maken, moet het onderwerp daarom aangewezen URL's hebben die gebeurtenismeldingen van de waarnemer accepteren. Dit vermindert een aanzienlijke belasting van het object, aangezien HTTP-oproepen alleen worden gemaakt tussen de twee partijen wanneer er een gebeurtenis plaatsvindt.

Op polling gebaseerde systemen versus op webhook gebaseerde systemen

Zodra de webhook van de proefpersoon wordt aangeroepen door de waarnemer, kan de proefpersoon de juiste actie ondernemen met deze nieuw ingediende gegevens. Meestal worden webhooks gedaan via POST-verzoeken naar een specifieke URL. Met POST-verzoeken kunt u aanvullende informatie naar het object sturen. Bovendien kan het ook worden gebruikt om een ​​aantal verschillende mogelijke gebeurtenissen te identificeren in plaats van voor elk evenement afzonderlijke webhook-URL's te maken.

Webhook-workflow

Om inkomende webhooks in uw toepassing te implementeren, moet u de volgende basisstappen uitvoeren:

  • Stel een API-eindpunt op uw toepassingsserver bloot dat HTTP POST-oproepen accepteert en verwerkt
  • Geef potentiële webhook-gebruikers toegang tot dit eindpunt. Het API-eindpunt roept een gegevensbrontoepassing aan wanneer aan de relevante voorwaarden is voldaan.
  • Verwerk de POST-gegevens en retourneer een antwoord naar de webhook-oproepinitiator om de status aan te geven. Deze stap kan al dan niet aanwezig zijn.

Webhooks versus API's

Zowel webhooks als API's hebben als doel communicatie tussen applicaties tot stand te brengen. Er zijn echter enkele duidelijke voor- en nadelen van het gebruik van webhooks ten opzichte van API's om applicatie-integratie te bereiken.

Innovatie nieuwsbrief
Mis het belangrijkste nieuws over innovatie niet. Meld u aan om ze per e-mail te ontvangen.

Webhooks zijn over het algemeen betere oplossingen als de volgende punten relevanter zijn voor het geïmplementeerde systeem:

  • Als de gegevens regelmatig op de server worden bijgewerkt, zijn webhooks vaak betere oplossingen omdat onnodige API-oproepen van de client naar de server worden geëlimineerd. Volgens resthooks.com gaat 98,5% van de API-enquêtes verloren.
  • Webhooks maken betere oplossingen mogelijk voor systemen die bijna realtime gegevensupdates vereisen. API-peilingen worden meestal met vaste intervallen uitgevoerd, waardoor live gegevens mogelijk niet worden bijgewerkt. Met webhooks worden updates van de server naar de client verzonden zodra de webhook wordt geactiveerd.

In sommige andere situaties verdient het gebruik van de API de voorkeur boven webhooks.

Dingen om te overwegen

De belangrijke zaken waarmee u rekening moet houden bij het gebruik van API's op webhooks zijn:

  • Door de API te gebruiken, kan meer worden aangepast wanneer gegevens van een server moeten worden opgevraagd en ook hoeveel gegevens van de server moeten worden opgevraagd. De hoeveelheid te pollen gegevens wordt bepaald door de API poll-grootte. Bij webhooks bepaalt de server over het algemeen welke gegevens worden verzonden en wanneer deze worden verzonden.
  • Voor systemen met zeer variabele gegevens (zoals real-time systemen, IoT-systemen, enz.) kan op API gebaseerde polling een betere optie zijn, aangezien er voor elke API-aanroep een grote kans is op bruikbare antwoorden.
  • Het is mogelijk dat gegevens die vanaf een server via een webhook worden verzonden, volledig worden genegeerd door de client als de REST-eindpunten offline zijn. Als de server geen mechanisme heeft om dergelijke mislukte pushpogingen opnieuw te proberen, gaan gegevensupdates volledig verloren.

Om het hoofd te bieden aan het verlies van gegevens die vanaf een server zijn verzonden wanneer de webhook offline gaat, kunt u een wachtrij voor gebeurtenisberichten gebruiken om die oproepen te archiveren. Voorbeelden van platforms die dergelijke functionaliteit bieden, zijn onder meer RabbitMQ o Amazon's Simple Queue Service (SQS). Beide zijn ontworpen om te fungeren als intermediaire berichtenopslagfaciliteiten die voorkomen dat u een webhook-oproep mist.

Ercole Palmeri

Innovatie nieuwsbrief
Mis het belangrijkste nieuws over innovatie niet. Meld u aan om ze per e-mail te ontvangen.

Recente artikelen

Uitgevers en OpenAI ondertekenen overeenkomsten om de informatiestroom die door kunstmatige intelligentie wordt verwerkt, te reguleren

Afgelopen maandag maakte de Financial Times een deal met OpenAI bekend. FT geeft licenties voor haar journalistiek van wereldklasse...

April 30 2024

Online betalingen: hier is hoe streamingdiensten u voor altijd laten betalen

Miljoenen mensen betalen voor streamingdiensten en betalen maandelijkse abonnementskosten. De algemene mening is dat je…

April 29 2024

Veeam biedt de meest uitgebreide ondersteuning voor ransomware, van bescherming tot respons en herstel

Coveware by Veeam zal responsdiensten op het gebied van cyberafpersingsincidenten blijven leveren. Coveware zal forensische en herstelmogelijkheden bieden...

April 23 2024

Groene en digitale revolutie: hoe voorspellend onderhoud de olie- en gasindustrie transformeert

Voorspellend onderhoud zorgt voor een revolutie in de olie- en gassector, met een innovatieve en proactieve benadering van fabrieksbeheer.…

April 22 2024