مزامنة العملاء
مزامنة العملاء
يمكنك مزامنة بيانات العملاء تلقائيًا من منصة التجارة الإلكترونية إلى جهات اتصال 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]- اكتشاف الحدث: يستمع لأحداث دورة حياة العميل من منصتك
- تعيين البيانات: يربط حقول المنصة بسمات جهات اتصال Brevo
- مزامنة API: ينشئ أو يحدّث أو يحذف جهات الاتصال عبر Brevo API
- معالجة الأخطاء: يعيد محاولة العمليات الفاشلة بتأخير أسّي متصاعد
التهيئة
الإعداد الأساسي
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. |
lastName optional | string | الاسم الأخير للعميل. يُعيَّن إلى السمة LASTNAME. |
phone optional | string | رقم الهاتف بصيغة E.164. يُعيَّن إلى السمة SMS لرسائل WhatsApp/SMS. |
acceptsMarketing optional | boolean | حالة الاشتراك في التسويق. تتحكم في حالة الاشتراك بالبريد الإلكتروني. |
السمات المخصصة
أضف تعيينات سمات مخصصة لبيانات التجارة الإلكترونية:
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
أنشئ السمات أولًا: يجب إنشاء السمات المخصصة في Brevo قبل إمكانية مزامنتها. استخدم لوحة تحكم Brevo أو API لإنشائها.
المحفزات
customer_created
يُطلق عند إنشاء عميل جديد في منصتك.
{ "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
يُطلق عند تعديل معلومات العميل.
{ "event": "customer_updated", "timestamp": "2024-01-15T14:45:00Z", "data": { "id": "cust_12345", "changes": { "phone": { "old": null, "new": "+1234567890" } } }}customer_deleted
يُطلق عند إزالة عميل من منصتك.
{ "event": "customer_deleted", "timestamp": "2024-01-15T16:00:00Z", "data": { "id": "cust_12345", "deletedAt": "2024-01-15T16:00:00Z" }}الإجراءات
إنشاء جهة اتصال
ينشئ جهة اتصال جديدة في Brevo عند إنشاء عميل.
/v3/contacts إنشاء جهة اتصال جديدة في حساب Brevo الخاص بك
Query Parameters
| Parameter | Description |
|---|---|
| email string required | عنوان بريد جهة الاتصال |
| attributes object optional | سمات جهة الاتصال |
| listIds array optional | معرّفات القوائم لإضافة جهة الاتصال إليها |
| updateEnabled boolean optional | تحديث جهة الاتصال إذا كانت موجودة
Default: false |
Responses
تحديث جهة اتصال
يحدّث جهة اتصال موجودة عند تغيّر بيانات العميل.
/v3/contacts/{identifier} تحديث سمات جهة اتصال موجودة
Path Parameters
| Parameter | Description |
|---|---|
| identifier string required | البريد الإلكتروني أو معرّف جهة الاتصال |
Query Parameters
| Parameter | Description |
|---|---|
| attributes object optional | السمات المطلوب تحديثها |
| listIds array optional | القوائم لإضافة جهة الاتصال إليها |
| unlinkListIds array optional | القوائم لإزالة جهة الاتصال منها |
Responses
حذف جهة اتصال
يزيل جهة اتصال عند حذف عميل.
/v3/contacts/{identifier} حذف جهة اتصال نهائيًا من Brevo
Path Parameters
| Parameter | Description |
|---|---|
| identifier string required | البريد الإلكتروني أو معرّف جهة الاتصال |
Responses
أمثلة برمجية
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 }})المراقبة
لوحة حالة المزامنة
راقب أداء المزامنة في لوحة تحكم 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مهارات ذات صلة
- أحداث الطلبات - مزامنة بيانات الطلبات
- كتالوج المنتجات - مزامنة بيانات المنتجات
- أحداث عربة التسوق - تتبّع نشاط عربة التسوق
الخطوات التالية
- تهيئة تعيينات الحقول لمنصتك
- إعداد السمات المخصصة في Brevo
- تفعيل المزامنة الفورية للتحديثات اللحظية