Guide des connecteurs Brevo : quatre façons de relier Brevo à votre stack

Comment fonctionnent vraiment les connecteurs Brevo : plugins natifs, iPaaS, couche d’intégration ou API directe. Choisissez le bon et survivez aux pannes de synchronisation en production.

Brevo connector
Guide des connecteurs Brevo?

Cherchez « Brevo connector » et vous tombez sur un mélange dispersé de plugins de marketplace, d’applications d’automation tierces et de modules communautaires. C’est parce que « connecteur » ne désigne pas une seule chose. Le terme recouvre une catégorie qui contient quatre choix techniques réellement différents, chacun avec son mode de défaillance et son responsable le jour où quelque chose casse.

Ce guide définit ce qu’est un connecteur, présente honnêtement les quatre approches, puis consacre l’essentiel de sa longueur à la partie que presque aucun article ne traite : ce qui se passe mal une fois le connecteur en production, chargé de trafic réel.

Ce qu’est réellement un connecteur Brevo

Retirez l’habillage marketing et chaque connecteur Brevo se ramène aux trois mêmes composants.

Le transport. La façon dont les données circulent physiquement. En pratique, cela signifie des appels à l’API REST de Brevo dans un sens, et les webhooks Brevo dans l’autre. Brevo sépare les webhooks en deux types, marketing et transactionnel, configurables depuis le tableau de bord ou via les endpoints de création et de mise à jour de webhook, avec un plafond de 40 webhooks par compte, les deux types confondus.

La correspondance. La façon dont un champ du système source devient un champ dans Brevo. Un client Shopify possède first_name ; un contact Brevo possède l’attribut que vous avez défini, et Brevo ignore silencieusement les attributs qui n’existent pas dans votre compte. La correspondance est l’endroit où la plupart des connecteurs pourrissent en silence.

L’état. Ce que le connecteur retient d’une exécution à l’autre : quels enregistrements il a déjà envoyés, lesquels ont échoué, quelle position de curseur il a atteinte. Un connecteur sans état ne peut pas rattraper l’historique, ne peut pas rejouer un échec et ne peut pas vous dire si un contact est manquant ou simplement en retard.

Jugez tout connecteur à sa façon de traiter ces trois volets. La plupart des pages marketing ne décrivent que le premier.

Le problème de l’identifiant est sous-jacent à tout le reste

L’endpoint de création de contact de Brevo exige au moins un identifiant : email, SMS ou ext_id, qui est votre propre identifiant externe. Par défaut, un identifiant en conflit renvoie une erreur 4xx. Passer updateEnabled à true transforme l’appel en upsert, et forceMerge fusionne les doublons en conservant l’enregistrement dont l’horodatage est le plus récent et en supprimant l’autre.

Cette seule décision de conception, celle de l’identifiant que votre connecteur traite comme principal, détermine si vous obtenez une base de contacts propre ou deux exemplaires de tout. Tranchez-la avant de choisir un outil.

Les quatre façons de connecter Brevo

Option 1 : plugins natifs et applications de la marketplace

Brevo exploite une marketplace d’applications qu’il présente comme reliant Brevo à « 150+ digital tools like Shopify, WordPress, Stripe, Zapier and more ». Ses applications maison mises en avant sont WordPress, WooCommerce, Shopify et BigCommerce, et la marketplace se filtre par catégorie et par éditeur de l’application, ce qui compte plus qu’il n’y paraît : une application développée par Brevo et une application développée par un partenaire n’offrent pas du tout le même parcours de support.

Points forts. Le chemin le plus rapide vers quelque chose qui fonctionne. L’authentification, la correspondance de champs de base et les événements courants sont précâblés. Quand Brevo modifie son API, l’éditeur met le plugin à jour.

