Синхронизация на клиенти

Синхронизация на клиенти

Автоматично синхронизирайте клиентски данни от Вашата платформа за електронна търговия към контактите в Brevo. Това умение гарантира, че списъкът Ви с контакти в Brevo винаги отразява текущата Ви клиентска база.

Преглед

СвойствоСтойност
КатегорияСинхронизация на данни
СтатусСтабилно
Версия2.1
Тригериcustomer_created, customer_updated, customer_deleted
ДействияСъздаване на контакт, Обновяване на контакт, Изтриване на контакт

Как работи

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]
  1. Откриване на събития: Следи за събития от жизнения цикъл на клиента от Вашата платформа
  2. Картографиране на данни: Преобразува полетата на платформата в атрибути на контакт в Brevo
  3. API синхронизация: Създава, обновява или изтрива контакти чрез API на Brevo
  4. Обработка на грешки: Повтаря неуспешните операции с експоненциално отстъпване

Конфигурация

Базова настройка

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 list

Картографиране на полета

Преобразувайте полетата за клиент на Вашата платформа в атрибути на контакт в Brevo:

Картографирания на полета по подразбиране

Parameter Type Description
email required
string

Имейл адрес на клиента. Използва се като уникален идентификатор в Brevo.

firstName optional
string

Собствено име на клиента. Картографира се към атрибут FIRSTNAME.

Default: FIRSTNAME
lastName optional
string

Фамилия на клиента. Картографира се към атрибут LASTNAME.

Default: LASTNAME
phone optional
string

Телефонен номер във формат E.164. Картографира се към атрибут SMS за WhatsApp/SMS.

Default: SMS
acceptsMarketing optional
boolean

Статус на съгласие за маркетинг. Контролира статуса на абонамент за имейли.

Default: true

Персонализирани атрибути

Добавете персонализирани картографирания на атрибути за данни от електронна търговия:

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: TAGS

Tip

Първо създайте атрибутите: Персонализираните атрибути трябва да бъдат създадени в Brevo, преди да могат да бъдат синхронизирани. Използвайте таблото на Brevo или API, за да ги създадете.

Тригери

customer_created

Задейства се, когато в платформата Ви се създаде нов клиент.

{
"event": "customer_created",
"timestamp": "2024-01-15T10:30:00Z",
"data": {
"id": "cust_12345",
"email": "[email protected]",
"firstName": "Jane",
"lastName": "Smith",
"phone": "+1234567890",
"acceptsMarketing": true,
"createdAt": "2024-01-15T10:30:00Z"
}
}

customer_updated

Задейства се, когато информацията за клиента е променена.

{
"event": "customer_updated",
"timestamp": "2024-01-15T14:45:00Z",
"data": {
"id": "cust_12345",
"email": "[email protected]",
"changes": {
"phone": {
"old": null,
"new": "+1234567890"
}
}
}
}

customer_deleted

Задейства се, когато клиент е премахнат от платформата Ви.

{
"event": "customer_deleted",
"timestamp": "2024-01-15T16:00:00Z",
"data": {
"id": "cust_12345",
"email": "[email protected]",
"deletedAt": "2024-01-15T16:00:00Z"
}
}

Действия

Създаване на контакт

Създава нов контакт в Brevo, когато се създаде клиент.

POST /v3/contacts

Създаване на нов контакт във Вашия акаунт в Brevo

Query Parameters

Parameter Description
email string required
Имейл адрес на контакта
attributes object optional
Атрибути на контакта
listIds array optional
ID на списъци, към които да се добави контактът
updateEnabled boolean optional
Обновяване, ако контактът вече съществува
Default: false

Responses

201 Контактът е създаден успешно
400 Невалидни параметри на заявката
409 Контактът вече съществува

Обновяване на контакт

Обновява съществуващ контакт, когато клиентските данни се променят.

PUT /v3/contacts/{identifier}

Обновяване на атрибутите на съществуващ контакт

Path Parameters

Parameter Description
identifier string required
Имейл или ID на контакта

Query Parameters

Parameter Description
attributes object optional
Атрибути за обновяване
listIds array optional
Списъци, към които да се добави контактът
unlinkListIds array optional
Списъци, от които да се премахне контактът

Responses

204 Контактът е обновен успешно
400 Невалидни параметри на заявката
404 Контактът не е намерен

Изтриване на контакт

Премахва контакт, когато клиент бъде изтрит.

DELETE /v3/contacts/{identifier}

Постоянно изтриване на контакт от Brevo

Path Parameters

Parameter Description
identifier string required
Имейл или ID на контакта

Responses

204 Контактът е изтрит успешно
404 Контактът не е намерен

Примери за код

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 skill
await 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 sync
await 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 skill
tajo.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 sync
tajo.skills.trigger('customer-sync', {
'event': 'customer_updated',
'data': {
'email': '[email protected]',
'total_orders': 10,
'total_spent': 1250.00
}
})

Наблюдение

Табло за статус на синхронизацията

Наблюдавайте производителността на синхронизацията в таблото на Tajo:

  • Успеваемост на синхронизацията: Процент на успешни синхронизации
  • Средна латентност: Време от събитие до обновяване в Brevo
  • Процент грешки: Неуспешни опити за синхронизация
  • Дълбочина на опашката: Очакващи операции по синхронизация

Известия чрез webhook

Получавайте известия за събития по синхронизацията:

notifications:
webhook_url: https://your-app.com/webhooks/tajo
events:
- sync_completed
- sync_failed
- batch_completed

Отстраняване на проблеми

Често срещани проблеми

Контактът вече съществува (409)

Активирайте updateEnabled: true в конфигурацията си, за да обновявате съществуващи контакти, вместо да се получава грешка.

ГрешкаПричинаРешение
Contact already existsСъществува контакт с този имейлАктивирайте updateEnabled: true
Invalid attributeАтрибутът не съществува в BrevoПърво създайте атрибута в Brevo
Rate limit exceededТвърде много API заявкиИзползвайте пакетен режим на синхронизация
Invalid email formatНеправилно форматиран имейлВалидирайте имейлите преди синхронизация

Режим за отстраняване на грешки

Активирайте подробно логване за отстраняване на проблеми:

skills:
customer-sync:
debug: true
log_level: verbose

Свързани умения

Следващи стъпки

  1. Конфигурирайте картографиранията на полета за Вашата платформа
  2. Настройте персонализирани атрибути в Brevo
  3. Активирайте синхронизация в реално време за мигновени обновления

Subscribe to updates

developer-docs

Drop your email or phone number — we'll send you what matters next.

AI асистент

Здравейте! Попитайте ме за документацията.

Започнете безплатно с Brevo