การซิงก์ลูกค้า

การซิงก์ลูกค้า

ซิงก์ข้อมูลลูกค้าจากแพลตฟอร์มอีคอมเมิร์ซของคุณไปยังผู้ติดต่อ Brevo โดยอัตโนมัติ Skill นี้รับประกันว่ารายชื่อผู้ติดต่อ Brevo ของคุณสะท้อนฐานลูกค้าปัจจุบันของคุณเสมอ

ภาพรวม

คุณสมบัติค่า
หมวดหมู่การซิงก์ข้อมูล
สถานะเสถียร
เวอร์ชัน2.1
Triggerscustomer_created, customer_updated, customer_deleted
Actionsสร้างผู้ติดต่อ อัปเดตผู้ติดต่อ ลบผู้ติดต่อ

วิธีการทำงาน

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: สร้าง อัปเดต หรือลบผู้ติดต่อผ่าน Brevo API
  4. การจัดการข้อผิดพลาด: ลองใหม่การดำเนินการที่ล้มเหลวด้วย exponential backoff

การกำหนดค่า

การตั้งค่าพื้นฐาน

skills:
customer-sync:
enabled: true
source: shopify # หรือ woocommerce, magento, custom
# แมปฟิลด์แพลตฟอร์มกับคุณลักษณะ Brevo
field_mapping:
email: email
firstName: FIRSTNAME
lastName: LASTNAME
phone: SMS
# ตัวเลือกการซิงก์
options:
sync_mode: realtime # หรือ batch
delete_behavior: soft # หรือ hard
list_id: 5 # เพิ่มในรายการนี้

การแมปฟิลด์

แมปฟิลด์ลูกค้าของแพลตฟอร์มของคุณกับคุณลักษณะผู้ติดต่อ 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:
# ฟิลด์มาตรฐาน
email: email
firstName: FIRSTNAME
# คุณลักษณะอีคอมเมิร์ซที่กำหนดเอง
totalOrders: TOTAL_ORDERS
totalSpent: TOTAL_SPENT
lastOrderDate: LAST_ORDER_DATE
customerTier: CUSTOMER_TIER
tags: TAGS

Tip

สร้างคุณลักษณะก่อน: คุณลักษณะที่กำหนดเองต้องถูกสร้างใน Brevo ก่อนที่จะซิงก์ได้ ใช้แดชบอร์ด Brevo หรือ API เพื่อสร้าง

Triggers

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"
}
}

Actions

สร้างผู้ติดต่อ

สร้างผู้ติดต่อใหม่ใน 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
});
// เปิดใช้งาน 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
}
});
// ทริกเกอร์การซิงก์ด้วยตนเอง
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']
)
# เปิดใช้งาน 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
}
})
# ทริกเกอร์การซิงก์ด้วยตนเอง
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ที่อยู่อีเมลมีรูปแบบผิดตรวจสอบอีเมลก่อนซิงก์

โหมด Debug

เปิดใช้งานการบันทึก debug สำหรับการแก้ไขปัญหา:

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

Skills ที่เกี่ยวข้อง

  • Order Events - ซิงก์ข้อมูลคำสั่งซื้อ
  • Product Catalog - ซิงก์ข้อมูลสินค้า
  • Cart Events - ติดตามกิจกรรมตะกร้า

ขั้นตอนถัดไป

  1. กำหนดค่าการแมปฟิลด์ สำหรับแพลตฟอร์มของคุณ
  2. ตั้งค่าคุณลักษณะที่กำหนดเอง ใน Brevo
  3. เปิดใช้งานการซิงก์แบบเรียลไทม์ สำหรับการอัปเดตทันที

Subscribe to updates

developer-docs

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

ผู้ช่วย AI

สวัสดี! ถามฉันเกี่ยวกับเอกสารได้เลย

เริ่มต้นฟรีกับ Brevo