Synchronisation des clients

Synchronisation des clients

Synchronisez automatiquement les données clients de votre plateforme e-commerce vers les contacts Brevo. Ce skill garantit que votre liste de contacts Brevo reflète toujours votre base clients actuelle.

Vue d’ensemble

PropriétéValeur
CatégorieSynchronisation des données
StatutStable
Version2.1
Déclencheurscustomer_created, customer_updated, customer_deleted
ActionsCréer un contact, Mettre à jour un contact, Supprimer un contact

Fonctionnement

graph LR
A[E-commerce Platform] -->|Customer Event| B[Customer Sync Skill]
B -->|Map Data| C[Field Mapping]
C -->|API Call| D[Brevo Contacts API]
D -->|Success| E[Contact Updated]
D -->|Error| F[Retry Queue]
  1. Détection d’événements : écoute les événements du cycle de vie client de votre plateforme
  2. Mappage des données : mappe les champs de la plateforme aux attributs de contact Brevo
  3. Synchronisation API : crée, met à jour ou supprime des contacts via l’API Brevo
  4. Gestion des erreurs : réessaie les opérations échouées avec un recul exponentiel

Configuration

Configuration de base

skills:
customer-sync:
enabled: true
source: shopify # or woocommerce, magento, custom
# Map platform fields to Brevo attributes
field_mapping:
email: email
firstName: FIRSTNAME
lastName: LASTNAME
phone: SMS
# Sync options
options:
sync_mode: realtime # or batch
delete_behavior: soft # or hard
list_id: 5 # Add to this list

Mappage des champs

Mappez les champs clients de votre plateforme aux attributs de contact Brevo :

Mappages de champs par défaut

Parameter Type Description
email required
string

Adresse email du client. Utilisée comme identifiant unique dans Brevo.

firstName optional
string

Prénom du client. Mappé vers l'attribut FIRSTNAME.

Default: FIRSTNAME
lastName optional
string

Nom de famille du client. Mappé vers l'attribut LASTNAME.

Default: LASTNAME
phone optional
string

Numéro de téléphone au format E.164. Mappé vers l'attribut SMS pour WhatsApp/SMS.

Default: SMS
acceptsMarketing optional
boolean

Statut d'opt-in marketing. Contrôle le statut d'abonnement aux emails.

Default: true

Attributs personnalisés

Ajoutez des mappages d’attributs personnalisés pour les données e-commerce :

field_mapping:
# Standard fields
email: email
firstName: FIRSTNAME
# Custom e-commerce attributes
totalOrders: TOTAL_ORDERS
totalSpent: TOTAL_SPENT
lastOrderDate: LAST_ORDER_DATE
customerTier: CUSTOMER_TIER
tags: TAGS

Tip

Créez les attributs d’abord : les attributs personnalisés doivent être créés dans Brevo avant de pouvoir être synchronisés. Utilisez le tableau de bord ou l’API Brevo pour les créer.

Déclencheurs

customer_created

Se déclenche lorsqu’un nouveau client est créé dans votre plateforme.

{
"event": "customer_created",
"timestamp": "2024-01-15T10:30:00Z",
"data": {
"id": "cust_12345",
"email": "[email protected]",
"firstName": "Jane",
"lastName": "Smith",
"phone": "+1234567890",
"acceptsMarketing": true,
"createdAt": "2024-01-15T10:30:00Z"
}
}

customer_updated

Se déclenche lorsque les informations du client sont modifiées.

{
"event": "customer_updated",
"timestamp": "2024-01-15T14:45:00Z",
"data": {
"id": "cust_12345",
"email": "[email protected]",
"changes": {
"phone": {
"old": null,
"new": "+1234567890"
}
}
}
}

customer_deleted

Se déclenche lorsqu’un client est supprimé de votre plateforme.

{
"event": "customer_deleted",
"timestamp": "2024-01-15T16:00:00Z",
"data": {
"id": "cust_12345",
"email": "[email protected]",
"deletedAt": "2024-01-15T16:00:00Z"
}
}

Actions

Créer un contact

Crée un nouveau contact dans Brevo lorsqu’un client est créé.

POST /v3/contacts

Créer un nouveau contact dans votre compte Brevo

Query Parameters

