Zum Inhalt springen
Peak Forms

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.

BeispielansichtPOST an deine https-Adresse
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.

Signatur prüfen (Node.js)
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);
}
Formular einbetten
<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.

  1. Endpunkt anlegen

    Öffentliche https-Adresse eintragen. Interne Adressen und IP-Bereiche werden abgelehnt.

  2. Geheimnis speichern

    Peak One erzeugt ein Geheimnis mit dem Präfix whsec_. Bewahre es serverseitig auf.

  3. 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.

Peak Forms

Bau auf echten Ereignissen.

Leg ein kostenloses Konto an und schick dir das erste Test-Ereignis.