Zum Inhalt springen
Doku

Anleitung

Webhook einrichten

Erstellen Sie einen Webhook-Endpunkt, wählen Sie seine Events aus, fügen Sie Payload-Filter hinzu, senden Sie ein Test-Event, aktivieren oder deaktivieren Sie den Webhook oder rotieren Sie sein Secret.

Aktualisiert am 1. Okt. 2026

In dieser Anleitung erstellen Sie einen Webhook, schränken ihn auf die Events ein, die Sie brauchen, und prüfen, ob Ihr Endpunkt signierte Anfragen empfängt. Sie können alles in der Weboberfläche oder mit der Webhooks-API erledigen.

Voraussetzungen

  • Eine öffentliche URL, die POST-Anfragen annimmt. HTTPS wird dringend empfohlen. URLs auf localhost oder in privaten IP-Bereichen werden abgelehnt; verwenden Sie für die lokale Entwicklung einen Tunnel wie ngrok oder Cloudflare Tunnel.
  • Ein Endpunkt, der den unveränderten Anfrage-Body aufbewahrt, damit er die Signatur verifizieren kann.
  • Für die API ein API-Schlüssel mit Full Access.
  • Ein freier Webhook-Platz. Pay as you go umfasst 3 Endpunkte, Pro 10, Business und Custom je 100.

Webhook erstellen

  1. Webhooks öffnen. Öffnen Sie Email APIWebhooks und wählen Sie Add webhook.

  2. Name und URL eingeben. Der Name muss im Workspace eindeutig sein, zum Beispiel Production events. Die URL ist Ihr Endpunkt, zum Beispiel https://acme.com/webhooks/emailit. Wählen Sie Create.

  3. Secret kopieren. Der Dialog zeigt das Webhook-Secret, das mit whsec_ beginnt, zusammen mit der Warnung „You can see the webhook secret only once. Store it safely.“ Kopieren Sie es in die Umgebung Ihrer App, zum Beispiel als EMAILIT_WEBHOOK_SECRET, und wählen Sie Done.

Ein in der Weboberfläche erstellter Webhook hat alle Event-Typen abonniert. Anschließend öffnet sich der Tab Settings des Webhooks, damit Sie die Auswahl einschränken können.

Events auswählen

Ein Webhook erhält entweder alle Event-Typen oder nur die Typen, die Sie auswählen.

Deaktivieren Sie im Tab Settings des Webhooks All events und wählen Sie dann in der Karte Events die gewünschten Typen aus. Die Events sind nach Ressource gruppiert (Emails, Domains, Audiences, Subscribers, Contacts, Templates, Suppressions, Email Verifications, Email Verification Lists), und jede Gruppe hat eine Checkbox Select all. Wählen Sie Save.

Die Auswahl listet nicht alle Typen auf, die Emailit sendet. email.canceled, email.held, email.unsubscribed, email.resubscribed, subscriber.resubscribed und die campaign.*-Events erreichen Webhooks, bei denen All events aktiviert ist, oder Sie fügen sie per API zur Liste hinzu. Die Gruppe Deprecated enthält alte Event-Namen, die nicht mehr gesendet werden. Siehe Event-Typen.

Events nach Payload filtern

Pay as you goProBusinessCustom

Ein Payload-Filter stellt ein Event nur zu, wenn seine Daten Ihren Regeln entsprechen. Filter gelten zusätzlich zur Event-Auswahl: Ein Event muss abonniert sein und den Filter erfüllen.

Damit können Sie den Datenverkehr auf mehrere Endpunkte aufteilen, zum Beispiel einen Webhook pro Produktlinie, oder Events verwerfen, die Sie sonst im Code ignorieren würden.

  • Abgleichsmodus: All rules match (all) oder Any rule matches (any).
  • Regeln: bis zu 25. Jede Regel besteht aus einem Feld, einem Operator und einem Wert.
  • Feld: ein Pfad mit Punkten in das data.object des Events, zum Beispiel to, status, meta.plan oder bei Klick-Events link.url. Das Präfix payload. ist optional, payload.from und from sind also gleichbedeutend.
  • Vergleiche beachten die Groß-/Kleinschreibung und vergleichen Werte als Text, außer greater_than und less_than, die Zahlen vergleichen.
Operator Trifft zu, wenn das Feld
equals / not_equals Genau den Wert hat / nicht genau den Wert hat.
contains / not_contains Den Wert enthält / nicht enthält.
starts_with / ends_with Mit dem Wert beginnt / endet.
greater_than / less_than Eine Zahl größer / kleiner als der Wert ist.
is_set / is_not_set Einen nicht leeren Wert hat / fehlt oder leer ist. Kein Wert nötig.
in / not_in Einem der Werte in einem Array entspricht / keinem davon entspricht. Senden Sie das Array per API, wie im Beispiel unten.

