Connecteur Brevo

Connecteur Brevo

Connectez votre compte Brevo à Tajo pour une gestion unifiée des contacts, une messagerie transactionnelle sur e-mail, SMS et WhatsApp, et une automatisation marketing complète.

Vue d’ensemble

PropriétéValeur
PlateformeBrevo
CatégorieMarketing
Complexité d’installationFacile
Intégration officielleOui
Données synchroniséesContacts, campagnes, messages transactionnels, événements, eCommerce
URL de base de l’APIhttps://api.brevo.com/v3

Fonctionnalités

  • Messagerie multicanale, Envoyez e-mails transactionnels, SMS et WhatsApp depuis une API unifiée
  • Gestion des contacts, Créez, mettez à jour et segmentez les contacts avec des attributs personnalisés
  • Campagnes marketing, Créez et envoyez des campagnes e-mail de manière programmatique
  • Suivi d’événements, Suivez les événements personnalisés et l’activité du site via le Brevo Tracker
  • Synchronisation eCommerce, Synchronisez produits, commandes et données de panier pour des campagnes personnalisées
  • Programmes de fidélité, Gérez abonnements de fidélité, points et données des membres
  • Prise en charge des webhooks, Notifications d’événements en temps réel pour les événements transactionnels, marketing et CRM
  • Conversations, Intégration du widget de chat en direct et gestion programmatique des messages

Prérequis

Avant de commencer, assurez-vous de disposer de :

  1. Un compte Brevo (plan Free, Starter, Business ou Enterprise)
  2. Une clé API générée depuis Brevo Settings > API Keys
  3. Un compte Tajo avec accès API
  4. Un domaine d’expédition vérifié pour l’envoi d’e-mails

Authentification

Brevo prend en charge deux méthodes d’authentification :

Authentification par clé API (recommandée)

Incluez votre clé API dans l’en-tête api-key à chaque requête. Idéale pour les intégrations directes et les communications serveur à serveur.

Terminal window
curl -X GET "https://api.brevo.com/v3/account" \
-H "api-key: YOUR_API_KEY" \
-H "Content-Type: application/json"

Authentification OAuth 2.0

Utilisez OAuth 2.0 pour les intégrations privées au sein d’une organisation nécessitant un accès délégué et des permissions spécifiques à l’utilisateur. OAuth fournit un système basé sur des jetons avec des durées de validité définies.

Disponibilité d'OAuth

OAuth n’est actuellement disponible que pour les intégrations privées au sein d’une organisation. Les intégrations OAuth ne sont pas destinées à une distribution publique ni à une publication sur une marketplace.

Configuration

Configuration de base

connectors:
brevo:
enabled: true
api_key: "${BREVO_API_KEY}"
api_version: "v3"
# Data sync options
sync:
contacts: true
campaigns: true
transactional: true
events: true
ecommerce: true
# List assignment
lists:
all_customers: 5
newsletter: 6
buyers: 7

Mappage des champs

Mappez vos champs de données vers les attributs de contact Brevo :

Mappages par défaut

Parameter Type Description
email required
string

Adresse e-mail du contact (identifiant unique)

FIRSTNAME optional
string

Attribut prénom du contact

LASTNAME optional
string

Attribut nom du contact

SMS optional
string

Numéro de téléphone pour la messagerie SMS et WhatsApp

OPT_IN optional
boolean

Statut de consentement marketing opt-in

ORDER_COUNT optional
integer

Nombre total de commandes passées

TOTAL_REVENUE optional
number

Revenu vie du contact

LOYALTY_POINTS optional
integer

Solde actuel du programme de fidélité

Mappage d’attributs personnalisés

field_mapping:
# Standard fields
email: email
first_name: FIRSTNAME
last_name: LASTNAME
phone: SMS
# Marketing fields
opt_in: OPT_IN
signup_source: SIGNUP_SOURCE
preferred_language: LANGUAGE
# eCommerce metrics
orders_count: ORDER_COUNT
total_spent: TOTAL_REVENUE
last_order_date: LAST_ORDER_DATE
# Loyalty fields
loyalty_tier: VIP_TIER
loyalty_points: LOYALTY_POINTS

Endpoints API

Endpoints principaux

MéthodeEndpointDescription
POST/v3/smtp/emailEnvoyer un e-mail transactionnel
POST/v3/transactionalSMS/sendEnvoyer un SMS transactionnel
POST/v3/whatsapp/sendMessageEnvoyer un message WhatsApp transactionnel
POST/v3/contactsCréer un contact
PUT/v3/contacts/{email}Mettre à jour un contact
GET/v3/contacts/{identifier}Récupérer les détails d’un contact
POST/v3/contacts/importImporter des contacts en masse

Endpoints eCommerce

MéthodeEndpointDescription
POST/v3/orders/statusCréer ou mettre à jour le statut d’une commande
POST/v3/productsCréer ou mettre à jour des produits
POST/v3/categoriesCréer ou mettre à jour des catégories de produits
POST/v3/eventsSuivre des événements personnalisés

Endpoints de campagne

MéthodeEndpointDescription
POST/v3/emailCampaignsCréer une campagne e-mail
POST/v3/emailCampaigns/{id}/sendNowEnvoyer une campagne immédiatement
GET/v3/emailCampaignsLister toutes les campagnes e-mail
GET/v3/smtp/statistics/eventsObtenir les statistiques d’événements e-mail

