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:
@@ -6,13 +6,13 @@ from datetime import datetime
|
||||
# Default-Webhook (Platzhalter) - sollte in .env stehen
|
||||
DEFAULT_WEBHOOK_URL = os.getenv("TEAMS_WEBHOOK_URL", "")
|
||||
|
||||
def send_approval_card(job_uuid, customer_name, time_string, webhook_url=DEFAULT_WEBHOOK_URL):
|
||||
def send_approval_card(job_uuid, customer_name, time_string, webhook_url=DEFAULT_WEBHOOK_URL, api_base_url="http://localhost:8004"):
|
||||
"""
|
||||
Sendet eine Adaptive Card an Teams mit Approve/Deny Buttons.
|
||||
"""
|
||||
|
||||
# Die URL unserer API (muss von außen erreichbar sein, z.B. via ngrok oder Server-IP)
|
||||
api_base_url = os.getenv("API_BASE_URL", "http://localhost:8004")
|
||||
|
||||
|
||||
card_payload = {
|
||||
"type": "message",
|
||||
@@ -27,33 +27,27 @@ def send_approval_card(job_uuid, customer_name, time_string, webhook_url=DEFAULT
|
||||
"body": [
|
||||
{
|
||||
"type": "TextBlock",
|
||||
"text": f"🤖 Automatisierte E-Mail an {customer_name}",
|
||||
"text": f"🤖 Automatisierte E-Mail an {customer_name} (via Trading Twins) wird um {time_string} Uhr ausgesendet.",
|
||||
"weight": "Bolder",
|
||||
"size": "Medium"
|
||||
},
|
||||
{
|
||||
"type": "TextBlock",
|
||||
"text": f"(via Trading Twins) wird um {time_string} Uhr ausgesendet.",
|
||||
"text": "Wenn Du bis {time_string} Uhr NICHT reagierst, wird die generierte E-Mail automatisch ausgesendet.",
|
||||
"isSubtle": True,
|
||||
"wrap": True
|
||||
},
|
||||
{
|
||||
"type": "TextBlock",
|
||||
"text": "Wenn Du bis dahin NICHT reagierst, wird die E-Mail automatisch gesendet.",
|
||||
"color": "Attention",
|
||||
"wrap": True
|
||||
}
|
||||
],
|
||||
"actions": [
|
||||
{
|
||||
"type": "Action.OpenUrl",
|
||||
"title": "✅ JETZT Aussenden",
|
||||
"url": f"{api_base_url}/action/approve/{job_uuid}"
|
||||
"url": f"{api_base_url}/send_now/{job_uuid}"
|
||||
},
|
||||
{
|
||||
"type": "Action.OpenUrl",
|
||||
"title": "❌ STOP Aussendung",
|
||||
"url": f"{api_base_url}/action/cancel/{job_uuid}"
|
||||
"url": f"{api_base_url}/stop/{job_uuid}"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user