Configurer Brevo
Cette procédure permet d’activer les emails transactionnels envoyés par
Randevou après une réservation. Avec MAIL_PROVIDER=brevo, le backend appelle
l’API Brevo depuis /v3/smtp/email.
Pour le fonctionnement actuel de Randevou, il faut surtout :
- un compte Brevo,
- un expéditeur vérifié,
- une clé API,
- éventuellement un ou deux modèles transactionnels.
Les listes et les formulaires Brevo sont optionnels dans cette version : Randevou n’en a pas besoin pour envoyer ses emails de réservation.
1. Créer ou ouvrir le compte Brevo
- Ouvre Brevo .
- Crée un compte ou connecte-toi.
- Vérifie l’adresse email du compte si Brevo te le demande.
2. Ajouter et vérifier l’expéditeur
Randevou envoie les emails avec MAIL_FROM_EMAIL. Cette adresse doit être
acceptée par Brevo.
- Ouvre la page des expéditeurs .
- Clique sur Add a new sender.
- Saisis un nom d’expéditeur, par exemple
Randevou. - Saisis l’adresse d’envoi, par exemple
no-reply@ton-domaine.fr. - Valide l’adresse si Brevo demande une vérification email.
Pour une meilleure délivrabilité, Brevo recommande aussi d’authentifier le domaine d’envoi. Ce n’est pas strictement obligatoire pour un premier test technique, mais c’est fortement conseillé avant un usage réel.
3. Créer la clé API
Randevou utilise la clé API HTTP Brevo, pas le mot de passe SMTP classique.
- Ouvre SMTP & API .
- Dans la section API keys, clique sur Generate a new API key.
- Donne un nom clair, par exemple
randevou-local. - Copie la clé générée.
Brevo ne la réaffiche pas toujours complètement ensuite. Garde-la dans
.env uniquement côté backend.
4. Créer les modèles transactionnels
Cette étape est optionnelle, mais utile si tu veux envoyer :
- un email de confirmation au visiteur,
- un email de notification interne à l’admin.
- Ouvre Transactional templates .
- Crée un modèle pour le visiteur.
- Crée un modèle pour l’admin si tu veux une notification séparée.
- Note l’ID numérique de chaque modèle.
Dans cette version, le code transmet les variables suivantes aux templates :
bookingIdstartendnameemailphonemessage
Si tu ne configures aucun template, Randevou enverra seulement un email simple à l’admin avec un HTML généré côté backend.
5. Listes de contacts : utile ou pas ?
Pour Randevou aujourd’hui : non, ce n’est pas nécessaire.
Le backend appelle l’API transactionnelle de Brevo directement et n’ajoute pas les visiteurs dans une liste Brevo. Tu peux donc laisser cette partie de côté pour le test de réservation.
Si tu veux ensuite exploiter Brevo comme mini CRM ou préparer des campagnes :
- Ouvre CRM > Contacts > Listes .
- Crée une liste, par exemple
Rendez-vous Randevou. - Ajoute les contacts manuellement ou via une future automatisation.
Dans l’état actuel du projet, cette liste ne sera pas alimentée automatiquement.
6. Formulaires Brevo : utile ou pas ?
Pour Randevou aujourd’hui : non, ce n’est pas nécessaire.
Le formulaire utilisé par le visiteur est celui du widget Randevou, pas un formulaire Brevo embarqué. Tu n’as donc rien à créer côté Brevo pour que la prise de rendez-vous fonctionne.
Les formulaires Brevo deviennent utiles seulement si tu veux en plus :
- collecter des leads marketing,
- ajouter des contacts dans une liste Brevo,
- déclencher des automatisations marketing en dehors de la réservation.
7. Remplir .env
Les variables utiles côté Brevo sont :
MAIL_PROVIDER=brevo
MAIL_FROM_EMAIL=no-reply@ton-domaine.fr
MAIL_FROM_NAME=Randevou
MAIL_ADMIN_EMAIL=admin@ton-domaine.fr
BREVO_API_KEY=xkeysib-xxxxxxxxxxxxxxxx
BREVO_SENDER_EMAIL=
BREVO_ADMIN_EMAIL=
BREVO_TEMPLATE_CONFIRMATION_ID=
BREVO_TEMPLATE_ADMIN_ID=
Utilisation recommandée :
MAIL_PROVIDER:brevoMAIL_FROM_EMAIL: une adresse vérifiée dans BrevoMAIL_ADMIN_EMAIL: l’adresse qui reçoit les notifications internesBREVO_API_KEY: ta vraie clé API BrevoBREVO_TEMPLATE_CONFIRMATION_ID: optionnelBREVO_TEMPLATE_ADMIN_ID: optionnel
Si tu laisses les deux IDs de templates vides :
- Randevou envoie un email HTML local à l’admin,
- Randevou envoie aussi un email HTML local au visiteur.
Les anciennes variables BREVO_SENDER_EMAIL et BREVO_ADMIN_EMAIL restent
acceptées comme fallback, mais les variables communes MAIL_FROM_EMAIL et
MAIL_ADMIN_EMAIL sont préférées.
8. Redémarrer l’API
Après mise à jour de .env et apps/api/.env :
npm run dev:api
Le test le plus simple consiste ensuite à faire une réservation depuis :
Si Brevo est bien configuré :
- l’événement Google Calendar est créé,
- l’API renvoie un succès,
- l’email admin part,
- l’email visiteur part aussi, avec le template Brevo si configuré ou le template HTML local Randevou sinon.
9. Symptômes fréquents
Si la réservation fonctionne mais que l’email ne part pas :
401Brevo : clé API invalide ou absente400Brevo : sender non vérifié, template invalide, ou payload refusé- succès de réservation mais pas d’email : c’est le comportement prévu si Google Calendar a réussi mais Brevo a échoué
Dans cette version, une erreur Brevo après création de l’événement n’annule pas le rendez-vous.