diff --git a/backend/custom_templates.json b/backend/custom_templates.json index 4973de0..0e91200 100644 --- a/backend/custom_templates.json +++ b/backend/custom_templates.json @@ -4,33 +4,42 @@ "language_code": "he", "friendly_name": "wedding_invitation_by_vered", "description": "This template design be Vered", + "header_type": "TEXT", "header_text": "", - "body_text": "היי {{1}},\nאנחנו שמחים ומתרגשים להזמין אותך לחתונה שלנו 🤍🥂\n\nנשמח מאוד לראותכם ביום {{2}} ה-{{3}} ב\"{{4}}\", {{5}}.\n\n{{6}} קבלת פנים 🍸\n{{7}} חופה 🤵🏻💍👰🏻‍♀️\n{{8}} ארוחה וריקודים 🕺🏻💃🏻\n\nמתרגשים לחגוג איתכם,\n{{9}} ו{{10}}\n👰🏻‍♀️🤍🤵🏻‍♂", "header_params": [], + "body_text": "היי {{1}},\nאנחנו שמחים ומתרגשים להזמין אותך לחתונה שלנו 🤍🥂\n\nנשמח מאוד לראותכם ביום {{2}} ה-{{3}} ב\"{{4}}\", {{5}}.\n\n{{6}} קבלת פנים 🍸\n{{7}} חופה 🤵🏻💍👰🏻‍♀️\n{{8}} ארוחה וריקודים 🕺🏻💃🏻\n\nמתרגשים לחגוג איתכם,\n{{9}} ו{{10}}\n👰🏻‍♀️🤍🤵🏻‍♂", "body_params": [ - "שם האורח", - "יום", - "תאריך", - "מיקום", - "עיר", - "שעת קבלת פנים", - "שעת חופה", - "שעת ארוחה וריקודים", - "שם הכלה", - "שם החתן" + "contact_name", + "event_date", + "event_date_day", + "venue", + "location", + "reception_time", + "ceremony_time", + "dinner_time", + "bride_name", + "groom_name" ], + "button_type": "URL", + "button_url": "https://invy.dvirlabs.com/guest/{{1}}", + "button_text": "הצבע על הזמנה", + "button_param_key": "event_id", "fallbacks": { - "contact_name": "דביר", - "groom_name": "דביר", - "bride_name": "ורד", - "venue": "אולם הגן", + "contact_name": "חבר", "event_date": "15/06", - "event_time": "18:30", - "guest_link": "https://invy.dvirlabs.com/guest" + "event_date_day": "17", + "venue": "אולם הגן", + "location": "ירושלים", + "reception_time": "18:30", + "ceremony_time": "19:00", + "dinner_time": "20:00", + "bride_name": "ורד", + "groom_name": "דביר", + "event_id": "event-id" }, - "guest_name_key": "שם האורח", + "guest_name_key": "", "url_button": { - "enabled": true, + "enabled": false, "button_index": 0, "param_key": "event_id" } diff --git a/backend/main.py b/backend/main.py index 57960af..27446e1 100644 --- a/backend/main.py +++ b/backend/main.py @@ -939,6 +939,12 @@ async def send_wedding_invitation_bulk( "event_time": event_time, "guest_link": per_guest_link, "guest_id": str(guest.id), # guest UUID for button {{1}} + # Additional parameters for wedding_invitation_by_vered template + "event_date_day": event_date.split("/")[0] if event_date else "", # extract day from DD/MM + "location": (request_body.location or event.location or "").strip(), + "reception_time": (request_body.reception_time or request_body.event_time or "").strip(), + "ceremony_time": (request_body.ceremony_time or request_body.event_time or "").strip(), + "dinner_time": (request_body.dinner_time or request_body.event_time or "").strip(), } # Merge extra_params (user-supplied values for custom param keys) @@ -963,6 +969,11 @@ async def send_wedding_invitation_bulk( if _url_btn and _url_btn.get("enabled"): _param_key = _url_btn.get("param_key", "event_id") params[_param_key] = str(event_id) + + # For button_param_key (button_url templates): inject event_id + _btn_param_key = _tpl_def.get("button_param_key", "") + if _btn_param_key and _tpl_def.get("button_type") == "URL": + params[_btn_param_key] = str(event_id) except Exception: pass diff --git a/backend/schemas.py b/backend/schemas.py index 633c3a2..e36f27d 100644 --- a/backend/schemas.py +++ b/backend/schemas.py @@ -197,8 +197,12 @@ class WhatsAppWeddingInviteRequest(BaseModel): partner1_name: Optional[str] = None # First partner / groom name partner2_name: Optional[str] = None # Second partner / bride name venue: Optional[str] = None # Hall / venue name + location: Optional[str] = None # City / location (for Vered template) event_date: Optional[str] = None # YYYY-MM-DD or DD/MM event_time: Optional[str] = None # HH:mm + reception_time: Optional[str] = None # Reception time (for Vered template) + ceremony_time: Optional[str] = None # Ceremony time (for Vered template) + dinner_time: Optional[str] = None # Dinner time (for Vered template) guest_link: Optional[str] = None # RSVP link extra_params: Optional[Dict[str, str]] = None # Custom/extra param values keyed by param name