Points faibles. Vous héritez de la correspondance choisie par l’éditeur. Les attributs personnalisés, les objets inhabituels et la logique propre à votre boutique en sortent généralement. Le débogage se limite à ce que le plugin journalise, c’est-à-dire souvent rien d’utile. Et quand une application développée par un partenaire est abandonnée, vous l’apprenez pendant une panne.

À utiliser quand vous avez une plateforme standard unique, des champs standard et aucune obligation de prouver ce qui a été synchronisé.

Option 2 : outils iPaaS généralistes

Zapier, Make et Pabbly Connect exposent tous Brevo. Brevo intègre Zapier directement sur sa page d’intégrations, sous le titre « Connect Brevo with your apps, automate your work via Zapier ». Make publie une application Brevo dont les modules couvrent la surveillance, la création, la mise à jour, le listage et la suppression de contacts, listes, dossiers, campagnes, événements, e-mails et SMS. Pabbly Connect cite Brevo parmi les applications prises en charge.

Points forts. Réellement excellents pour la longue traîne. Un éditeur de formulaires dont personne n’a jamais entendu parler, un outil interne ponctuel, une étape de validation qui exige un humain au milieu : l’iPaaS traite tout cela en un après-midi, et une personne non technique peut maintenir le scénario.

Points faibles. La tarification à la tâche pénalise le volume. La plupart des scénarios traitent un enregistrement à la fois, si bien qu’une reprise de 40 000 contacts est soit impossible, soit hors de prix. La gestion des erreurs se résume généralement à « l’exécution a échoué, voici un e-mail », sans rejeu automatique ni moyen de savoir lesquels des enregistrements de mardi dernier ne sont jamais arrivés. L’ordre n’est pas garanti : une mise à jour peut donc doubler la création dont elle dépend.

À utiliser quand le volume est faible, que le flux est unidirectionnel et qu’un enregistrement perdu est agaçant plutôt que coûteux. Notre comparatif des meilleures plateformes d’intégration confronte directement les options de cette catégorie.

Option 3 : une couche d’intégration dédiée

Une couche qui s’intercale entre vos systèmes et Brevo, qui possède la correspondance et l’état de synchronisation, et qui est conçue pour ce travail précis plutôt que pour relier n’importe quelle application à n’importe quelle autre.

Tajo est l’une de ces options. Il se présente comme une équipe marketing IA pour Brevo, qui connecte les données commerce prises en charge à Brevo, construit des segments clients fondés sur des règles et prépare des campagnes e-mail et SMS encadrées. Concrètement, l’arbitrage de toute couche dédiée est le même : vous acceptez un modèle affirmé des contacts, des événements et des campagnes, et vous obtenez en échange des reprises historiques, des relances et une visibilité enregistrement par enregistrement que ni un plugin ni un iPaaS générique ne vous donnent. Notre guide de l’intégration Brevo déroule la configuration de bout en bout.

Points forts. Les opérations en masse sont traitées comme un citoyen de première classe. Les échecs sont visibles enregistrement par enregistrement et rejouables. La correspondance est explicite et versionnée plutôt qu’enfouie dans un plugin.

Points faibles. Un fournisseur de plus sur le chemin, et une évaluation de plus à mener. Si votre besoin se limite à un formulaire WordPress qui alimente une liste Brevo, c’est une machinerie lourde pour un petit travail. Soyez honnête sur ce point : un plugin natif est alors le meilleur choix.

À utiliser quand le volume de données commerce est réel, que vous devez prouver ce qui a été synchronisé et que vous voulez des segments et une logique de campagne construits sur le même modèle de données que celui produit par la synchronisation.

Option 4 : intégration directe à l’API

Votre propre code face à l’API Brevo.

Points forts. Aucun plafond. Vous contrôlez exactement la résolution d’identité, le regroupement par lots, la politique de relance et la journalisation d’audit. Pour un entrepôt de données qui pousse des audiences modélisées vers Brevo, c’est souvent la seule approche qui convienne.

