Opret og test et webhook-endpoint
Modtag signerede hændelsesnotifikationer på din egen HTTPS-adresse
Webhooks sender signerede hændelsesnotifikationer til din egen HTTPS-adresse, så dit system får besked med det samme i stedet for at polle API'et.
Før du går i gang
- Du skal være firmaadministrator for at se fanen Webhooks.
- Du skal have en offentlig HTTPS-URL, der kan modtage leveringerne. Almindelig HTTP samt private eller lokale adresser afvises ved oprettelsen.
Sådan registrerer du endpointet
- Gå til Integrationer > Webhooks, og klik på Opret webhook ("Create webhook").
- Indtast den offentlige HTTPS-URL og eventuelt en beskrivelse, og sæt flueben ved de hændelsesemner, der skal leveres. Emnerne er grupperet som Abonnement, Fakturering, Kunde, Kort, Tilbud, Ordrebekræftelse og Projekt – du skal vælge mindst ét.
- Gem, og kopiér signeringshemmeligheden (
whsec_...), som kun vises én gang. Gem den i det modtagende system, så du kan verificere signaturerne. - Klik på Test webhook, vælg endpointet og et hændelsesemne, gennemse forhåndsvisningen af payloaden, og send testen. Resultatet viser statuskode og svartid.
Endpointet står nu i listen som Aktiveret ("Enabled"). Rigtige hændelser leveres fremover som signerede payloads, og endpointets detaljeside viser leveringer, succesrate og svartider.
Sådan verificerer du signaturer
- Hver levering følger Standard Webhooks-specifikationen og har tre headere:
webhook-id,webhook-timestampogwebhook-signature. - Signaturen er en HMAC-SHA256 over besked-id, afsendelsestidspunkt og den rå body og verificeres med endpointets signeringshemmelighed.
- Tidsstemplet i headerne er afsendelsestidspunktet, ikke hændelsestidspunktet. En levering, der gentages timer senere, signeres igen med det aktuelle tidspunkt og kan stadig verificeres.
Gentagelser ved fejl
- En levering regnes som fejlet, hvis dit endpoint svarer med noget andet end 2xx eller ikke svarer inden for 10 sekunder.
- Fejlede leveringer prøves igen op til 8 forsøg i alt over cirka 21 timer med stigende intervaller (30 sek., 2 min., 8 min., 32 min., ca. 2 timer, ca. 8,5 timer og 10 timer).
- Gentagelser genbruger samme besked-id, så dit system bør deduplikere på det – og leveringer kan ankomme i forkert rækkefølge.
- Når alle forsøg er brugt, markeres leveringen som Fejlet i endpointets log. Fra detaljesiden kan du bruge Kør nu ("Run now") på en levering for at gentage den med det samme.
Vedligeholdelse af endpointet
- Du kan rotere signeringshemmeligheden fra redigeringspanelet. Den nye hemmelighed vises én gang, efter du har gemt – og den gamle holder op med at virke øjeblikkeligt, så opdater dit modtagersystem i samme ombæring.
- Redigeringspanelet har en Test forbindelse ("Test connection")-handling og kan kræve en vellykket test, før du kan gemme.
- Sletter du et endpoint, slettes både endpointet og hele dets leveringshistorik permanent.
- Webhook-endpoints kan også administreres via API'et (opret, list, opdater, slet, rotér hemmelighed og testlevering) med webhook-endpoint-læse/skrive-scopes.