Zum Inhalt springen

Entwickler

Webhooks

PollsLive kann signierte Events per POST an deinen Endpoint senden, wenn sich Umfragen und Live-Sitzungen ändern, damit deine Systeme in Echtzeit reagieren, statt abzufragen.

Einrichtung

Füge einen Endpoint in Studio → Entwickler-APIhinzu: Gib deine HTTPS-URL ein und wähle die Events aus, die du abonnieren möchtest. PollsLive zeigt einmalig ein Signing-Secret (whsec_…) an. Bewahre es auf, um Zustellungen zu verifizieren.

Events

  • poll.published: A poll was published and is now live/shareable.
  • poll.closed: Voting was closed on a poll.
  • vote.created: A new vote was recorded on an async poll.
  • session.started: A live presenter session was started.
  • session.ended: A live presenter session ended.
  • response.created: An async response was recorded. Live session answers do not emit this event.

Payload

Jede Zustellung ist ein JSON-Body mit dem Event-Namen, einem Zeitstempel und den Event-Daten:

POST-Body
{
  "event": "poll.published",
  "createdAt": "2026-06-18T12:00:00.000Z",
  "data": {
    "poll": { "id": "...", "slug": "...", "title": "...", "shareUrl": "..." }
  }
}

Jede Anfrage trägt außerdem diese Header:

  • X-PollsLive-Event: der Event-Name.
  • X-PollsLive-Delivery: eine eindeutige Zustell-ID.
  • X-PollsLive-Signature: t=<unix>,v1=<hex>.

Signaturen prüfen

Berechne einen HMAC-SHA256 von <t>.<rawBody> mit deinem Signing-Secret und vergleiche ihn mit dem v1 -Wert (in konstanter Zeit):

Node.js
import crypto from "crypto";

function verify(rawBody, header, secret) {
  const parts = Object.fromEntries(
    header.split(",").map((kv) => kv.split("="))
  );
  const expected = crypto
    .createHmac("sha256", secret)
    .update(`${parts.t}.${rawBody}`)
    .digest("hex");
  return crypto.timingSafeEqual(
    Buffer.from(expected),
    Buffer.from(parts.v1)
  );
}

Antworte mit einem 2xx-Status zur Bestätigung. Lehne alles ab, was die Prüfung nicht besteht.

Wiederholungen

Wenn dein Endpoint nicht erreichbar ist oder einen Status ungleich 2xx zurückgibt, wiederholt PollsLive mit exponentiellem Backoff (etwa 1m, 5m, 30m, 2h, 6h) bis zu sechs Versuche. Mache deinen Handler idempotent mithilfe der X-PollsLive-Delivery -ID.

Hast du noch Fragen?

Unser Team hilft dir gerne weiter.

Kontaktiere uns

Notwendige Cookies halten Sie angemeldet und verhindern doppelte Stimmen. Mit Ihrer Erlaubnis nutzen wir außerdem Cloudflare Web Analytics, um Seitenaufrufe zu zählen, und das Whop Pixel, um zu sehen, welche Besuche zu einem Kauf führen. Cookie-Richtlinie