Module BrevoSync
BrevoSync est un module externe de synchronisation bidirectionnelle des contacts entre Dolibarr et Brevo (ex-Sendinblue), avec remontée dans Dolibarr des retours de délivrabilité. (English: BrevoSync is an external module that syncs Dolibarr contacts and companies to Brevo from Dolibarr categories, then feeds hard bounces, spam complaints and unsubscribes back into Dolibarr.)
Présentation
BrevoSync envoie vers Brevo les contacts et les tiers désignés par vos catégories Dolibarr, et réinjecte dans Dolibarr ce que Brevo constate à l'envoi : rebonds définitifs, plaintes pour spam et désabonnements.
Le partage des rôles est explicite : Dolibarr reste maître des données commerciales, Brevo reste maître des campagnes et de la délivrabilité. Le module ne fait circuler que ce qui est nécessaire et ne lève jamais un désabonnement.
Fonctionnalités
De Dolibarr vers Brevo
- Synchronisation des contacts et des tiers, avec l'adresse e-mail comme pivot et des règles de dédoublonnage déterministes documentées : plusieurs fiches Dolibarr portant la même adresse sont réduites à une seule description, ce qui évite mécaniquement les doublons côté Brevo
- Correspondance des attributs configurable (prénom, nom, société, téléphone) vers les attributs de votre propre compte Brevo, rechargés directement depuis l'API
- Correspondance catégorie Dolibarr vers liste Brevo : seules les listes déclarées dans le tableau de correspondance sont pilotées, une liste créée à la main dans Brevo n'est jamais modifiée
- Périmètre de synchronisation limitable aux membres des catégories associées, pour ne jamais créer chez Brevo une adresse qu'aucune correspondance ne désigne
- Synchronisation immédiate d'une catégorie entière sur un bouton, resynchronisation complète forcée, purge des lignes traitées
De Brevo vers Dolibarr
- Réception des rebonds définitifs (hard bounce), plaintes pour spam et désabonnements par webhook signé au moyen d'un secret partagé
- Alerte visible directement sur la fiche tiers et sur la fiche contact concernée, pour que le commercial sache immédiatement qu'une adresse ne reçoit plus rien
- Désabonnement propre : le désabonnement remonté par Brevo est inscrit dans Dolibarr, ou réduit à une simple alerte visuelle selon le paramétrage
- Compteurs et agrégats par type de retour, avec durée de conservation des retours détaillés paramétrable
Principes de conception
- Une file d'attente, pas un balayage. Un trigger dépose les adresses concernées dans une file ; deux tâches planifiées la dépilent. Aucune synchronisation n'est déclenchée par l'affichage d'une page et la base n'est jamais parcourue intégralement
- Le désabonnement l'emporte toujours. Le module ne transmet jamais de réinscription implicite : un contact désabonné n'est jamais remis silencieusement dans une liste
- Rien n'est déclaré synchronisé sans preuve. Chaque ligne de file porte un jeton de verrouillage, un compteur de tentatives, la dernière erreur et un rejeu ; elle ne passe à l'état terminé que sur réponse positive de l'API
- Aucun fichier du cœur n'est modifié. Le module s'installe dans
htdocs/custom/et se désactive sans laisser de trace fonctionnelle
Compatibilité
- Dolibarr 21.0.0 à 24.0 — développé et testé sur 23.0.3
- PHP 7.4 à 8.4
- MySQL / MariaDB
- Prérequis : un compte Brevo avec une clé API v3 ; l'offre gratuite de Brevo suffit pour démarrer
- Licence : GPL v3 ou ultérieure — Copyright (C) 2026 Thermasse
- ID de module réservés : 493260–493269 (voir List of modules id)
Installation
- Décompresser l'archive pour obtenir un dossier unique
brevosync/ - Le copier dans
htdocs/custom/ - Activer BrevoSync dans Accueil - Configuration - Modules
- Attribuer les permissions utiles aux utilisateurs concernés : configurer, synchroniser, consulter
Configuration
- Écran Paramètres : saisir la clé API Brevo v3, qui est chiffrée avant enregistrement et n'est jamais réaffichée, puis tester la connexion et recharger les attributs Brevo
- Écran Correspondances catégories / listes : associer chaque catégorie Dolibarr à la liste Brevo correspondante
- Écran Retours d'envoi : déclarer l'URL du webhook dans Brevo pour les événements hard bounce, spam et unsubscribe, avec le secret partagé généré par le module
- Activer les quatre tâches planifiées fournies dans le module Travaux planifiés (voir la section dédiée ci-dessous)
Utilisation
- Les modifications de contacts et de tiers alimentent la file de synchronisation ; les tâches planifiées la dépilent sans intervention
- L'écran File de synchronisation affiche l'état de chaque adresse (en attente, en cours, synchronisée, à rejouer, échec permanent, sans fiche, hors périmètre) et permet une synchronisation immédiate
- L'écran Retours d'envoi affiche les retours reçus de Brevo et leurs agrégats ; les adresses en défaut sont signalées sur les fiches concernées
Tâches planifiées (cron)
Le module déclare quatre tâches planifiées dans le module natif Travaux planifiés. Elles sont créées à l'état désactivé : il faut les activer une fois la configuration terminée.
| Tâche | Fréquence | Rôle |
|---|---|---|
| BrevoSyncJob | toutes les 5 minutes | Dépile la file d'attente et pousse les contacts vers Brevo |
| BrevoSyncEventResolveJob | toutes les 15 minutes | Corrèle les retours d'envoi reçus de Brevo avec les fiches Dolibarr et propage les désinscriptions |
| BrevoSyncReconcileJob | quotidienne | Filet de sécurité : remet en file les fiches modifiées en dehors des triggers |
| BrevoSyncEventPurgeJob | quotidienne | Cumule les compteurs puis purge les retours d'envoi détaillés au-delà de la rétention configurée |
Permissions
Le module expose trois droits, chacun attribuable par utilisateur et par groupe depuis Utilisateurs et groupes - onglet Permissions. On peut ainsi confier la surveillance de la synchronisation à un commercial sans lui donner accès à la clé API ni au secret du webhook.
| Droit | Identifiant | Portée |
|---|---|---|
| Configurer la synchronisation Brevo | 49326001 | Écrans Paramètres et Correspondances catégories / listes, clé API, secret du webhook, périmètre de synchronisation |
| Déclencher une synchronisation Brevo | 49326002 | Mise en file et synchronisation immédiate, y compris la synchronisation d'une seule catégorie |
| Consulter la file et le journal de synchronisation | 49326003 | Lecture seule de la file, des retours d'envoi et des compteurs |
Liens
- Fiche Dolistore : https://www.dolistore.com/product.php?id=3391
- Périmètre, langues et délai de réponse du support : https://thermasse.fr/modules/brevosync/support/
- Support : support@thermasse.fr