Sinhronizacija kupaca
Sinhronizacija kupaca
Automatski sinhronizujte podatke o kupcima sa vaše e-commerce platforme u Brevo kontakte. Ovaj skill osigurava da vaša Brevo lista kontakata uvek odražava vašu trenutnu bazu kupaca.
Pregled
| Svojstvo | Vrednost |
|---|---|
| Kategorija | Sinhronizacija podataka |
| Status | Stabilan |
| Verzija | 2.1 |
| Okidači | customer_created, customer_updated, customer_deleted |
| Akcije | Kreiranje kontakta, Ažuriranje kontakta, Brisanje kontakta |
Kako funkcioniše
graph LR A[E-commerce platforma] -->|Događaj kupca| B[Skill sinhronizacije kupaca] B -->|Mapiranje podataka| C[Mapiranje polja] C -->|API poziv| D[Brevo Contacts API] D -->|Uspeh| E[Kontakt ažuriran] D -->|Greška| F[Red za ponovni pokušaj]- Detekcija događaja: Osluškuje događaje životnog ciklusa kupca sa vaše platforme
- Mapiranje podataka: Mapira polja platforme u atribute Brevo kontakta
- API sinhronizacija: Kreira, ažurira ili briše kontakte putem Brevo API
- Rukovanje greškama: Ponavlja neuspešne operacije sa eksponencijalnim povlačenjem
Konfiguracija
Osnovno podešavanje
skills: customer-sync: enabled: true source: shopify # ili woocommerce, magento, custom
# Mapiranje polja platforme u Brevo atribute field_mapping: email: email firstName: FIRSTNAME lastName: LASTNAME phone: SMS
# Opcije sinhronizacije options: sync_mode: realtime # ili batch delete_behavior: soft # ili hard list_id: 5 # Dodaj na ovu listuMapiranje polja
Mapirajte polja kupaca vaše platforme u atribute Brevo kontakta:
Podrazumevano mapiranje polja
| Parameter | Type | Description |
|---|---|---|
email required | string | E-mail adresa kupca. Koristi se kao jedinstveni identifikator u Brevo. |
firstName optional | string | Ime kupca. Mapira se u atribut FIRSTNAME. |
lastName optional | string | Prezime kupca. Mapira se u atribut LASTNAME. |
phone optional | string | Broj telefona u E.164 formatu. Mapira se u SMS atribut za WhatsApp/SMS. |
acceptsMarketing optional | boolean | Status pristanka na marketing. Kontroliše status pretplate na e-poštu. |
Prilagođeni atributi
Dodajte prilagođena mapiranja atributa za e-commerce podatke:
field_mapping: # Standardna polja email: email firstName: FIRSTNAME
# Prilagođeni e-commerce atributi totalOrders: TOTAL_ORDERS totalSpent: TOTAL_SPENT lastOrderDate: LAST_ORDER_DATE customerTier: CUSTOMER_TIER tags: TAGSTip
Najpre kreirajte atribute: Prilagođeni atributi moraju biti kreirani u Brevo pre nego što se mogu sinhronizovati. Koristite Brevo kontrolnu tablu ili API za njihovo kreiranje.
Okidači
customer_created
Aktivira se kada je novi kupac kreiran na vašoj platformi.
{ "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
Aktivira se kada su informacije o kupcu izmenjene.
{ "event": "customer_updated", "timestamp": "2024-01-15T14:45:00Z", "data": { "id": "cust_12345", "changes": { "phone": { "old": null, "new": "+1234567890" } } }}customer_deleted
Aktivira se kada je kupac uklonjen sa vaše platforme.
{ "event": "customer_deleted", "timestamp": "2024-01-15T16:00:00Z", "data": { "id": "cust_12345", "deletedAt": "2024-01-15T16:00:00Z" }}Akcije
Kreiranje kontakta
Kreira novi kontakt u Brevo kada je kupac kreiran.
/v3/contacts Kreiranje novog kontakta u vašem Brevo nalogu
Query Parameters
| Parameter | Description |
|---|---|
| email string required | E-mail adresa kontakta |
| attributes object optional | Atributi kontakta |
| listIds array optional | ID-jevi lista na koje se dodaje kontakt |
| updateEnabled boolean optional | Ažuriraj ako kontakt postoji
Default: false |
Responses
Ažuriranje kontakta
Ažurira postojeći kontakt kada se podaci o kupcu promene.
/v3/contacts/{identifier} Ažuriranje atributa postojećeg kontakta
Path Parameters
| Parameter | Description |
|---|---|
| identifier string required | E-mail ili ID kontakta |
Query Parameters
| Parameter | Description |
|---|---|
| attributes object optional | Atributi za ažuriranje |
| listIds array optional | Liste na koje se dodaje kontakt |
| unlinkListIds array optional | Liste sa kojih se uklanja kontakt |
Responses
Brisanje kontakta
Uklanja kontakt kada je kupac obrisan.
/v3/contacts/{identifier} Trajno brisanje kontakta iz Brevo
Path Parameters
| Parameter | Description |
|---|---|
| identifier string required | E-mail ili ID kontakta |
Responses
Primeri koda
JavaScript (Node.js)
import { TajoClient } from '@tajo/sdk';
const tajo = new TajoClient({ apiKey: process.env.TAJO_API_KEY, brevoApiKey: process.env.BREVO_API_KEY});
// Aktivacija skill sinhronizacije kupacaawait 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 }});
// Ručno pokretanje sinhronizacijeawait 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'])
# Aktivacija skill sinhronizacije kupacatajo.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 }})
# Ručno pokretanje sinhronizacijetajo.skills.trigger('customer-sync', { 'event': 'customer_updated', 'data': { 'total_orders': 10, 'total_spent': 1250.00 }})Praćenje
Kontrolna tabla statusa sinhronizacije
Pratite performanse sinhronizacije na Tajo kontrolnoj tabli:
- Stopa uspešnosti sinhronizacije: Procenat uspešnih sinhronizacija
- Prosečna latencija: Vreme od događaja do Brevo ažuriranja
- Stopa grešaka: Neuspešni pokušaji sinhronizacije
- Dubina reda: Operacije sinhronizacije na čekanju
Webhook obaveštenja
Primajte obaveštenja o događajima sinhronizacije:
notifications: webhook_url: https://your-app.com/webhooks/tajo events: - sync_completed - sync_failed - batch_completedRešavanje problema
Uobičajeni problemi
Kontakt već postoji (409)
U konfiguraciji aktivirajte updateEnabled: true da biste ažurirali postojeće kontakte umesto da dobijete grešku.
| Greška | Uzrok | Rešenje |
|---|---|---|
Contact already exists | Kontakt sa e-mailom postoji | Aktivirajte updateEnabled: true |
Invalid attribute | Atribut ne postoji u Brevo | Najpre kreirajte atribut u Brevo |
Rate limit exceeded | Previše API zahteva | Koristite grupni režim sinhronizacije |
Invalid email format | Neispravan format e-mail adrese | Proverite e-mailove pre sinhronizacije |
Režim debagovanja
Aktivirajte detaljno beleženje za rešavanje problema:
skills: customer-sync: debug: true log_level: verboseSrodni Skills
- Događaji porudžbina – Sinhronizacija podataka porudžbina
- Katalog proizvoda – Sinhronizacija podataka proizvoda
- Događaji korpe – Praćenje aktivnosti korpe
Sledeći koraci
- Konfigurišite mapiranja polja za vašu platformu
- Podesite prilagođene atribute u Brevo
- Aktivirajte sinhronizaciju u realnom vremenu za trenutna ažuriranja