feat: email de bienvenue automatique via EmailJS
- Ajout du SDK EmailJS (CDN) dans contact.html - Initialisation EmailJS avec la clé publique dans form-handler.js - Nouvelle fonction sendWelcomeEmail() : envoie au client son prénom, numéro de référence et l'adresse de dépôt Paris (AEIC Forwarding, Orly) - Appel automatique dans showSuccess() après inscription réussie Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
7ea43c3b72
commit
168a26ba32
@ -280,6 +280,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</footer>
|
</footer>
|
||||||
|
|
||||||
|
<script src="https://cdn.jsdelivr.net/npm/@emailjs/browser@4/dist/email.min.js"></script>
|
||||||
<script src="js/translations.js"></script>
|
<script src="js/translations.js"></script>
|
||||||
<script src="js/main.js"></script>
|
<script src="js/main.js"></script>
|
||||||
<script src="js/form-handler.js"></script>
|
<script src="js/form-handler.js"></script>
|
||||||
|
|||||||
@ -8,6 +8,16 @@ const HUBSPOT_PORTAL_ID = '148163754';
|
|||||||
const HUBSPOT_FORM_GUID = '1d9b75c9-8b60-4966-aa18-4bf503452e9a';
|
const HUBSPOT_FORM_GUID = '1d9b75c9-8b60-4966-aa18-4bf503452e9a';
|
||||||
const FORMSPREE_ID = 'mojrvokp';
|
const FORMSPREE_ID = 'mojrvokp';
|
||||||
|
|
||||||
|
// ── EMAILJS (email de bienvenue au client) ────────────────────────────────────
|
||||||
|
const EMAILJS_PUBLIC_KEY = '8KUlaQ7BDVlbkZRyP';
|
||||||
|
const EMAILJS_SERVICE_ID = 'service_o1yv09o';
|
||||||
|
const EMAILJS_TEMPLATE_ID = 'yx7jdwi';
|
||||||
|
|
||||||
|
// Initialisation EmailJS (une seule fois au chargement)
|
||||||
|
if (typeof emailjs !== 'undefined') {
|
||||||
|
emailjs.init({ publicKey: EMAILJS_PUBLIC_KEY });
|
||||||
|
}
|
||||||
|
|
||||||
// ── PROXY CLOUDFLARE WORKER ───────────────────────────────────────────────────
|
// ── PROXY CLOUDFLARE WORKER ───────────────────────────────────────────────────
|
||||||
// URL du Worker qui proxifie l'API HubSpot CRM (contourne le CORS).
|
// URL du Worker qui proxifie l'API HubSpot CRM (contourne le CORS).
|
||||||
// Après déploiement du Worker (voir cloudflare-worker/hubspot-proxy.js),
|
// Après déploiement du Worker (voir cloudflare-worker/hubspot-proxy.js),
|
||||||
@ -94,7 +104,7 @@ function setupContactForm(form) {
|
|||||||
setLoading(false);
|
setLoading(false);
|
||||||
|
|
||||||
if (hubspotOk || formspreeOk) {
|
if (hubspotOk || formspreeOk) {
|
||||||
showSuccess(refNumber);
|
showSuccess(refNumber, data);
|
||||||
} else {
|
} else {
|
||||||
showError();
|
showError();
|
||||||
}
|
}
|
||||||
@ -248,7 +258,7 @@ function setLoading(isLoading) {
|
|||||||
form?.classList.toggle('form-loading', isLoading);
|
form?.classList.toggle('form-loading', isLoading);
|
||||||
}
|
}
|
||||||
|
|
||||||
function showSuccess(refNumber) {
|
function showSuccess(refNumber, clientData) {
|
||||||
const successEl = document.getElementById('formSuccess');
|
const successEl = document.getElementById('formSuccess');
|
||||||
const form = document.getElementById('contactForm');
|
const form = document.getElementById('contactForm');
|
||||||
const refDisplay = document.getElementById('refNumberDisplay');
|
const refDisplay = document.getElementById('refNumberDisplay');
|
||||||
@ -258,6 +268,24 @@ function showSuccess(refNumber) {
|
|||||||
successEl.scrollIntoView({ behavior: 'smooth', block: 'center' });
|
successEl.scrollIntoView({ behavior: 'smooth', block: 'center' });
|
||||||
}
|
}
|
||||||
if (form) form.style.display = 'none';
|
if (form) form.style.display = 'none';
|
||||||
|
|
||||||
|
// Envoi de l'email de bienvenue au client (sans bloquer l'affichage)
|
||||||
|
if (clientData) sendWelcomeEmail(clientData);
|
||||||
|
}
|
||||||
|
|
||||||
|
// ── EMAIL DE BIENVENUE ────────────────────────────────────────────────────────
|
||||||
|
async function sendWelcomeEmail(data) {
|
||||||
|
if (typeof emailjs === 'undefined') return;
|
||||||
|
try {
|
||||||
|
await emailjs.send(EMAILJS_SERVICE_ID, EMAILJS_TEMPLATE_ID, {
|
||||||
|
firstname: data.firstname,
|
||||||
|
email: data.email,
|
||||||
|
reference_client: data.reference_client,
|
||||||
|
});
|
||||||
|
} catch (err) {
|
||||||
|
// L'email de bienvenue est un bonus — on ne bloque pas l'inscription si ça échoue
|
||||||
|
console.warn('EmailJS welcome email failed:', err);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Affiche le message "déjà client" — ne modifie AUCUNE donnée HubSpot
|
// Affiche le message "déjà client" — ne modifie AUCUNE donnée HubSpot
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user