Det kræver mange webapplikationer, der kan kommunikere løbende med hinanden, når en virksomhed driver forretning online. Det gælder ikke mindst for danske webshops, hvor e-handel er en naturlig del af hverdagen. De forskellige systemer, fra betalingsløsninger og banker til software for lagerstyring, CRM-systemer og meget andet, skal integreres, så de kan dele data og reagere, når en bestemt hændelse opstår.
Webhooks får hele arbejdsgangen til at hænge sammen fra start til slut. De sender information mellem systemer via sikre, enkle og automatiserede beskeder. Her får du en forklaring på, hvad webhooks er, hvorfor de er en driftssikker måde at automatisere digitale processer på, og hvornår de er mest nyttige.
Hvad er webhooks?
Webhooks er specialiserede webtjenester, der forbinder applikationer med hinanden. De sender automatisk data over nettet fra én applikation til en anden, hver gang en bestemt hændelse finder sted.
Webhooks gør det muligt for webapplikationer at udveksle information, sende de nødvendige HTTP-anmodninger og dele nye data i realtid. I stedet for konstant at tjekke for opdateringer kan en webhook få en applikation til automatisk at sende information videre, så snart noget ændrer sig.
Webhook-integrationer kan bruges til en række aktiviteter i en e-handelsvirksomhed, også i danske webshops, hvor betaling, lager og fragt ofte skal spille tæt sammen, blandt andet:
- Lageropdateringer. Når et produkts lagerbeholdning når et bestemt niveau, kan hændelsen udløse en besked til leverandører.
- Betalingsbekræftelser. Når en betaling er gennemført, for eksempel i en checkout med MobilePay eller kortbetaling, får regnskab og kundesupport automatisk besked.
- Kundereturneringer. Webhooks kan opdatere lagerdata og sætte refunderinger i gang.
- Leadgenerering. Når en medarbejder tilføjer et nyt lead på en marketingplatform, kan en webhook sende leadoplysningerne til et CRM-system og automatisk oprette en ny leadpost.
- Kundesupport. Et kundesupportsystem kan bruge webhooks til at modtage besked om indgående opkald, hente kundedata ud fra et telefonnummer, sende opkald videre til de rette medarbejdere eller udløse undersøgelser og opfølgende handlinger efter samtalen.
Sådan fungerer webhooks
Rent teknisk er webhooks en særlig form for det, der kaldes et HTTP push API eller bare et push API. Det er en opsætning, der gør push-baseret kommunikation mellem webapplikationer og servere mulig. Webhooks er tilpassede HTTP-callbacks, som sender information videre til et modtagende endpoint, også kaldet klienten. Klienten kan også omtales som destinationssystemet eller den modtagende applikation.
Når en bestemt hændelse opstår, sender det system, hvor hændelsen sker, en automatiseret besked, altså webhooken, via HTTP. Kernen i funktionen er et URL-felt, som kaldes en callback-URL. Tænk på den som en digital postadresse. Beskedens data sendes som en POST-anmodning, som webhooken videresender til andre apps via den specifikke callback-URL. I stedet for at spørge, vente og løbende tjekke efter nye data får klienten, den app eller tjeneste, der modtager dataene, automatisk besked, hver gang data ændrer sig.
For at en webhook kan fungere, skal klienten være sat op til at behandle den indgående kode og data i realtid. Hvis webhooken sender kundeoplysninger, bør sikkerhed og databeskyttelse tænkes ind fra start. Webhooks bruger typisk enten JSON eller XML som dataformat, selvom JSON i dag er den mest udbredte standard.
Eksempel på webhook
Webhooks kan gøre forsendelser hurtigere og reducere risikoen for menneskelige fejl, når onlineordrer behandles.
Forestil dig for eksempel, at du driver en online tøjbutik og bruger en betalingsudbyder. En kunde afgiver en ordre, hvilket udløser en webhook, som fragtudbyderens system modtager på den foruddefinerede, unikke URL. Webhookens data, eller payload, indeholder ordredetaljer som leveringsadresse, varelinjer, betalingsbeløb og andre relevante oplysninger.
Når de indgående anmodninger modtages, udfører fragtudbyderens system en bestemt handling, i dette tilfælde oprettelse af en fragtlabel, som udskrives automatisk, så snart transaktionen er gennemført.
Webhooks vs. API: Hvad er forskellen?
Mange forveksler webhooks med API'er (application programming interfaces), altså grænseflader, der gør det muligt for softwareapplikationer og onlinetjenester at hente data og udveksle funktioner. De har nogle fælles træk, men der er væsentlige forskelle på webhooks og API'er:
- Formål. API'er er udbredte i appudvikling, fordi de forbinder forskellige systemer. Udviklere integrerer API'er, der findes i tusindvis, til at føje de funktioner til deres applikationer, som de har brug for. Webhooks er derimod automatiserede beskeder, som sendes, når en bestemt hændelse finder sted.
- Kommunikationstype. Både API'er og webhooks bruges til kommunikation mellem apps, men API'er understøtter tovejskommunikation, mens webhooks typisk bruges til envejskommunikation, der udløses af en bestemt hændelse.
- Dataflow. Webhooks omtales nogle gange som omvendte API'er, fordi dataflowet kan virke vendt på hovedet. Men de er ikke egentlige omvendte API'er. De er snarere en særlig form for hændelsesstyret kommunikation i realtid.
- Kompleksitet. API'er er mere komplekse end webhooks, fordi de både kan hente, sende og ændre data i løbet af en request-response-cyklus.
Selvom det er to forskellige mekanismer, kan webhooks og API'er sagtens arbejde sammen. En placeringsbaseret app kan for eksempel bruge en webhook til at give en server besked, når en brugers placering ændrer sig. Serveren kan derefter bruge et Google Maps-API til at samle en liste over relevante steder i nærheden ud fra den nye placering.
Ofte stillede spørgsmål om webhooks
Hvad er forskellen på API'er og webhooks?
API'er og webhooks er begge mekanismer, der forbinder apps, så de kan kommunikere og dele data, men de fungerer på forskellige måder. API'er understøtter tovejskommunikation, mens webhooks typisk bruges til envejskommunikation, der udløses, når en hændelse finder sted.
Hvornår bør man bruge webhooks?
Webhooks kan være en letvægtsløsning, når forskellige applikationer og tjenester skal forbindes i realtid, når envejsdeling af data er tilstrækkelig i stedet for tovejskommunikation, og når effektiv behandling er vigtig, fordi webhooks ikke belaster webserverens ressourcer unødigt.
Hvordan tilføjer man webhooks?
Når du vil tilføje en webhook, skal du gå til indstillingerne i den applikation, der skal sende data. Vælg de specifikke hændelser, der skal udløse webhook-anmodningen, og tilføj en unik callback-URL. Gå derefter til indstillingerne i den applikation, der skal modtage dataene. Her tilføjer du webhook-URL'en, så appen kan modtage data. Platforme som Zapier og Make har indbyggede værktøjer til opsætning af webhook-endpoints, konfiguration af triggere og andre relevante indstillinger. I danske shopløsninger og regnskabssystemer ligger webhooks ofte under indstillinger, udvidelser eller integrationer.