Points faibles. Vous en êtes propriétaire pour toujours, y compris des parties que personne ne chiffre : relance avec temporisation croissante, stockage des messages morts, alertes sur la dérive de schéma, rotation des identifiants et procédure d’exploitation. Les équipes budgètent le chemin nominal, puis dépensent le triple sur tout le reste.

À utiliser quand la logique vous appartient réellement et que le volume le justifie. Partez de notre guide de l’API Brevo pour le détail endpoint par endpoint.

Le cadre de décision

Six questions tranchent. Répondez-y avant de regarder le moindre outil.

QuestionPlugin natifiPaaSCouche d’intégrationAPI sur mesure
Volume de donnéesCe que l’éditeur prend en chargeFaible, facturé à la tâcheÉlevé, conçu pour les lotsIllimité
Sens de synchronisationEn général entrant, à sens uniqueUn sens par scénarioUn sens, avec propriétaires définisTout ce que vous construisez
Besoin de latenceAu choix de l’éditeurMinutesQuasi temps réelÀ votre choix
Complexité de correspondanceChamps figésSimple, par scénarioExplicite et versionnéeArbitraire
Gestion des erreursSouvent invisibleAlerte en cas d’échecRelance et rejeu par enregistrementCe que vous construisez
Qui répareL’éditeur du pluginVous, dans un éditeur visuelLe fournisseur, avec votre visibilitéVous, à 2 heures du matin

La dernière ligne est celle que l’on saute et que l’on regrette ensuite. Un connecteur est un engagement opérationnel de long terme, pas une tâche de configuration : choisissez donc l’option dont vous pouvez assumer le mode de défaillance.

Les schémas de synchronisation qui décident du résultat

Sens unique contre bidirectionnel

La synchronisation à sens unique a un propriétaire par champ et se révèle ennuyeuse au meilleur sens du terme. La synchronisation bidirectionnelle exige une suppression de boucles, une résolution de conflits et une règle de départage, et Brevo émettra volontiers un webhook contact_updated pour une modification que votre propre connecteur vient d’écrire.

Ne construisez pas une synchronisation bidirectionnelle parce qu’elle paraît plus puissante. Construisez plutôt un tableau de propriété des champs : votre plateforme e-commerce possède les données de commande, votre CRM possède l’étape du cycle de vie, Brevo possède le consentement et l’engagement. Synchronisez chaque champ dans un seul sens. Si vous avez réellement besoin d’un mouvement bidirectionnel sur un champ, ajoutez un marqueur d’origine à chaque écriture et ignorez les événements entrants qui portent votre propre marqueur.

Interrogation périodique contre webhooks

Les webhooks sont moins coûteux et plus rapides, mais pas garantis. Les événements de webhook marketing incluent delivered, opened, click, hard_bounce, soft_bounce, spam, unsubscribe, contact_updated, contact_deleted et list_addition. Les webhooks transactionnels couvrent le cycle d’envoi, de sent et delivered jusqu’à deferred, blocked, complaint et error.

Deux points à anticiper. D’abord, la documentation des webhooks de Brevo met l’accent sur la mise en liste d’autorisation des adresses IP publiées par Brevo plutôt que sur une signature de charge utile : traitez donc l’endpoint comme non authentifié par défaut et confirmez tout ce qui porte à conséquence en relisant l’enregistrement depuis l’API. Ensuite, aucun système de webhooks ne livre tout indéfiniment : associez donc les webhooks à une interrogation de réconciliation à faible fréquence, qui rattrape ce qui est passé au travers.

Traitement par lots contre temps réel

Le temps réel compte pour les déclencheurs, ce qui explique que le panier abandonné et les flux de bienvenue méritent des appels d’événement. Il ne compte pas pour un rafraîchissement nocturne d’attributs.

