Kundensynchronisation

Kundensynchronisation

Synchronisieren Sie Kundendaten aus Ihrer E-Commerce-Plattform automatisch mit Brevo-Kontakten. Dieser Skill sorgt dafür, dass Ihre Brevo-Kontaktliste stets Ihren aktuellen Kundenstamm widerspiegelt.

Überblick

EigenschaftWert
KategorieData Sync
StatusStable
Version2.1
Triggercustomer_created, customer_updated, customer_deleted
AktionenKontakt erstellen, Kontakt aktualisieren, Kontakt löschen

Funktionsweise

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. Ereigniserkennung: Lauscht auf Kundenlebenszyklus-Ereignisse Ihrer Plattform
  2. Datenzuordnung: Ordnet Plattformfelder den Brevo-Kontaktattributen zu
  3. API-Sync: Erstellt, aktualisiert oder löscht Kontakte über die Brevo-API
  4. Fehlerbehandlung: Wiederholt fehlgeschlagene Operationen mit exponentiellem Backoff

Konfiguration

Grundeinrichtung

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

Feldzuordnung

Ordnen Sie die Kundenfelder Ihrer Plattform den Brevo-Kontaktattributen zu:

Standard-Feldzuordnungen

Parameter Type Description
email required
string

E-Mail-Adresse der Kund:in. Wird als eindeutiger Identifier in Brevo verwendet.

firstName optional
string

Vorname der Kund:in. Wird dem Attribut FIRSTNAME zugeordnet.

Default: FIRSTNAME
lastName optional
string

Nachname der Kund:in. Wird dem Attribut LASTNAME zugeordnet.

Default: LASTNAME
phone optional
string

Telefonnummer im E.164-Format. Wird dem SMS-Attribut für WhatsApp/SMS zugeordnet.

Default: SMS
acceptsMarketing optional
boolean

Marketing-Opt-in-Status. Steuert den Status des E-Mail-Abonnements.

Default: true

Benutzerdefinierte Attribute

Fügen Sie benutzerdefinierte Attributzuordnungen für E-Commerce-Daten hinzu:

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

Attribute zuerst anlegen: Benutzerdefinierte Attribute müssen in Brevo angelegt werden, bevor sie synchronisiert werden können. Nutzen Sie dafür das Brevo-Dashboard oder die API.

Trigger

customer_created

Wird ausgelöst, wenn in Ihrer Plattform eine neue Kund:in angelegt wird.

{
"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

Wird ausgelöst, wenn Kundeninformationen geändert werden.

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

customer_deleted

Wird ausgelöst, wenn eine Kund:in aus Ihrer Plattform entfernt wird.

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

Aktionen

Kontakt erstellen

Erstellt einen neuen Kontakt in Brevo, wenn eine Kund:in angelegt wird.

POST /v3/contacts

Einen neuen Kontakt in Ihrem Brevo-Konto anlegen

Query Parameters

Parameter Description
email string required
E-Mail-Adresse des Kontakts
attributes object optional
Kontaktattribute
listIds array optional
Listen-IDs, denen der Kontakt hinzugefügt wird
updateEnabled boolean optional
Aktualisieren, falls Kontakt bereits existiert
Default: false

Responses

201 Kontakt erfolgreich erstellt
400 Ungültige Anfrageparameter
409 Kontakt existiert bereits

Kontakt aktualisieren

Aktualisiert einen bestehenden Kontakt, wenn sich Kundendaten ändern.

PUT /v3/contacts/{identifier}

Attribute eines bestehenden Kontakts aktualisieren

Path Parameters

Parameter Description
identifier string required
E-Mail oder Kontakt-ID

Query Parameters

Parameter Description
attributes object optional
Zu aktualisierende Attribute
listIds array optional
Listen, denen der Kontakt hinzugefügt wird
unlinkListIds array optional
Listen, aus denen der Kontakt entfernt wird

Responses

204 Kontakt erfolgreich aktualisiert
400 Ungültige Anfrageparameter
404 Kontakt nicht gefunden

Kontakt löschen

Entfernt einen Kontakt, wenn eine Kund:in gelöscht wird.

DELETE /v3/contacts/{identifier}

Einen Kontakt dauerhaft aus Brevo löschen

Path Parameters

Parameter Description
identifier string required
E-Mail oder Kontakt-ID

Responses

204 Kontakt erfolgreich gelöscht
404 Kontakt nicht gefunden

Code-Beispiele

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
}
})

Monitoring

Sync-Status-Dashboard

Überwachen Sie die Synchronisationsleistung im Tajo-Dashboard:

  • Sync-Erfolgsquote: Prozentsatz erfolgreicher Synchronisationen
  • Durchschnittliche Latenz: Zeit vom Ereignis bis zum Brevo-Update
  • Fehlerrate: Fehlgeschlagene Synchronisationsversuche
  • Warteschlangentiefe: Ausstehende Synchronisationsvorgänge

Webhook-Benachrichtigungen

Erhalten Sie Benachrichtigungen zu Sync-Ereignissen:

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

Fehlerbehebung

Häufige Probleme

Kontakt existiert bereits (409)

Aktivieren Sie updateEnabled: true in Ihrer Konfiguration, um bestehende Kontakte zu aktualisieren, anstatt einen Fehler zu erhalten.

FehlerUrsacheLösung
Contact already existsKontakt mit dieser E-Mail existiertupdateEnabled: true aktivieren
Invalid attributeAttribut existiert nicht in BrevoAttribut zuerst in Brevo anlegen
Rate limit exceededZu viele API-AnfragenBatch-Sync-Modus verwenden
Invalid email formatFehlerhaft formatierte E-Mail-AdresseE-Mails vor Sync validieren

Debug-Modus

Debug-Logging zur Fehlersuche aktivieren:

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

Verwandte Skills

Nächste Schritte

  1. Feldzuordnungen konfigurieren für Ihre Plattform
  2. Benutzerdefinierte Attribute einrichten in Brevo
  3. Echtzeit-Sync aktivieren für sofortige Updates

Subscribe to updates

developer-docs

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

AI-Assistent

Hallo! Fragen Sie mich alles über die Dokumentation.

Kostenlos mit Brevo starten