Peak Forms · Entwickler
Antworten per Webhook verarbeiten.
Peak One schickt jede Einsendung als signiertes JSON an deinen Server. Du prüfst die Signatur, erkennst Dubletten an der ID und verarbeitest den Rest wie gewohnt.
HMAC-SHA256, Zeitstempel und Ereignis-ID in jeder Zustellung.
Eine Zustellung
Header und Body.
Der Body hat immer dieselbe Hülle. Unter data stehen Lead, Antworten, Quelle und Kampagne.
- Peak-Webhook-Id
- Ereignis-ID, gleich bei Wiederholung
- Peak-Webhook-Timestamp
- Unix-Sekunden
- Peak-Signature
- t=<Zeit>,v1=<HMAC-SHA256>
- Body
- { id, type, createdAt, scope, data }
Format der Peak-One-Webhooks
Testzustellungen tragen zusätzlich test: true, damit du sie ignorieren kannst.
Ereignisse
Vier Ereignisse zum Abonnieren.
form.submitted
Jede abgeschickte Anfrage aus Forms oder Pages.
lead.created
Ein Formular, eine Seite oder eine Buchung hat einen Kontakt gebracht.
lead.qualified
Ein Lead wurde als passend markiert.
booking.created
Ein Termin über Peak Booking wurde bestätigt.
Beispielcode
Signatur prüfen und einbetten.
Signiert wird der Text „<Zeitstempel>.<roher Body>“ mit deinem Webhook-Geheimnis. Prüfe auf dem rohen Body, bevor du ihn parst.
import { createHmac, timingSafeEqual } from "node:crypto";
export function verifyPeakWebhook(secret, rawBody, header, toleranceSeconds = 300) {
const parts = Object.fromEntries(header.split(",").map((p) => p.split("=", 2)));
const t = Number(parts.t);
if (!t || !parts.v1 || Math.abs(Date.now() / 1000 - t) > toleranceSeconds) return false;
const want = createHmac("sha256", secret).update(`${t}.${rawBody}`).digest();
const got = Buffer.from(parts.v1, "hex");
return want.length === got.length && timingSafeEqual(want, got);
}<iframe src="https://app.peak-atlas.com/f/<public-id>?embed=1"
title="Kontakt" loading="lazy"
style="width:100%;min-height:640px;border:0"
data-peak-form="<public-id>"></iframe>So startest du
Vom Endpunkt zur ersten Zustellung.
Endpunkt anlegen
Öffentliche https-Adresse eintragen. Interne Adressen und IP-Bereiche werden abgelehnt.
Geheimnis speichern
Peak One erzeugt ein Geheimnis mit dem Präfix whsec_. Bewahre es serverseitig auf.
Test senden
Mit „Test senden“ kommt ein Beispiel-Ereignis an. Prüfe Signatur und Dublettenerkennung.
Häufige Fragen
Wie oft wird ein Webhook wiederholt?
Bis zu sechs Versuche, verteilt von einer Minute bis zwölf Stunden, immer mit derselben ID. Antworte schnell mit 2xx und verarbeite asynchron.
Passt sich das iframe der Höhe an?
Ja, mit dem vollständigen Einbettungscode aus Peak Forms. Er enthält ein kurzes Skript, das die Höhe nachführt.
Enthält der Webhook alle Antworten?
Ja, unter data.answers, dazu Name, E-Mail und Kampagnenangaben, soweit vorhanden.
Passend dazu
Peak Forms
Bau auf echten Ereignissen.
Leg ein kostenloses Konto an und schick dir das erste Test-Ereignis.