Adaptez le schéma aux limites de débit. Les endpoints de contacts de Brevo et son endpoint POST /v3/events autorisent 10 requêtes par seconde sur les comptes standard, l’e-mail transactionnel autorise 1 000 requêtes par seconde, et tous les autres endpoints sont plafonnés à 100 requêtes par heure. Les comptes Professional et Enterprise doublent à peu près le premier jeu de limites. Ce plafond de 100 par heure sur « tous les autres endpoints » est la surprise la plus fréquente : un connecteur qui lit les listes ou les dossiers à chaque enregistrement l’épuisera avant midi et commencera à collectionner les réponses HTTP 429.

Pour les traitements en masse, utilisez l’endpoint d’import plutôt qu’une boucle. Il accepte une URL de fichier, un corps de fichier ou un corps JSON jusqu’à 10 Mo, avec une limite sûre de 8 Mo, s’exécute de façon asynchrone, renvoie un processId et appelle une URL de notification une fois terminé.

Idempotence et identité

L’endpoint d’événements de Brevo prend un event_name, au moins un identifiant, des propriétés de contact facultatives et des propriétés d’événement facultatives jusqu’à 50 Ko, et renvoie 204 en cas de succès. Aucune clé d’idempotence n’est documentée : un appel relancé peut donc créer un événement en double.

Construisez l’idempotence vous-même. Dérivez une clé déterministe depuis l’enregistrement source et sa version, mémorisez les clés déjà envoyées et vérifiez avant d’envoyer. Pour les contacts, choisissez un identifiant principal unique, alimentez ext_id avec l’identifiant de votre système source et utilisez updateEnabled pour les upserts, afin qu’une relance mette à jour au lieu d’échouer.

Concevoir une resynchronisation digne de confiance

Vous aurez besoin de resynchroniser. Prévoyez-le dès le premier jour.

  • Rendez chaque écriture idempotente, pour qu’un rejeu soit sûr plutôt que destructeur.
  • Conservez un curseur par type d’objet, et stockez-le en dehors de la mémoire du connecteur.
  • Testez la resynchronisation sur une liste Brevo jetable avant la vraie.
  • Laissez emptyContactsAttributes à sa valeur par défaut false pendant les imports. Le passer à true indique à Brevo que les champs vides doivent effacer les valeurs existantes, ce qui transforme un export partiel en perte de données définitive.
  • Journalisez un résultat par enregistrement. « Le traitement a réussi » n’est pas un résultat quand 400 enregistrements sur 40 000 ont échoué à la validation.

Ce qui casse vraiment en production

Dérive de la correspondance de champs

Quelqu’un renomme un metafield Shopify ou ajoute un champ obligatoire au tunnel de paiement. Le connecteur continue de tourner et continue d’annoncer un succès, parce que Brevo ignore les attributs qu’il ne reconnaît pas. Des semaines plus tard, un segment est discrètement à moitié vide.

Parade. Prenez un instantané du schéma source et de la liste des attributs Brevo, comparez-les à intervalles réguliers et alertez sur toute différence. Alertez aussi sur une baisse du taux de valeurs non nulles par attribut, pas seulement sur les erreurs.

Contacts en double

La cause classique tient à deux connecteurs et deux identifiants : le plugin de la boutique crée les contacts par e-mail, un flux SMS les crée par numéro de téléphone, et un seul être humain devient deux enregistrements à l’historique d’engagement scindé.

Parade. Un identifiant principal unique, appliqué partout. Alimentez ext_id depuis votre système source pour disposer en permanence d’une clé de jointure stable. Utilisez forceMerge comme étape de nettoyage délibérée, en sachant qu’elle supprime l’enregistrement le plus ancien, et non comme réglage de routine.

Boucles de synchronisation

Le connecteur A écrit dans Brevo, Brevo émet contact_updated, le connecteur B réécrit dans la source, la source émet son propre événement de modification, et le cycle recommence. Les limites de débit révèlent généralement le problème avant que vous ne le remarquiez vous-même.

Parade. Des marqueurs d’origine sur chaque écriture, plus un compteur de modifications par enregistrement qui déclenche une alarme au-delà d’un seuil dans une fenêtre de temps donnée.

