feat(lead-engine): Implement Teams notification and email enhancements [31988f42]
- Enhanced Teams Adaptive Card with precise email send time and re-added emojis to action buttons ("✅ JETZT Aussenden", "❌ STOP Aussendung").
- Modified email sending logic to include HTML signature from `signature.html` and an inline banner image from `RoboPlanetBannerWebinarEinladung.png`.
- Documented future enhancements in `lead-engine/README.md`:
- Race-condition protection for calendar bookings with a live calendar check.
- Integration of booking confirmation pages into the WordPress website (iFrame first, then API integration).
This commit is contained in:
@@ -76,7 +76,27 @@ docker exec lead-engine python /app/trading_twins/test_calendar_logic.py
|
||||
|
||||
**Zugriff:** `https://floke-ai.duckdns.org/lead/` (Passwortgeschützt)
|
||||
|
||||
## 📝 Credentials (.env)
|
||||
## 📝 Zukünftige Erweiterungen & Todos
|
||||
|
||||
### Task: Race-Condition-Schutz bei Überbuchung
|
||||
* **Problem:** Wenn mehrere Leads E-Mails mit denselben Terminvorschlägen erhalten, kann es zu "Race Conditions" kommen, bei denen mehrere Personen denselben Slot fast zeitgleich buchen.
|
||||
* **Lösung:** Implementierung eines "Live-Checks" im Feedback-Server.
|
||||
1. **Trigger:** Ein Nutzer klickt auf einen Buchungslink.
|
||||
2. **Aktion:** Bevor der Termin im Kalender erstellt wird, sendet der Server eine *erneute* `getSchedule`-Anfrage an die Graph API für exakt diesen Zeit-Slot.
|
||||
3. **Logik:**
|
||||
* **Slot frei:** Der Termin wird wie geplant gebucht und der Job-Status auf `booked` gesetzt.
|
||||
* **Slot belegt:** Der Nutzer erhält eine freundliche Nachricht ("Dieser Termin wurde gerade vergeben."). Idealerweise werden ihm dynamisch zwei neue, freie Termine vorgeschlagen, die er direkt auf der Seite buchen kann.
|
||||
* **Ziel:** Sicherstellen, dass der Kalender die "Single Source of Truth" ist und doppelte Buchungen zuverlässig verhindert werden.
|
||||
|
||||
### Task: Integration der Buchungs-Seiten in WordPress
|
||||
* **Ziel:** Eine nahtlose User Experience schaffen, bei der Termin-Bestätigungen auf der Haupt-Website (`robo-planet.de`) statt auf der direkten API-URL angezeigt werden.
|
||||
* **Phase 1 (Kurzfristig): Einbettung via iFrame**
|
||||
* **Umsetzung:** Eine Seite in WordPress anlegen und die URL des Feedback-Servers (z.B. `https://floke-ai.duckdns.org/feedback/book_slot/...`) in einem iFrame laden.
|
||||
* **Vorteil:** Kein Programmieraufwand auf unserer Seite nötig, sofort umsetzbar.
|
||||
* **Phase 2 (Langfristig): Native API-Integration**
|
||||
* **Umsetzung:** Die Links in der E-Mail führen direkt zu einer WordPress-Seite (z.B. `robo-planet.de/termin-bestaetigen`). Ein Skript auf dieser Seite ruft im Hintergrund unsere `/book_slot` API auf.
|
||||
* **Vorteil:** Perfekte Integration ins Corporate Design, volle Kontrolle über die Erfolgs- und Fehlermeldungen. Die API ist dafür bereits ausgelegt.
|
||||
|
||||
|
||||
```env
|
||||
# Info-Postfach (App 1 - Schreiben)
|
||||
|
||||
Reference in New Issue
Block a user