From 210f4057ee4b274ca64c44111c3ed24afb991295 Mon Sep 17 00:00:00 2001 From: Serge RAKOTO HARRY-NAIVO Date: Thu, 7 May 2026 16:07:03 +0200 Subject: [PATCH] fix(worker): restore original 'Ravis de vous revoir' email template Serge flagged that PR #8's welcome-back template lost strategic content (= the Paris depot address reminder, the IMPORTANT warning against modifying it, and the 'Ravis de vous revoir' tone) by substituting a more generic 'Vous \xc3\xaates d\xc3\xa9j\xc3\xa0 inscrit' template. Restores the EXACT original EmailJS-era template now delivered through Resend, with three minimal adaptations: - Footer: '(c) 2025' \xe2\x86\x92 '(c) 2026' - Logo URL: github.io \xe2\x86\x92 SITE_URL (= mva-globalfret.com) - Paris address: now dynamic via PARIS_DEPOT_ADDRESS secret + {{ref}} placeholder substitution (= each client sees their own MVA-XXX) - Removed obsolete 'Email sent via EmailJS.com' tag (= now Resend) Subject also reverted: 'Ravis de vous revoir, [firstname] !' instead of the previously generic 'Vous \xc3\xaates d\xc3\xa9j\xc3\xa0 inscrit'. Refs: post-cutover polish, fixes Issue 1.5 from Serge's E2E retest. --- cloudflare-worker/hubspot-proxy.js | 125 ++++++++++++++++------------- 1 file changed, 69 insertions(+), 56 deletions(-) diff --git a/cloudflare-worker/hubspot-proxy.js b/cloudflare-worker/hubspot-proxy.js index 77d93f1..a0c4bdd 100644 --- a/cloudflare-worker/hubspot-proxy.js +++ b/cloudflare-worker/hubspot-proxy.js @@ -564,74 +564,87 @@ async function sendWelcomeViaResend(env, contact) { } // Email "Ravis de vous revoir" pour les clients déjà inscrits qui retentent -// le formulaire de contact. Rappelle le numéro de référence existant et -// précise que le contact n'est pas re-créé (= anti-doublon HubSpot). -// Idempotent côté HubSpot (= zéro write). Footer 2026 cohérent avec les -// autres emails Resend. +// le formulaire de contact. Reprend EXACTEMENT le template original (= avant +// migration EmailJS \xe2\x86\x92 Resend) car son contenu est strat\xc3\xa9gique \xe2\x80\x94 rappel +// adresse Paris + warning anti-modification + r\xe9f\xe9rence client. Seules +// modifications : footer (c) 2025 \xe2\x86\x92 \xc2\xa9 2026, suppression du tag +// "Email sent via EmailJS.com" (obsol\xe8te depuis Resend), URL logo +// pointe vers le nouveau domaine, et adresse Paris injecte la ref via +// le placeholder {{ref}} de PARIS_DEPOT_ADDRESS. +// +// Idempotent c\xf4t\xe9 HubSpot (= z\xe9ro write). async function sendWelcomeBackViaResend(env, contact) { const siteUrl = env.SITE_URL || 'https://mva-globalfret.com'; const logoUrl = `${siteUrl}/PNG%20MVA%20GLOBAL%20FRET.png`; - const firstname = escapeHtml(contact.firstname || ''); - const ref = escapeHtml(contact.reference_client || ''); - const refBlock = ref - ? `
-
VOTRE NUMÉRO DE RÉFÉRENCE EXISTANT
-
${ref}
-
` - : ''; + const firstnameRaw = contact.firstname || ''; + const firstname = escapeHtml(firstnameRaw); + const refRaw = contact.reference_client || ''; + const ref = escapeHtml(refRaw); - const html = ` - - -
-
- - - - - -
- MVA Global Fret - -
MVA GLOBAL FRET
-
Fret Aérien Paris — Antananarivo
-
+ // Construction adresse Paris (= m\xeame logique que sendWelcomeViaResend) : + // injecte la ref client soit via placeholder {{ref}}, soit en l'ajoutant + // entre parenth\xe8ses sur la 1\xe8re ligne (= pattern original "VASTA Mélissa (MVA-XXX)"). + let parisAddrRaw = env.PARIS_DEPOT_ADDRESS || ''; + if (parisAddrRaw.includes('{{ref}}')) { + parisAddrRaw = parisAddrRaw.replace(/\{\{ref\}\}/g, refRaw); + } else if (refRaw && parisAddrRaw) { + const lines = parisAddrRaw.split('\n'); + lines[0] = `${lines[0]} (${refRaw})`; + parisAddrRaw = lines.join('\n'); + } + // 1\xe8re ligne en gras (= match original `VASTA Melissa (MVA-XXX)`) + const addrLines = escapeHtml(parisAddrRaw).split('\n'); + const parisAddrHtml = addrLines.length > 1 + ? `${addrLines[0]}
${addrLines.slice(1).join('
')}` + : escapeHtml(parisAddrRaw); + + const greetingTitle = firstnameRaw + ? `Ravis de vous revoir, ${firstname} !` + : 'Ravis de vous revoir !'; + + const html = `
+
+
+
MVA
MVA GLOBAL FRET
Fret Aerien Paris - Antananarivo
-
-

Bonjour ${firstname || 'cher client'},

-

- Votre adresse email est déjà enregistrée chez MVA Global Fret. - Pas besoin de vous ré-inscrire — votre compte est actif. -

- ${refBlock} -

- Utilisez ce numéro pour étiqueter vos colis et les rendre traçables tout au long du transport Paris → Antananarivo. -

-

- Pour toute question, n'hésitez pas à nous contacter : -

-
    -
  • mvaglobalfret@gmail.com
  • -
  • +33 7 80 97 08 25 (France)
  • -
  • +261 38 49 737 51 (Madagascar)
  • +
    +

    ${greetingTitle}

    +

    Nous avons bien recu votre nouvelle tentative d'inscription. Pas d'inquietude : vous etes deja client chez MVA Global Fret !

    +

    Voici un rappel de votre numero de reference client :

    +
    +

    VOTRE NUMERO DE REFERENCE CLIENT

    +

    ${ref}

    +

    Conservez ce numero precieusement.

    +
    +

    L'adresse a Paris pour l'envoi de vos colis est :

    +
    + ${parisAddrHtml} +
    +
    +

    IMPORTANT : Cette adresse ne doit etre changee sous aucun pretexte. Toute modification empecherait la bonne transmission de votre colis a notre depot a Paris.

    +
    +

    Pour toute question, n'hesitez pas a nous contacter :

    + -

    - À très bientôt pour votre prochain envoi,
    - L'équipe MVA Global Fret -

    +

    A tres bientot pour votre prochain envoi,
    L'equipe MVA Global Fret

    -
    - © 2026 MVA Global Fret — Antananarivo 101, Madagascar +
    + (c) 2026 MVA Global Fret - Antananarivo 101, Madagascar
    - -`; +
`; + // Subject : reprend strictement le sujet original "Ravis de vous revoir, [firstname] !" + // (= en cas de firstname vide, fallback sans virgule). + const subjectFirstname = firstnameRaw.replace(/[\r\n]/g, '').trim(); return resendSend(env, { to: contact.email, - subject: ref - ? `Vous êtes déjà inscrit chez MVA Global Fret — Référence ${contact.reference_client}` - : 'Vous êtes déjà inscrit chez MVA Global Fret', + subject: subjectFirstname + ? `Ravis de vous revoir, ${subjectFirstname} !` + : 'Ravis de vous revoir !', html, }); }