---
title: "Connecteur Brevo"
description: "Guide complet d'intégration Brevo pour synchroniser contacts, e-mails transactionnels, SMS, campagnes WhatsApp et automatisation marketing avec Tajo."
url: https://tajo.io/fr/docs/connectors/marketing/brevo/
markdown: https://tajo.io/fr/docs/connectors/marketing/brevo.md
lang: fr-FR
robots: noindex
---

Demandez un accès anticipé

Indiquez votre prénom et votre adresse e-mail professionnelle. Nous vous enverrons un lien pour confirmer votre demande d’accès à Tajo.

# Connecteur Brevo

Statut du connecteur: Actif Vérifié. Tajo exécute ce connecteur aujourd'hui.

| Champ source | Champ de destination | Valeur d’exemple |
| --- | --- | --- |
| `record.id` | `source_id` | `record_1042` |
| `record.updated_at` | `updated_at` | `2026-10-18T08:00:00Z` |
| `record.value` | `value` | `sample_value` |

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 |
| --- | --- |
| **Plateforme** | Brevo |
| **Catégorie** | Marketing |
| **Complexité d’installation** | Facile |
| **Intégration officielle** | Oui |
| **Données synchronisées** | Contacts, campagnes, messages transactionnels, événements, eCommerce |
| **URL de base de l’API** | `https://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.

```bash
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

```yaml
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

```yaml
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éthode | Endpoint | Description |
| --- | --- | --- |
| `POST` | `/v3/smtp/email` | Envoyer un e-mail transactionnel |
| `POST` | `/v3/transactionalSMS/send` | Envoyer un SMS transactionnel |
| `POST` | `/v3/whatsapp/sendMessage` | Envoyer un message WhatsApp transactionnel |
| `POST` | `/v3/contacts` | Cré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/import` | Importer des contacts en masse |

### Endpoints eCommerce

| Méthode | Endpoint | Description |
| --- | --- | --- |
| `POST` | `/v3/orders/status` | Créer ou mettre à jour le statut d’une commande |
| `POST` | `/v3/products` | Créer ou mettre à jour des produits |
| `POST` | `/v3/categories` | Créer ou mettre à jour des catégories de produits |
| `POST` | `/v3/events` | Suivre des événements personnalisés |

### Endpoints de campagne

| Méthode | Endpoint | Description |
| --- | --- | --- |
| `POST` | `/v3/emailCampaigns` | Créer une campagne e-mail |
| `POST` | `/v3/emailCampaigns/{id}/sendNow` | Envoyer une campagne immédiatement |
| `GET` | `/v3/emailCampaigns` | Lister toutes les campagnes e-mail |
| `GET` | `/v3/smtp/statistics/events` | Obtenir les statistiques d’événements e-mail |

## Événements

### Événements transactionnels

| Événement | Déclencheur | Cas d’usage |
| --- | --- | --- |
| `delivered` | E-mail délivré en boîte de réception | Confirmation de livraison |
| `opened` | E-mail ouvert par le destinataire | Suivi d’engagement |
| `clicked` | Lien cliqué dans l’e-mail | Suivi du click-through |
| `bounced` | E-mail rejeté | Hygiène de liste |
| `spam` | Marqué comme spam | Surveillance de la conformité |
| `unsubscribed` | Contact désabonné | Gestion des préférences |

### Événements eCommerce

| Événement | Déclencheur | Cas d’usage |
| --- | --- | --- |
| `order_completed` | Commande passée avec succès | Workflows post-achat |
| `cart_updated` | Contenu du panier modifié | Suivi d’abandon de panier |
| `cart_deleted` | Panier vidé ou expiré | Récupération de panier |
| `product_viewed` | Page produit visitée | Abandon de navigation |

## Exemples de code

### Initialiser le connecteur

```javascript
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

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

### Synchroniser les contacts

```javascript
// 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

```javascript
// Track a custom event for a contact
await tajo.brevo.trackEvent({
  email: 'customer@example.com',
  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 :

| Endpoint | Free/Starter | Professional | Enterprise |
| --- | --- | --- | --- |
| `POST /v3/smtp/email` | 1 000 RPS | 2 000 RPS | 6 000 RPS |
| `POST /v3/transactionalSMS/send` | 150 RPS | 200 RPS | 250 RPS |
| `POST /v3/events` | 10 RPS | 20 RPS | 60 RPS |
| `/v3/contacts/*` | 10 RPS | 20 RPS | 60 RPS |
| Tous les autres endpoints | 100 RPH | 200 RPH | 600 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ème | Cause | Solution |
| --- | --- | --- |
| 401 Unauthorized | Clé API invalide | Régénérez la clé API dans Brevo Settings |
| Contact non créé | Champ e-mail manquant | Assurez-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çu | URL incorrecte ou erreur serveur | Vérifiez l’accessibilité de l’URL du webhook et les logs |
| SMS non envoyé | Format de téléphone invalide | Utilisez le format international avec indicatif pays |

### Mode débogage

Activez la journalisation détaillée :

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

### Tester la connexion

```bash
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

- [Documentation de l’API Brevo](https://developers.brevo.com/docs/getting-started)
- [Guide d’authentification Brevo](https://developers.brevo.com/docs/authentication-schemes)
- [Limites de débit Brevo](https://developers.brevo.com/docs/api-limits)
- [Connecteur Shopify](https://tajo.io/fr/docs/connectors/ecommerce/shopify)
- [Skill Customer Sync](https://tajo.io/fr/docs/skills/data-sync/customer-sync)
- [API Contacts Brevo](https://tajo.io/fr/docs/contact-management)
