مزامنة العملاء

مزامنة العملاء

يمكنك مزامنة بيانات العملاء تلقائيًا من منصة التجارة الإلكترونية إلى جهات اتصال 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: ينشئ أو يحدّث أو يحذف جهات الاتصال عبر Brevo API
  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
معرّفات القوائم لإضافة جهة الاتصال إليها
updateEnabled boolean optional
تحديث جهة الاتصال إذا كانت موجودة
Default: false

Responses

201 تم إنشاء جهة الاتصال بنجاح
400 معلمات الطلب غير صالحة
409 جهة الاتصال موجودة بالفعل

تحديث جهة اتصال

يحدّث جهة اتصال موجودة عند تغيّر بيانات العميل.

PUT /v3/contacts/{identifier}

تحديث سمات جهة اتصال موجودة

Path Parameters

Parameter Description
identifier string required
البريد الإلكتروني أو معرّف جهة الاتصال

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
البريد الإلكتروني أو معرّف جهة الاتصال

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