Webhook
Een webhook is een gebeurtenismelding die wordt verzonden via HTTP, hetzelfde protocol dat wordt gebruikt voor het overdragen van webpagina-gegevens. Deze wordt doorgaans verzonden als een POST-verzoek dat gegevens bevat die naar een specifieke URL worden "gepost". De URL geeft de locatie aan van een script dat de gegevens in het POST-verzoek verwerkt.
Webhooks kunnen in elke applicatie worden ingebouwd, waaronder webapps, mobiele apps en desktopsoftware. Specifieke gebeurtenissen kunnen zo worden geprogrammeerd dat ze webhooks, of "HTTP-callbacks", genereren. Dit zijn gebeurtenismeldingen die via HTTP worden verzonden. De gegevens kunnen worden opgemaakt op elke manier die de ontwikkelaar kiest, hoewel vaak de opmaak van JSON en XML wordt gebruikt.
De POST-gegevens, die naar een specifieke URL worden verzonden, worden door het bijbehorende script op een webserver geparseerd. Het script kan zijn geschreven in een van veel verschillende server-side scripttalen, zoals PHP, JSP of C#. Het kan een of meer acties uitvoeren, zoals de gegevens opslaan in een database, de informatie per e-mail naar een specifiek adres verzenden of nieuwe gegevens terugsturen naar de bron.
Webhooks worden voor allerlei doeleinden gebruikt. Voorbeelden zijn bedrijven op de hoogte brengen van verkopen, softwareprogramma's activeren en deactiveren, klantgegevens bijwerken en ontwikkelaars informeren over softwarecrashes. Sommige websites bieden zelfs API's waarmee gebruikers gegevens naar een URL kunnen verzenden wanneer specifieke gebeurtenissen plaatsvinden. GitHub biedt bijvoorbeeld een lijst met gebeurtenissen die een webhook kunnen activeren. Ontwikkelaars kunnen deze gebruiken om wijzigingen bij te houden in projecten die in hun online repository zijn opgeslagen.
Hoewel webhooks een effectief hulpmiddel zijn, is voor hun werking een internetverbinding tussen de gegevensbron en de webserver vereist. Daarnaast moet er op de server op de URL van bestemming een script aanwezig zijn dat de POST-gegevens kan herkennen en parseren. Als de internetverbinding of het script niet beschikbaar is, werkt de webhook niet.
Test je kennis