Kundsynkronisering
Kundsynkronisering
Synkronisera automatiskt kunddata från din e-handelsplattform till Brevo-kontakter. Den här färdigheten säkerställer att din Brevo-kontaktlista alltid speglar din aktuella kundbas.
Översikt
| Egenskap | Värde |
|---|---|
| Kategori | Datasynkronisering |
| Status | Stabil |
| Version | 2.1 |
| Triggers | customer_created, customer_updated, customer_deleted |
| Åtgärder | Skapa kontakt, uppdatera kontakt, radera kontakt |
Så fungerar det
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]- Händelsedetektering: Lyssnar efter livscykelhändelser för kunder från din plattform
- Datamappning: Mappar plattformsfält till Brevo-kontaktattribut
- API-synk: Skapar, uppdaterar eller raderar kontakter via Brevo API
- Felhantering: Försöker igen vid misslyckade operationer med exponentiell backoff
Konfiguration
Grundinställning
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 listFältmappning
Mappa din plattforms kundfält till Brevo-kontaktattribut:
Standardfältmappningar
| Parameter | Type | Description |
|---|---|---|
email required | string | Kundens e-postadress. Används som unik identifierare i Brevo. |
firstName optional | string | Kundens förnamn. Mappas till attributet FIRSTNAME. |
lastName optional | string | Kundens efternamn. Mappas till attributet LASTNAME. |
phone optional | string | Telefonnummer i E.164-format. Mappas till attributet SMS för WhatsApp/SMS. |
acceptsMarketing optional | boolean | Status för marknadsföringsgodkännande. Styr e-postprenumerationsstatus. |
Anpassade attribut
Lägg till anpassade attributmappningar för e-handelsdata:
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: TAGSTip
Skapa attribut först: Anpassade attribut måste skapas i Brevo innan de kan synkas. Använd Brevo-dashboarden eller API:t för att skapa dem.
Triggers
customer_created
Utlöses när en ny kund skapas i din plattform.
{ "event": "customer_created", "timestamp": "2024-01-15T10:30:00Z", "data": { "id": "cust_12345", "firstName": "Jane", "lastName": "Smith", "phone": "+1234567890", "acceptsMarketing": true, "createdAt": "2024-01-15T10:30:00Z" }}customer_updated
Utlöses när kundinformation ändras.
{ "event": "customer_updated", "timestamp": "2024-01-15T14:45:00Z", "data": { "id": "cust_12345", "changes": { "phone": { "old": null, "new": "+1234567890" } } }}customer_deleted
Utlöses när en kund tas bort från din plattform.
{ "event": "customer_deleted", "timestamp": "2024-01-15T16:00:00Z", "data": { "id": "cust_12345", "deletedAt": "2024-01-15T16:00:00Z" }}Åtgärder
Skapa kontakt
Skapar en ny kontakt i Brevo när en kund skapas.
/v3/contacts Skapa en ny kontakt på ditt Brevo-konto
Query Parameters
| Parameter | Description |
|---|---|
| email string required | Kontaktens e-postadress |
| attributes object optional | Kontaktens attribut |
| listIds array optional | List-ID:n att lägga till kontakten i |
| updateEnabled boolean optional | Uppdatera om kontakten finns
Default: false |
Responses
Uppdatera kontakt
Uppdaterar en befintlig kontakt när kunddata ändras.
/v3/contacts/{identifier} Uppdatera en befintlig kontakts attribut
Path Parameters
| Parameter | Description |
|---|---|
| identifier string required | E-post eller kontakt-ID |
Query Parameters
| Parameter | Description |
|---|---|
| attributes object optional | Attribut att uppdatera |
| listIds array optional | Listor att lägga till kontakten i |
| unlinkListIds array optional | Listor att ta bort kontakten från |
Responses
Radera kontakt
Tar bort en kontakt när en kund raderas.
/v3/contacts/{identifier} Radera en kontakt permanent från Brevo
Path Parameters
| Parameter | Description |
|---|---|
| identifier string required | E-post eller kontakt-ID |
Responses
Kodexempel
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 skillawait 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 syncawait 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 skilltajo.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 synctajo.skills.trigger('customer-sync', { 'event': 'customer_updated', 'data': { 'total_orders': 10, 'total_spent': 1250.00 }})Övervakning
Dashboard för synkstatus
Övervaka synkprestanda i Tajo-dashboarden:
- Lyckad synk-andel: Procentandel lyckade synkar
- Genomsnittlig latens: Tid från händelse till Brevo-uppdatering
- Felfrekvens: Misslyckade synkförsök
- Kö-djup: Väntande synkoperationer
Webhook-aviseringar
Ta emot aviseringar för synkhändelser:
notifications: webhook_url: https://your-app.com/webhooks/tajo events: - sync_completed - sync_failed - batch_completedFelsökning
Vanliga problem
Kontakten finns redan (409)
Aktivera updateEnabled: true i din konfiguration för att uppdatera befintliga kontakter istället för att misslyckas.
| Fel | Orsak | Lösning |
|---|---|---|
Contact already exists | Kontakt med e-post finns redan | Aktivera updateEnabled: true |
Invalid attribute | Attributet finns inte i Brevo | Skapa attributet i Brevo först |
Rate limit exceeded | För många API-förfrågningar | Använd batch-synkläge |
Invalid email format | Felformaterad e-postadress | Validera e-post före synk |
Debug-läge
Aktivera debug-loggning för felsökning:
skills: customer-sync: debug: true log_level: verboseRelaterade färdigheter
- Orderhändelser – Synka orderdata
- Produktkatalog – Synka produktdata
- Varukorgshändelser – Följ varukorgsaktivitet
Nästa steg
- Konfigurera fältmappningar för din plattform
- Konfigurera anpassade attribut i Brevo
- Aktivera realtidssynk för omedelbara uppdateringar