Parameter Description
email string required
Adresse email du contact
attributes object optional
Attributs du contact
listIds array optional
Identifiants des listes auxquelles ajouter le contact
updateEnabled boolean optional
Mettre à jour si le contact existe
Default: false

Responses

201 Contact créé avec succès
400 Paramètres de requête invalides
409 Le contact existe déjà

Mettre à jour un contact

Met à jour un contact existant lorsque les données du client changent.

PUT /v3/contacts/{identifier}

Mettre à jour les attributs d'un contact existant

Path Parameters

Parameter Description
identifier string required
Email ou identifiant du contact

Query Parameters

Parameter Description
attributes object optional
Attributs à mettre à jour
listIds array optional
Listes auxquelles ajouter le contact
unlinkListIds array optional
Listes dont retirer le contact

Responses

204 Contact mis à jour avec succès
400 Paramètres de requête invalides
404 Contact introuvable

Supprimer un contact

Supprime un contact lorsqu’un client est supprimé.

DELETE /v3/contacts/{identifier}

Supprimer définitivement un contact de Brevo

Path Parameters

Parameter Description
identifier string required
Email ou identifiant du contact

Responses

204 Contact supprimé avec succès
404 Contact introuvable

Exemples de code

JavaScript (Node.js)

import { TajoClient } from '@tajo/sdk';
const tajo = new TajoClient({
apiKey: process.env.TAJO_API_KEY,
brevoApiKey: process.env.BREVO_API_KEY
});
// Enable customer sync skill
await tajo.skills.enable('customer-sync', {
source: 'shopify',
fieldMapping: {
email: 'email',
firstName: 'FIRSTNAME',
lastName: 'LASTNAME',
totalOrders: 'TOTAL_ORDERS',
totalSpent: 'TOTAL_SPENT'
},
options: {
syncMode: 'realtime',
listId: 5
}
});
// Manually trigger a sync
await tajo.skills.trigger('customer-sync', {
event: 'customer_created',
data: {
firstName: 'Jane',
lastName: 'Smith'
}
});

Python

from tajo import TajoClient
tajo = TajoClient(
api_key=os.environ['TAJO_API_KEY'],
brevo_api_key=os.environ['BREVO_API_KEY']
)
# Enable customer sync skill
tajo.skills.enable('customer-sync', {
'source': 'woocommerce',
'field_mapping': {
'email': 'email',
'first_name': 'FIRSTNAME',
'last_name': 'LASTNAME',
'total_orders': 'TOTAL_ORDERS'
},
'options': {
'sync_mode': 'realtime',
'list_id': 5
}
})
# Manually trigger a sync
tajo.skills.trigger('customer-sync', {
'event': 'customer_updated',
'data': {
'email': '[email protected]',
'total_orders': 10,
'total_spent': 1250.00
}
})

Supervision

Tableau de bord du statut de synchronisation

Surveillez les performances de synchronisation dans le tableau de bord Tajo :

  • Taux de succès de synchronisation : pourcentage de synchronisations réussies
  • Latence moyenne : délai entre l’événement et la mise à jour dans Brevo
  • Taux d’erreur : tentatives de synchronisation échouées
  • Profondeur de file : opérations de synchronisation en attente

Notifications par webhook

Recevez des notifications pour les événements de synchronisation :

notifications:
webhook_url: https://your-app.com/webhooks/tajo
events:
- sync_completed
- sync_failed
- batch_completed

Dépannage

Problèmes courants

Le contact existe déjà (409)

Activez updateEnabled: true dans votre configuration pour mettre à jour les contacts existants au lieu d’échouer.

ErreurCauseSolution
Contact already existsUn contact avec cet email existeActiver updateEnabled: true
Invalid attributeL’attribut n’existe pas dans BrevoCréer d’abord l’attribut dans Brevo
Rate limit exceededTrop de requêtes APIUtiliser le mode de synchronisation par lots
Invalid email formatAdresse email mal forméeValider les emails avant la synchronisation

Mode de débogage

Activez la journalisation de débogage pour le dépannage :

skills:
customer-sync:
debug: true
log_level: verbose

Skills associés

Étapes suivantes

  1. Configurez les mappages de champs pour votre plateforme
  2. Configurez des attributs personnalisés dans Brevo
  3. Activez la synchronisation en temps réel pour des mises à jour instantané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