Sincronizare clienți
Sincronizare clienți
Sincronizați automat datele clienților de pe platforma dvs. de e-commerce în contactele Brevo. Acest skill asigură că lista de contacte Brevo reflectă întotdeauna baza dvs. de clienți actuală.
Prezentare generală
| Proprietate | Valoare |
|---|---|
| Categorie | Sincronizare date |
| Status | Stabil |
| Versiune | 2.1 |
| Declanșatoare | customer_created, customer_updated, customer_deleted |
| Acțiuni | Creare contact, Actualizare contact, Ștergere contact |
Cum funcționează
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]- Detectarea evenimentelor: Ascultă evenimentele din ciclul de viață al clientului de pe platforma dvs.
- Maparea datelor: Mapează câmpurile platformei pe atributele contactelor Brevo
- Sincronizare API: Creează, actualizează sau șterge contacte prin API-ul Brevo
- Gestionarea erorilor: Reîncearcă operațiunile eșuate cu backoff exponențial
Configurare
Configurare de bază
skills: customer-sync: enabled: true source: shopify # or woocommerce, magento, custom
# Maparea câmpurilor platformei pe atributele Brevo field_mapping: email: email firstName: FIRSTNAME lastName: LASTNAME phone: SMS
# Opțiuni de sincronizare options: sync_mode: realtime # or batch delete_behavior: soft # or hard list_id: 5 # Adaugă la această listăMaparea câmpurilor
Mapați câmpurile de clienți ale platformei dvs. pe atributele contactelor Brevo:
Mapări implicite ale câmpurilor
| Parameter | Type | Description |
|---|---|---|
email required | string | Adresa de e-mail a clientului. Utilizată ca identificator unic în Brevo. |
firstName optional | string | Prenumele clientului. Mapează pe atributul FIRSTNAME. |
lastName optional | string | Numele de familie al clientului. Mapează pe atributul LASTNAME. |
phone optional | string | Număr de telefon în format E.164. Mapează pe atributul SMS pentru WhatsApp/SMS. |
acceptsMarketing optional | boolean | Starea consimțământului de marketing. Controlează starea abonamentului la e-mail. |
Atribute personalizate
Adăugați mapări de atribute personalizate pentru datele de e-commerce:
field_mapping: # Câmpuri standard email: email firstName: FIRSTNAME
# Atribute personalizate e-commerce totalOrders: TOTAL_ORDERS totalSpent: TOTAL_SPENT lastOrderDate: LAST_ORDER_DATE customerTier: CUSTOMER_TIER tags: TAGSTip
Creați mai întâi atributele: Atributele personalizate trebuie create în Brevo înainte de a putea fi sincronizate. Utilizați tabloul de bord Brevo sau API-ul pentru a le crea.
Declanșatoare
customer_created
Se declanșează când un client nou este creat pe platforma dvs.
{ "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
Se declanșează când informațiile clientului sunt modificate.
{ "event": "customer_updated", "timestamp": "2024-01-15T14:45:00Z", "data": { "id": "cust_12345", "changes": { "phone": { "old": null, "new": "+1234567890" } } }}customer_deleted
Se declanșează când un client este eliminat de pe platforma dvs.
{ "event": "customer_deleted", "timestamp": "2024-01-15T16:00:00Z", "data": { "id": "cust_12345", "deletedAt": "2024-01-15T16:00:00Z" }}Acțiuni
Creare contact
Creează un contact nou în Brevo când un client este creat.
/v3/contacts Creați un contact nou în contul dvs. Brevo
Query Parameters
| Parameter | Description |
|---|---|
| email string required | Adresa de e-mail a contactului |
| attributes object optional | Atributele contactului |
| listIds array optional | ID-urile listelor la care să adăugați contactul |
| updateEnabled boolean optional | Actualizați dacă contactul există
Default: false |
Responses
Actualizare contact
Actualizează un contact existent când datele clientului se modifică.
/v3/contacts/{identifier} Actualizați atributele unui contact existent
Path Parameters
| Parameter | Description |
|---|---|
| identifier string required | Adresă de e-mail sau ID contact |
Query Parameters
| Parameter | Description |
|---|---|
| attributes object optional | Atribute de actualizat |
| listIds array optional | Liste la care să adăugați contactul |
| unlinkListIds array optional | Liste din care să eliminați contactul |
Responses
Ștergere contact
Elimină un contact când un client este șters.
/v3/contacts/{identifier} Ștergeți permanent un contact din Brevo
Path Parameters
| Parameter | Description |
|---|---|
| identifier string required | Adresă de e-mail sau ID contact |
Responses
Exemple de cod
JavaScript (Node.js)
import { TajoClient } from '@tajo/sdk';
const tajo = new TajoClient({ apiKey: process.env.TAJO_API_KEY, brevoApiKey: process.env.BREVO_API_KEY});
// Activați skill-ul de sincronizare cliențiawait 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 }});
// Declanșați manual o sincronizareawait 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'])
# Activați skill-ul de sincronizare cliențitajo.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 }})
# Declanșați manual o sincronizaretajo.skills.trigger('customer-sync', { 'event': 'customer_updated', 'data': { 'total_orders': 10, 'total_spent': 1250.00 }})Monitorizare
Tabloul de bord al stării sincronizării
Monitorizați performanța sincronizării în tabloul de bord Tajo:
- Rata de succes a sincronizării: Procentul sincronizărilor reușite
- Latență medie: Timpul de la eveniment la actualizarea Brevo
- Rata de erori: Încercări de sincronizare eșuate
- Adâncimea cozii: Operațiuni de sincronizare în așteptare
Notificări webhook
Primiți notificări pentru evenimentele de sincronizare:
notifications: webhook_url: https://your-app.com/webhooks/tajo events: - sync_completed - sync_failed - batch_completedDepanare
Probleme comune
Contactul există deja (409)
Activați updateEnabled: true în configurație pentru a actualiza contactele existente în loc să generați o eroare.
| Eroare | Cauză | Soluție |
|---|---|---|
Contact already exists | Există un contact cu acest e-mail | Activați updateEnabled: true |
Invalid attribute | Atributul nu există în Brevo | Creați mai întâi atributul în Brevo |
Rate limit exceeded | Prea multe cereri API | Utilizați modul de sincronizare în loturi |
Invalid email format | Format de adresă e-mail incorect | Validați e-mailurile înainte de sincronizare |
Modul de depanare
Activați logarea detaliată pentru depanare:
skills: customer-sync: debug: true log_level: verboseSkills conexe
- Evenimente comenzi – Sincronizați datele comenzilor
- Catalog produse – Sincronizați datele produselor
- Evenimente coș – Urmăriți activitatea coșului
Pași următori
- Configurați mapările de câmpuri pentru platforma dvs.
- Creați atribute personalizate în Brevo
- Activați sincronizarea în timp real pentru actualizări instantanee