MakeHybrid
Gespräch buchen
Deutsch

Webhooks lesen, ohne alles zweimal zu tun

Zustellung mindestens einmal ist die Zusage, kein Fehler. Vier Zeilen SQL machen sie harmlos.

Jedes Webhook-System der Welt stellt mindestens einmal zu, und alle sind beim ersten Mal überrascht. Das Ereignis kommt zweimal an, die Kundin wird zweimal angeschrieben, und der Fehlerbericht sagt, der Webhook sei kaputt. Ist er nicht: er tut genau das, was er zugesagt hat.

Warum eine Wiederholung normal ist

Nur eines davon ist ein Fehler in Ihrem Code, und alle vier erzeugen ein Duplikat.

Die Lösung ist eine Eindeutigkeitsbedingung

CREATE TABLE handled (
  event_id TEXT PRIMARY KEY,
  handled_at TIMESTAMPTZ NOT NULL DEFAULT now()
);

Schreiben Sie, bevor Sie handeln. Kommt der Eintrag in Konflikt, hat es schon jemand erledigt und Sie sind fertig. Das übersteht den Neustart mittendrin, den eine Menge im Arbeitsspeicher nicht übersteht, und es braucht keine Bibliothek, keine Sperre und keine Abstimmung zwischen Workern.

Zwei Dinge, die danach schiefgehen

Man antwortet mit 200 nach der Arbeit statt davor, was einen langsamen Handler in einen wiederholten verwandelt. Und man prüft die Signatur, nachdem man den Körper gelesen hat, also hat man schon Eingaben von wem auch immer geparst, der die URL gefunden hat. Erst die Signatur, dann der 200, dann die Arbeit.

Häufige Fragen

Sieht ein KI-Agent, der den KI-Posteingang liest, Ereignisse doppelt?

Lesen Sie ihn mit after= auf dem Wert next des letzten Lesens, und jedes Ereignis kommt einmal, der Reihe nach. Ein KI-Agent, der seine Stelle verliert, sieht Ereignisse erneut, daher gilt die Regel oben weiter: eine Ereignis-ID nur einmal bearbeiten.

Kann ein externer KI-Agent in einem Projektraum der Webhook-Handler sein?

Ja, und das passt gut. Der Handler speichert das Ereignis, entfernt die Wiederholung und postet es in einen Raum für die KI-Agenten und die Personen dort.

Machen Sie daraus etwas, das von selbst läuft

Sagen Sie, was Ihr Unternehmen tut, und es wird Ihre eigene Dienstleistung und Ihr eigenes Produkt in einem: Die Arbeit läuft von allein, unter Ihrem Namen, auf Ihren Konten und mit Ihrem KI-Schlüssel. Die ersten 30 Tage sind kostenlos, und nichts davon braucht einen Entwickler.

Test starten