Synchronizace zákazníků
Synchronizace zákazníků
Automaticky synchronizujte zákaznická data z vaší e-commerce platformy do kontaktů Brevo. Tento skill zajišťuje, že váš seznam kontaktů v Brevo vždy odráží vaši aktuální zákaznickou základnu.
Přehled
| Vlastnost | Hodnota |
|---|---|
| Kategorie | Synchronizace dat |
| Stav | Stabilní |
| Verze | 2.1 |
| Spouštěče | customer_created, customer_updated, customer_deleted |
| Akce | Vytvořit kontakt, Aktualizovat kontakt, Smazat kontakt |
Jak to funguje
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]- Detekce událostí: Naslouchá událostem životního cyklu zákazníka z vaší platformy
- Mapování dat: Mapuje pole platformy na atributy kontaktu Brevo
- Synchronizace přes API: Vytváří, aktualizuje nebo maže kontakty prostřednictvím API Brevo
- Ošetření chyb: Opakuje neúspěšné operace s exponenciálním prodlením
Konfigurace
Základní nastavení
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 listMapování polí
Namapujte pole zákazníka z vaší platformy na atributy kontaktu Brevo:
Výchozí mapování polí
| Parameter | Type | Description |
|---|---|---|
email required | string | Emailová adresa zákazníka. Používá se jako jedinečný identifikátor v Brevo. |
firstName optional | string | Křestní jméno zákazníka. Mapuje se na atribut FIRSTNAME. |
lastName optional | string | Příjmení zákazníka. Mapuje se na atribut LASTNAME. |
phone optional | string | Telefonní číslo ve formátu E.164. Mapuje se na atribut SMS pro WhatsApp/SMS. |
acceptsMarketing optional | boolean | Stav souhlasu s marketingem. Řídí stav emailového odběru. |
Vlastní atributy
Přidejte vlastní mapování atributů pro e-commerce data:
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
Nejprve vytvořte atributy: Vlastní atributy musí být vytvořeny v Brevo, než je lze synchronizovat. Vytvořte je prostřednictvím řídicího panelu nebo API Brevo.
Spouštěče
customer_created
Spouští se při vytvoření nového zákazníka ve vaší platformě.
{ "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
Spouští se při změně informací o zákazníkovi.
{ "event": "customer_updated", "timestamp": "2024-01-15T14:45:00Z", "data": { "id": "cust_12345", "changes": { "phone": { "old": null, "new": "+1234567890" } } }}customer_deleted
Spouští se při odebrání zákazníka z vaší platformy.
{ "event": "customer_deleted", "timestamp": "2024-01-15T16:00:00Z", "data": { "id": "cust_12345", "deletedAt": "2024-01-15T16:00:00Z" }}Akce
Vytvoření kontaktu
Vytvoří nový kontakt v Brevo při vytvoření zákazníka.
/v3/contacts Vytvoření nového kontaktu ve vašem účtu Brevo
Query Parameters
| Parameter | Description |
|---|---|
| email string required | Emailová adresa kontaktu |
| attributes object optional | Atributy kontaktu |
| listIds array optional | ID seznamů, do kterých se kontakt přidá |
| updateEnabled boolean optional | Aktualizovat, pokud kontakt existuje
Default: false |
Responses
Aktualizace kontaktu
Aktualizuje existující kontakt při změně zákaznických dat.
/v3/contacts/{identifier} Aktualizace atributů existujícího kontaktu
Path Parameters
| Parameter | Description |
|---|---|
| identifier string required | Email nebo ID kontaktu |
Query Parameters
| Parameter | Description |
|---|---|
| attributes object optional | Atributy k aktualizaci |
| listIds array optional | Seznamy, do kterých se kontakt přidá |
| unlinkListIds array optional | Seznamy, ze kterých se kontakt odebere |
Responses
Smazání kontaktu
Odebere kontakt při smazání zákazníka.
/v3/contacts/{identifier} Trvalé smazání kontaktu z Brevo
Path Parameters
| Parameter | Description |
|---|---|
| identifier string required | Email nebo ID kontaktu |
Responses
Příklady kódu
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 }})Monitoring
Řídicí panel stavu synchronizace
Sledujte výkon synchronizace v řídicím panelu Tajo:
- Úspěšnost synchronizace: Procento úspěšných synchronizací
- Průměrná latence: Čas od události do aktualizace v Brevo
- Míra chyb: Neúspěšné pokusy o synchronizaci
- Hloubka fronty: Čekající synchronizační operace
Webhookové notifikace
Dostávejte upozornění na události synchronizace:
notifications: webhook_url: https://your-app.com/webhooks/tajo events: - sync_completed - sync_failed - batch_completedŘešení problémů
Běžné problémy
Kontakt již existuje (409)
Povolte updateEnabled: true ve vaší konfiguraci, aby se existující kontakty aktualizovaly místo selhání.
| Chyba | Příčina | Řešení |
|---|---|---|
Contact already exists | Kontakt s tímto emailem existuje | Povolte updateEnabled: true |
Invalid attribute | Atribut neexistuje v Brevo | Nejprve vytvořte atribut v Brevo |
Rate limit exceeded | Příliš mnoho API požadavků | Použijte dávkový režim synchronizace |
Invalid email format | Chybně formátovaná emailová adresa | Validujte emaily před synchronizací |
Režim ladění
Povolte protokolování ladění pro řešení problémů:
skills: customer-sync: debug: true log_level: verboseSouvisející Skills
- Události objednávek – synchronizace dat objednávek
- Katalog produktů – synchronizace dat produktů
- Události košíku – sledování aktivity košíku
Další kroky
- Nakonfigurujte mapování polí pro vaši platformu
- Nastavte vlastní atributy v Brevo
- Povolte synchronizaci v reálném čase pro okamžité aktualizace