Limites de débit et échecs partiels

Dépasser une limite renvoie un 429. Le cas dangereux n’est pas le 429 lui-même : c’est un lot où certains enregistrements ont réussi et d’autres non, et où le connecteur considère le lot entier comme en échec et le rejoue, ou le considère comme réussi et perd les échecs.

Parade. Relance avec temporisation exponentielle et gigue, respect de toute indication de délai, et suivi des résultats par enregistrement plutôt que par lot. Envoyez les échecs vers un stockage de messages morts avec la charge utile complète, pour pouvoir les rejouer après correction.

Perte de données silencieuse

Les pires défaillances sont les plus discrètes : un import avec une colonne vide et emptyContactsAttributes à true, un attribut qui n’existe plus et dont les valeurs s’évaporent, un endpoint de webhook qui renvoie 500 pendant une heure sans que personne ne regarde.

Parade. Surveillez des compteurs, pas seulement des erreurs. Contacts créés par jour, événements reçus par heure, taux de remplissage des attributs. Une métrique qui tombe à zéro est l’alerte la plus claire que vous obtiendrez jamais.

Deux systèmes qui se contredisent

Un jour, votre source annonce 18 400 contacts actifs et Brevo en annonce 18 062. Sans réconciliation, vous ne pouvez pas dire qui a raison.

Parade. Lancez une réconciliation planifiée qui compare les compteurs et un échantillon d’enregistrements par identifiant, et produisez un rapport d’écarts. Corrigez les causes plutôt que de réimporter en boucle, car un réimport masque l’écart sans l’expliquer.

Les connexions courantes en pratique

E-commerce. Shopify et WooCommerce sont les deux poids lourds, et tous deux disposent d’applications maison dans la marketplace de Brevo. Le chemin natif gère bien les contacts et les données de commande de base. La logique de ligne de commande personnalisée, l’état d’abonnement et les paliers de fidélité n’y entrent généralement pas, et c’est là qu’une couche ou du code sur mesure justifie sa place. Notre guide de l’intégration Brevo et Shopify traite en profondeur ce couple précis.

CMS. WordPress est la connexion Brevo la plus fréquente hors e-commerce, typiquement pour les formulaires, l’inscription à la newsletter et l’e-mail transactionnel via le SMTP de Brevo. Le chemin du plugin est presque toujours le bon ici, puisque le modèle de données est simple et le volume faible.

CRM et entrepôt de données. C’est là que les connecteurs deviennent difficiles, parce que les deux côtés croient posséder le client. Utilisez un tableau de propriété des champs, synchronisez chaque champ dans un seul sens, et envisagez de pousser des audiences modélisées depuis l’entrepôt vers des listes Brevo plutôt que de synchroniser des enregistrements bruts. Voyez notre guide du CRM Brevo pour comprendre comment les objets CRM de Brevo s’inscrivent dans ce tableau.

Formulaires. Le cas d’usage iPaaS idéal : faible volume, un seul sens, tolérant à la latence. Ne le sur-ingéniez pas.

Réussir son choix

Le choix d’un connecteur est surtout une question d’exploitation, pas de fonctionnalités. Toutes les options savent déplacer un contact de A vers B. Elles diffèrent par ce qui se passe le jour où la correspondance dérive, où la limite de débit se déclenche, ou où 400 enregistrements échouent à la validation à l’intérieur d’un import de 40 000.

Procédez dans cet ordre.

  1. Écrivez quel système possède quel champ. Tout le reste en découle.
  2. Choisissez un identifiant de contact principal unique et alimentez ext_id depuis votre système source.
  3. Choisissez l’option la plus légère qui survive à votre volume et à votre exigence de gestion des erreurs, pas la plus puissante.
  4. Construisez la resynchronisation et le rapport de réconciliation avant la mise en production, pas après le premier incident.
  5. Surveillez les compteurs et les taux de remplissage, car la perte silencieuse est plus fréquente que la panne bruyante.

