Zur Navigation springen

Webhooks für Änderungen in einer Liste verwenden

Mit einem Webhook sendet Laposta eine Nachricht an Ihren Server, sobald sich etwas in einer Liste ändert. So halten Sie Ihren eigenen Datenbestand aktuell, ohne bei Laposta ständig abfragen zu müssen, ob es etwas Neues gibt.

Wann verwenden Sie einen Webhook?

Sie verwenden einen Webhook für Änderungen, die in Laposta stattfinden: Jemand meldet sich über ein Anmeldeformular an, passt seine Daten im Präferenzzentrum an oder meldet sich über den Abmeldelink ab. Für Änderungen, die aus Ihrem eigenen System kommen, lesen Sie weiter unter Abonnenten synchronisieren.

Sie können einen Webhook für drei Ereignisse konfigurieren:

EreignisWann wird die Nachricht gesendet?
subscribedEin neuer Abonnent kommt zur Liste hinzu.
modifiedDie Daten eines bestehenden Abonnenten ändern sich.
deactivatedEin Abonnent meldet sich ab oder wird gelöscht.

Einen Webhook konfigurieren

1

Erstellen Sie eine URL, die Nachrichten empfangen kann

Richten Sie auf Ihrem eigenen Server eine Adresse ein, die einen POST-Aufruf mit JSON akzeptiert. Antworten Sie schnell mit einem 200 und verarbeiten Sie die Nachricht danach im Hintergrund.

2

Registrieren Sie den Webhook

Registrieren Sie Ihre URL und das gewünschte Ereignis bei Laposta:

curl
curl https://api.laposta.nl/v2/webhook \
-u IHR_API_SCHLUESSEL: \
-d list_id=BaImMu3JZA \
-d event=subscribed \
-d url=https://example.net/laposta-webhook \
-d blocked=false
PHP
$laposta = new Laposta('IHR_API_SCHLUESSEL');
$webhook = $laposta->webhookApi()->create('BaImMu3JZA', [
'event' => 'subscribed',
'url' => 'https://example.net/laposta-webhook',
'blocked' => false,
]);

Speichern Sie das secret, das in der Antwort steht. Damit können Sie später prüfen, ob eine eingehende Nachricht wirklich von Laposta stammt.

3

Prüfen Sie bei jeder Nachricht die Signatur

Laposta signiert jede Nachricht mit diesem Secret. Vergleichen Sie die Signatur, bevor Sie etwas mit dem Inhalt machen, da sonst jeder, der Ihre URL kennt, Daten in Ihr System eintragen kann.

Worauf Sie achten sollten

  • Verarbeiten Sie die Nachricht im Hintergrund, also nachdem Sie auf die Anfrage geantwortet haben. Dauert es auf Ihrer Seite zu lange, läuft der Aufruf in einen Timeout und Sie wissen nicht sicher, ob Sie alles empfangen haben.
  • Rechnen Sie mit doppelten Nachrichten. Im Zweifelsfall sendet Laposta eine Nachricht erneut. Sorgen Sie also dafür, dass Ihr System dieselbe Nachricht zweimal verarbeiten kann, ohne dass beispielsweise ein doppelter Abonnent entsteht.
  • Deaktivieren Sie einen Webhook vorübergehend, anstatt ihn zu löschen. Wenn Sie Wartungsarbeiten an Ihrem Server durchführen, setzen Sie blocked über Webhook ändern auf true. Die Registrierung und das Secret bleiben dann erhalten.
  • Änderungen über die API lösen den Webhook ebenfalls aus. Wenn Sie selbst einen Abonnenten über die API aktualisieren, wird der modified-Webhook auch ausgelöst. Berücksichtigen Sie das in Ihrem eigenen Code, da Sie sonst dieselbe Änderung sofort wieder an Laposta zurücksenden.

Verwandte Artikel