Über den Service
ÜbersetztDie meisten Integrationen brechen im Stillen. Ein Dienst löst ein Ereignis aus, der Empfänger wird gerade neu gestartet, niemand versucht es erneut, und Sie erfahren, dass der Kunde nie eine Bestätigung erhalten hat. Ich baue die Schicht, die diesen Austausch langweilig und vorhersehbar macht: einen Entnahmepunkt für Ereignisse, eine Warteschlange dahinter, Routing für Benachrichtigungen und ein Lieferprotokoll, das die Frage "Ist es angekommen" ohne Rätselraten beantwortet.
Die Arbeit beginnt mit der Ereigniskarte, nicht mit dem Code. Wir gehen durch, was tatsächlich in Ihren Systemen passiert, und wählen aus, was eine Reaktion verdient: eine neue Bestellung, eine fehlgeschlagene Zahlung, eine Statusänderung, ein unterzeichnetes Dokument. Für jedes schreibe ich auf, wer darüber informiert werden muss, wie schnell und über welchen Kanal. Die Hälfte des zukünftigen Lärms verschwindet in diesem Schritt, denn bis jetzt hatte niemand gefragt, ob ein Ereignis überhaupt eine Nachricht verdient hat.
Dann die Mechanik. Ein eingehender Webhook ohne Signaturprüfung wird nicht akzeptiert — sonst kann jeder Ihnen ein Ereignis senden, und ein gefälschtes kostet weit mehr als ein verpasstes. Akzeptierte Ereignisse gehen in eine Warteschlange und werden mit wachsenden Abständen erneut versucht, während die andere Seite nicht verfügbar ist. Wiederholungen sind hier normal, daher trägt jedes Ereignis einen Schlüssel, und eine zweite Kopie desselben Schlüssels ändert nichts. Geheimnisse und Tokens werden außerhalb des Codes aufbewahrt und erreichen niemals das Protokoll. Die Benachrichtigungen selbst tragen einen Link und eine Nummer und nichts weiter: persönliche Daten und Dokumentinhalte werden nicht in einen Arbeits-Chat eingefügt, durch den die Hälfte des Unternehmens scrollen kann.
Was die Arbeit umfasst:
— eine Karte der Ereignisse mit einem Grund für jedes;
— Webhook-Entgegennahme mit Signaturprüfungen und Ablehnung von allem, was nicht signiert ist;
— eine Warteschlange mit Wiederholungen und einem sichtbaren Rückstand unverarbeiteter Ereignisse;
— Schutz gegen die Verarbeitung desselben Ereignisses zweimal;
— Routing zu E-Mail und zum Team-Messenger, pro Ereignis und pro Empfänger;
— Nachrichtenvorlagen in einfacher Sprache, ohne rohe Payload-Dumps;
— ein Lieferprotokoll, das nach Ereignissen durchsuchbar ist, mit einer manuellen Wiederholung;
— Warteschlangenüberwachung, die sich meldet, wenn der Rückstand nicht abgebaut wird;
— ein kurzer schriftlicher Leitfaden für das Team.
Die Arbeit beginnt mit der Ereigniskarte, nicht mit dem Code. Wir gehen durch, was tatsächlich in Ihren Systemen passiert, und wählen aus, was eine Reaktion verdient: eine neue Bestellung, eine fehlgeschlagene Zahlung, eine Statusänderung, ein unterzeichnetes Dokument. Für jedes schreibe ich auf, wer darüber informiert werden muss, wie schnell und über welchen Kanal. Die Hälfte des zukünftigen Lärms verschwindet in diesem Schritt, denn bis jetzt hatte niemand gefragt, ob ein Ereignis überhaupt eine Nachricht verdient hat.
Dann die Mechanik. Ein eingehender Webhook ohne Signaturprüfung wird nicht akzeptiert — sonst kann jeder Ihnen ein Ereignis senden, und ein gefälschtes kostet weit mehr als ein verpasstes. Akzeptierte Ereignisse gehen in eine Warteschlange und werden mit wachsenden Abständen erneut versucht, während die andere Seite nicht verfügbar ist. Wiederholungen sind hier normal, daher trägt jedes Ereignis einen Schlüssel, und eine zweite Kopie desselben Schlüssels ändert nichts. Geheimnisse und Tokens werden außerhalb des Codes aufbewahrt und erreichen niemals das Protokoll. Die Benachrichtigungen selbst tragen einen Link und eine Nummer und nichts weiter: persönliche Daten und Dokumentinhalte werden nicht in einen Arbeits-Chat eingefügt, durch den die Hälfte des Unternehmens scrollen kann.
Was die Arbeit umfasst:
— eine Karte der Ereignisse mit einem Grund für jedes;
— Webhook-Entgegennahme mit Signaturprüfungen und Ablehnung von allem, was nicht signiert ist;
— eine Warteschlange mit Wiederholungen und einem sichtbaren Rückstand unverarbeiteter Ereignisse;
— Schutz gegen die Verarbeitung desselben Ereignisses zweimal;
— Routing zu E-Mail und zum Team-Messenger, pro Ereignis und pro Empfänger;
— Nachrichtenvorlagen in einfacher Sprache, ohne rohe Payload-Dumps;
— ein Lieferprotokoll, das nach Ereignissen durchsuchbar ist, mit einer manuellen Wiederholung;
— Warteschlangenüberwachung, die sich meldet, wenn der Rückstand nicht abgebaut wird;
— ein kurzer schriftlicher Leitfaden für das Team.