Faites ces cinq choses et n’importe laquelle des quatre approches peut fonctionner. Sautez-les et aucune ne fonctionnera.

Articles liés

Questions fréquemment posées

Qu’est-ce qu’un connecteur Brevo ?
Un connecteur Brevo est tout ce qui déplace des données entre Brevo et un autre système. Il comporte trois parties : un transport (appels API ou webhooks), une correspondance de champs et une mémoire de l’état de synchronisation. Les plugins, les scénarios iPaaS, les couches d’intégration et le code sur mesure ne sont que des emballages différents de ces trois parties.
Brevo propose-t-il des connecteurs officiels ?
Oui. Brevo exploite une marketplace d’applications qu’il présente comme reliant Brevo à plus de 150 outils numériques, et il met en avant ses applications maison pour WordPress, WooCommerce, Shopify et BigCommerce. Tout ce qui ne figure pas dans la marketplace se connecte via l’API REST et les webhooks.
Faut-il utiliser Zapier ou une intégration Brevo sur mesure ?
Utilisez Zapier ou un iPaaS équivalent quand le volume est faible, que le flux est unidirectionnel et qu’un enregistrement perdu reste supportable. Passez à une couche d’intégration ou à du code sur mesure dès que vous avez besoin de reprises historiques, de rejeu des enregistrements en échec, de synchronisation bidirectionnelle ou de traçabilité enregistrement par enregistrement.
Pourquoi des contacts en double apparaissent-ils sans cesse dans Brevo ?
Presque toujours parce que deux connecteurs utilisent des identifiants différents. Brevo accepte email, SMS ou ext_id comme identifiants : un contact créé par e-mail dans un flux et par téléphone dans un autre devient donc deux enregistrements. Choisissez un identifiant principal unique, alimentez ext_id depuis votre système source et utilisez forceMerge délibérément plutôt que par accident.
Comment fonctionnent les webhooks Brevo ?
Brevo prend en charge des webhooks marketing et transactionnels, configurables dans le tableau de bord ou via les endpoints de création et de mise à jour de webhook. Les événements marketing incluent delivered, opened, click, hard_bounce, unsubscribe, contact_updated, contact_deleted et list_addition. Un compte est limité à 40 webhooks, les deux types confondus.
Quelles sont les limites de débit de l’API Brevo ?
Sur les comptes standard, les endpoints de contacts et l’endpoint d’événements autorisent 10 requêtes par seconde, l’e-mail transactionnel autorise 1 000 requêtes par seconde, et tout le reste est plafonné à 100 requêtes par heure. Les plans Professional et Enterprise bénéficient de plafonds plus élevés. Dépasser une limite renvoie un HTTP 429.
Brevo peut-il se synchroniser dans les deux sens avec mon CRM ?
Brevo accepte les écritures et émet des webhooks contact_updated : la synchronisation bidirectionnelle est donc techniquement possible. Elle en vaut rarement la peine. Désignez un système propriétaire pour chaque champ et synchronisez le reste dans un seul sens, sinon il vous faut une suppression de boucles et des règles de conflit que la plupart des équipes ne construisent jamais.
Comment resynchroniser des données dans Brevo sans rien casser ?
Utilisez l’endpoint d’import asynchrone, qui accepte une URL de fichier ou un corps JSON jusqu’à 10 Mo et renvoie un processId. Laissez emptyContactsAttributes à sa valeur par défaut false pour que les colonnes vides n’effacent pas les valeurs existantes, et lancez la resynchronisation sur une liste de test avant la liste réelle.

Demandez un accès anticipé

Indiquez votre prénom ainsi qu’une adresse e-mail ou un numéro de téléphone. Nous vous recontacterons pour vous communiquer les modalités d’accès à Tajo.

détection automatique
Obtenir Brevo