Im Tab Settings des Webhooks finden Sie die Karte Filter. Wählen Sie den Abgleichsmodus, fügen Sie Regeln mit Feld, Operator und Wert hinzu und wählen Sie Save. Lassen Sie die Regeln leer, um alle abonnierten Events zuzustellen. Bei Pay as you go ist die Karte gesperrt und zeigt Upgrade.

Weitere Beispiele:

Ziel Regel
Nur E-Mails, die an einer bestimmten Adresse eingehen to equals support@inbound.acme.com
Nur eine Absenderdomain from ends_with @billing.acme.com
Nur E-Mails, die Sie mit Metadaten gekennzeichnet haben meta.source equals checkout
Nur Klicks auf Ihre Preisseite link.url starts_with https://acme.com/pricing
Nur E-Mails mit einer Kunden-ID meta.customer_id is_set

Wechselt ein Workspace zu Pay as you go, bleiben bestehende Filter gespeichert, werden aber ignoriert, und alle abonnierten Events werden zugestellt.

Test-Event senden

Ein Test sendet sofort ein Beispiel-Event per POST an Ihre URL, signiert mit dem aktuellen Secret des Webhooks. Abonnierte Events und Filter werden ignoriert, die Anfrage wird nicht wiederholt und erscheint nicht im Tab Requests. Jeder Webhook erlaubt 5 Tests pro Minute.

Öffnen Sie auf der Webhook-Seite das Aktionsmenü (…) und wählen Sie Send test. Wählen Sie einen Event-Typ und dann Send test. Der Dialog zeigt „Your endpoint returned 200“ (oder den Status, den Ihr Endpunkt zurückgegeben hat) und den Antwort-Body. „Could not reach the endpoint“ bedeutet, dass die Anfrage keine HTTP-Antwort erhalten hat, zum Beispiel wegen eines DNS-Fehlers, eines Timeouts oder eines Redirects.

Test-Events verwenden Beispieldaten mit einer event_id, die mit evt_test_ beginnt, und ihre Struktur kann leicht von echten Events abweichen. Richten Sie Ihren Handler nach der Event-Referenz aus und prüfen Sie ihn mit einem echten Versand.

Webhook aktivieren oder deaktivieren

Deaktivieren Sie einen Webhook, um Zustellungen anzuhalten, ohne seine Einstellungen zu verlieren, zum Beispiel während einer Wartung.

  • Weboberfläche: Öffnen Sie das Aktionsmenü und wählen Sie Disable webhook oder Enable webhook. Die Webhook-Seite zeigt den Status Enabled oder Disabled.
  • API: Rufen Sie Webhook aktualisieren mit {"enabled": false} oder {"enabled": true} auf.

Solange ein Webhook deaktiviert ist, werden keine neuen Events für ihn in die Warteschlange gestellt, und Anfragen, die bereits auf eine Wiederholung warten, werden angehalten. Events, die eintreten, während er deaktiviert ist, werden nicht nachträglich zugestellt; lesen Sie sie bei Bedarf mit der Events-API. Emailit deaktiviert Webhooks außerdem automatisch nach 3 Tagen mit Fehlschlägen; siehe Wiederholungen und Fehlschläge.

Wenn Sie einen Webhook löschen, werden alle seine ausstehenden Events verworfen.

Secret rotieren

Rotieren Sie das Secret, wenn es möglicherweise offengelegt wurde, oder routinemäßig zur Vorsorge.

  • Weboberfläche: Öffnen Sie das Aktionsmenü, wählen Sie Webhook secret und dann Reset. Das neue Secret wird einmal angezeigt.
  • API: Rufen Sie Signatur-Secret rotieren auf. Die Antwort enthält das neue secret. Auch Webhook abrufen gibt das aktuelle Secret zurück.

Das alte Secret funktioniert sofort nicht mehr, und jede Anfrage ab diesem Zeitpunkt, auch Wiederholungen älterer Events, wird mit dem neuen signiert. Um zu rotieren, ohne Anfragen abzulehnen, lassen Sie Ihren Endpunkt für einige Minuten beide Secrets akzeptieren, setzen Sie das Secret zurück, stellen Sie den neuen Wert bereit und entfernen Sie dann den alten.

Ergebnis prüfen

  1. Senden Sie ein Test-Event und prüfen Sie, ob Ihr Endpunkt 2xx zurückgibt.
  2. Senden Sie eine echte E-Mail oder lösen Sie das Event aus, das Sie abonniert haben.
  3. Im Tab Requests des Webhooks zeigt die Anfrage Delivered. Der Zeitpunkt Last used des Webhooks wird aktualisiert.

War diese Seite hilfreich?

Danke für Ihr Feedback.

Danke, wir lesen jede Nachricht.