Kundesynkronisering
Kundesynkronisering
Synkroniser kundedata automatisk fra e-handelsplattformen din til Brevo-kontakter. Denne ferdigheten sørger for at Brevo-kontaktlisten din alltid gjenspeiler den aktuelle kundebasen.
Oversikt
| Egenskap | Verdi |
|---|---|
| Kategori | Datasynkronisering |
| Status | Stabil |
| Versjon | 2.1 |
| Triggere | customer_created, customer_updated, customer_deleted |
| Handlinger | Opprett kontakt, Oppdater kontakt, Slett kontakt |
Slik fungerer 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]- Hendelsesdeteksjon: Lytter etter hendelser i kundens livssyklus fra plattformen din
- Datamapping: Mapper plattformfelter til Brevo-kontaktattributter
- API-synkronisering: Oppretter, oppdaterer eller sletter kontakter via Brevo API
- Feilhåndtering: Prøver mislykkede operasjoner på nytt med eksponentiell backoff
Konfigurasjon
Grunnleggende oppsett
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 listFeltmapping
Map plattformens kundefelter til Brevo-kontaktattributter:
Standard feltmapping
| Parameter | Type | Description |
|---|---|---|
email required | string | Kundens e-postadresse. Brukes som unik identifikator i Brevo. |
firstName optional | string | Kundens fornavn. Mappes til FIRSTNAME-attributt. |
lastName optional | string | Kundens etternavn. Mappes til LASTNAME-attributt. |
phone optional | string | Telefonnummer i E.164-format. Mappes til SMS-attributt for WhatsApp/SMS. |
acceptsMarketing optional | boolean | Status for markedsføringssamtykke. Styrer e-postabonnementsstatusen. |
Egendefinerte attributter
Legg til egendefinerte attributtmappinger for 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: TAGSOpprett attributtene først
Egendefinerte attributter må opprettes i Brevo før de kan synkroniseres. Bruk Brevo-dashbordet eller API-et for å opprette dem.
Triggere
customer_created
Utløses når en ny kunde opprettes i plattformen din.
{ "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 kundeinformasjon endres.
{ "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 kunde fjernes fra plattformen din.
{ "event": "customer_deleted", "timestamp": "2024-01-15T16:00:00Z", "data": { "id": "cust_12345", "deletedAt": "2024-01-15T16:00:00Z" }}Handlinger
Opprett kontakt
Oppretter en ny kontakt i Brevo når en kunde opprettes.
/v3/contacts Opprett en ny kontakt i Brevo-kontoen din
Query Parameters
| Parameter | Description |
|---|---|
| email string required | Kontaktens e-postadresse |
| attributes object optional | Kontaktattributter |
| listIds array optional | Liste-ID-er kontakten skal legges til i |
| updateEnabled boolean optional | Oppdater hvis kontakten finnes
Default: false |
Responses
Oppdater kontakt
Oppdaterer en eksisterende kontakt når kundedata endres.
/v3/contacts/{identifier} Oppdater attributter for en eksisterende kontakt
Path Parameters
| Parameter | Description |
|---|---|
| identifier string required | E-post eller kontakt-ID |
Query Parameters
| Parameter | Description |
|---|---|
| attributes object optional | Attributter som skal oppdateres |
| listIds array optional | Lister kontakten skal legges til i |
| unlinkListIds array optional | Lister kontakten skal fjernes fra |
Responses
Slett kontakt
Fjerner en kontakt når en kunde slettes.
/v3/contacts/{identifier} Slett en kontakt permanent fra Brevo
Path Parameters
| Parameter | Description |
|---|---|
| identifier string required | E-post eller kontakt-ID |
Responses
Kodeeksempler
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 }})Overvåking
Dashbord for synkroniseringsstatus
Overvåk synkroniseringsytelsen i Tajo-dashbordet:
- Vellykkede synkroniseringer: Prosentandel vellykkede synkroniseringer
- Gjennomsnittlig latens: Tid fra hendelse til Brevo-oppdatering
- Feilrate: Mislykkede synkroniseringsforsøk
- Kødybde: Ventende synkroniseringsoperasjoner
Webhook-varsler
Motta varsler for synkroniseringshendelser:
notifications: webhook_url: https://your-app.com/webhooks/tajo events: - sync_completed - sync_failed - batch_completedFeilsøking
Vanlige problemer
Kontakten finnes allerede (409)
Aktiver updateEnabled: true i konfigurasjonen din for å oppdatere eksisterende kontakter i stedet for å feile.
| Feil | Årsak | Løsning |
|---|---|---|
Contact already exists | Kontakt med e-post finnes | Aktiver updateEnabled: true |
Invalid attribute | Attributtet finnes ikke i Brevo | Opprett attributtet i Brevo først |
Rate limit exceeded | For mange API-forespørsler | Bruk batch-synkroniseringsmodus |
Invalid email format | Feilformatert e-postadresse | Valider e-postadresser før synkronisering |
Feilsøkingsmodus
Aktiver feilsøkingslogging:
skills: customer-sync: debug: true log_level: verboseRelaterte ferdigheter
- Ordrehendelser - Synkroniser ordredata
- Produktkatalog - Synkroniser produktdata
- Handlekurvhendelser - Spor handlekurvaktivitet
Neste steg
- Konfigurer feltmapping for plattformen din
- Sett opp egendefinerte attributter i Brevo
- Aktiver sanntidssynkronisering for øyeblikkelige oppdateringer