MongoDB-Ablage für Adressen, Anrufe und Jobs; Webhook-URLs je Datenart

Adress-, Anruf- und Jobdaten landen dauerhaft in der MongoDB
(ArchiveService, best-effort auf eigenem Thread): Die Startseite meldet
Adress-Cache und Anruf-Ereignisse an POST /api/addresses bzw. /api/calls,
der Webhook legt seine Nutzlasten selbst ab. Adressen tragen eine
generierte Kennung, die Rufnummer erkennt per Upsert die Dublette.

Der Webhook bekommt je Datenart eine eigene URL – /api/webhook/kunden,
/api/webhook/kuriere, /api/webhook/jobs –, die URL bestimmt die Ablage,
ein Kennzeichen in der Nutzlast ist nicht mehr nötig. Die Herkunft steht
als channel am Ereignis. Der generische POST /api/webhook bleibt.

Die Controller-Tests ersetzen den ArchiveService (MockitoBean) und
laufen damit ohne MongoDB. Markenrot laut Styleguide in beiden Farbmodi.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-27 10:24:53 +02:00
co-authored by Claude Fable 5
parent 1598852785
commit 97c3778180
21 changed files with 1011 additions and 26 deletions
+3 -6
View File
@@ -14,11 +14,11 @@
--border-strong: #b4b4b5;
--text: #222222;
--text-muted: #7c7f7e;
/* Vollflächen (Buttons, Balken) immer das Markenrot mit weißer Schrift. */
/* Markenrot laut Styleguide (RGB 202/13/56, Pantone 185 C) in beiden
Farbmodi identisch, das Brandbook kennt nur diesen einen Rotwert. */
--brand: #ca0d38;
--brand-strong: #a30a2d;
--brand-soft: rgb(202 13 56 / 8%);
/* Rot als Text- und Konturfarbe; im Dunkelmodus eine hellere Abstufung. */
--accent: #ca0d38;
--ok: #2f9e6e;
--warn: #b98a1c;
@@ -35,10 +35,7 @@
--border-strong: #55565c;
--text: #f1f1f2;
--text-muted: #a4a7a8;
--brand: #ca0d38;
--brand-strong: #e33e60;
--brand-soft: rgb(227 62 96 / 14%);
--accent: #ef7d95;
--brand-soft: rgb(202 13 56 / 14%);
--ok: #43c78f;
--warn: #e0b341;
--err: #f2665b;