Événements

Événements transactionnels

ÉvénementDéclencheurCas d’usage
deliveredE-mail délivré en boîte de réceptionConfirmation de livraison
openedE-mail ouvert par le destinataireSuivi d’engagement
clickedLien cliqué dans l’e-mailSuivi du click-through
bouncedE-mail rejetéHygiène de liste
spamMarqué comme spamSurveillance de la conformité
unsubscribedContact désabonnéGestion des préférences

Événements eCommerce

ÉvénementDéclencheurCas d’usage
order_completedCommande passée avec succèsWorkflows post-achat
cart_updatedContenu du panier modifiéSuivi d’abandon de panier
cart_deletedPanier vidé ou expiréRécupération de panier
product_viewedPage produit visitéeAbandon de navigation

Exemples de code

Initialiser le connecteur

import { TajoClient } from '@tajo/sdk';
const tajo = new TajoClient({
apiKey: process.env.TAJO_API_KEY,
brevoApiKey: process.env.BREVO_API_KEY
});
// Connect Brevo account
await tajo.connectors.connect('brevo', {
apiKey: process.env.BREVO_API_KEY
});

Envoyer un e-mail transactionnel

// Send a transactional email via Brevo
await tajo.brevo.sendTransactionalEmail({
to: [{ email: '[email protected]', name: 'John Doe' }],
templateId: 12,
params: {
ORDER_ID: '12345',
ORDER_TOTAL: '$59.99',
DELIVERY_DATE: '2024-02-15'
}
});

Synchroniser les contacts

// Bulk import contacts to Brevo
await tajo.connectors.sync('brevo', {
type: 'full',
resources: ['contacts'],
options: {
listIds: [5, 6],
updateExisting: true,
emptyContactsAttributes: false
}
});
// Check sync status
const status = await tajo.connectors.status('brevo');
console.log(status);
// {
// connected: true,
// lastSync: '2024-01-15T10:30:00Z',
// contactsSynced: 25400,
// campaignsSent: 142,
// eventsTracked: 89320
// }

Suivre des événements personnalisés

// Track a custom event for a contact
await tajo.brevo.trackEvent({
event: 'product_purchased',
eventdata: {
id: 'txn_98765',
data: {
product_name: 'Premium Widget',
price: 49.99,
currency: 'USD'
}
}
});

Limites de débit

Brevo applique des limites de débit selon trois niveaux en fonction de votre plan :

EndpointFree/StarterProfessionalEnterprise
POST /v3/smtp/email1 000 RPS2 000 RPS6 000 RPS
POST /v3/transactionalSMS/send150 RPS200 RPS250 RPS
POST /v3/events10 RPS20 RPS60 RPS
/v3/contacts/*10 RPS20 RPS60 RPS
Tous les autres endpoints100 RPH200 RPH600 RPH

Réponse de limite de débit

Lorsque vous dépassez une limite de débit, l’API renvoie un code de statut 429 Too Many Requests. Surveillez les en-têtes de limite de débit dans les réponses pour suivre votre usage.

Dépannage

Problèmes courants

ProblèmeCauseSolution
401 UnauthorizedClé API invalideRégénérez la clé API dans Brevo Settings
Contact non crééChamp e-mail manquantAssurez-vous qu’un e-mail est fourni pour tous les contacts
E-mail non délivréDomaine d’expédition non vérifiéVérifiez le domaine dans les paramètres Brevo Senders
Webhook non reçuURL incorrecte ou erreur serveurVérifiez l’accessibilité de l’URL du webhook et les logs
SMS non envoyéFormat de téléphone invalideUtilisez le format international avec indicatif pays

Mode débogage

Activez la journalisation détaillée :

connectors:
brevo:
debug: true
log_level: verbose
log_webhooks: true

Tester la connexion

Terminal window
tajo connectors test brevo
# ✓ API connection successful
# ✓ Contacts API accessible
# ✓ Transactional email ready
# ✓ SMS sending configured
# ✓ Webhooks registered

Bonnes pratiques

  1. Utilisez la rotation des clés API, Faites tourner les clés API périodiquement pour la sécurité
  2. Implémentez la vérification des webhooks, Validez les signatures webhook avec l’authentification username/password
  3. Imports de contacts en lot, Utilisez l’import en masse pour les gros jeux de données plutôt que des appels API individuels
  4. Surveillez les limites de débit, Vérifiez les en-têtes de limite de débit pour éviter les erreurs 429
  5. Utilisez le suivi d’événements, Implémentez le Brevo Tracker pour des données complètes sur le comportement client
  6. Configurez correctement l’authentification de l’expéditeur, Configurez SPF, DKIM et DMARC pour une délivrabilité optimale

Sécurité

  • Authentification par clé API, Accès par jeton secret via l’en-tête api-key
  • OAuth 2.0, Accès délégué par jeton pour les intégrations privées
  • Vérification des webhooks, Authentification username et password pour des appels webhook sécurisés
  • Chiffrement TLS, Toutes les communications API chiffrées en transit
  • Whitelisting d’IP, Restrictions d’IP optionnelles disponibles sur les plans Enterprise

Ressources associées

Subscribe to updates

developer-docs

Drop your email or phone number — we'll send you what matters next.

Assistant AI

Bonjour ! Posez-moi vos questions sur la documentation.

Commencez gratuitement avec Brevo