موصل Twilio Segment
اربط Twilio Segment بـ Brevo من خلال Tajo لتوحيد خط أنابيب بيانات العملاء، وتوجيه الأحداث من أي مصدر إلى Brevo، والاستفادة من حلّ هوية Segment لأتمتة تسويقية أكثر ثراءً.
نظرة عامة
| الخاصية | القيمة |
|---|---|
| المنصة | Twilio Segment |
| الفئة | منصة بيانات (مخصص) |
| تعقيد الإعداد | متوسط |
| تكامل رسمي | لا |
| البيانات المُزامَنة | أحداث، عملاء، سمات، جماهير |
| المهارات المتاحة | 8 |
الميزات
- تجميع البيانات الشامل - جمع الأحداث من المواقع والتطبيقات المحمولة والخوادم عبر SDKs الخاصة بـ Segment
- توجيه المصادر - توجيه البيانات من أكثر من 400 مصدر إلى Brevo عبر Tajo
- حلّ الهوية - دمج ملفات المستخدمين المجهولين والمعروفين تلقائيًا
- مزامنة الجماهير - إرسال السمات المحسوبة والجماهير في Segment إلى قوائم Brevo
- بث الأحداث - إعادة توجيه الأحداث في الوقت الفعلي عبر إطار عمل Connections في Segment
- ETL العكسي - مزامنة بيانات المستودع مرة أخرى إلى Brevo باستخدام Segment Reverse ETL
- فرض المخطط - التحقق من مخططات الأحداث باستخدام Segment Protocols قبل المزامنة
المتطلبات الأساسية
قبل البدء، تأكد من توفر ما يلي:
- مساحة عمل Twilio Segment مع مصدر مُعَد
- مفتاح الكتابة الخاص بك في Segment للمصدر
- حساب Brevo مع وصول إلى API
- حساب Tajo مع بيانات اعتماد API
المصادقة
مفتاح كتابة Segment
يصادق Segment على المصادر باستخدام مفتاح كتابة، وهو معرّف فريد مرتبط بكل مصدر.
// Analytics.js initialization with Write Keyanalytics.load("YOUR_SEGMENT_WRITE_KEY");رمز Tajo API
اضبط موصل Tajo باستخدام بيانات الاعتماد الخاصة بك:
tajo connectors install segment \ --write-key $SEGMENT_WRITE_KEY \ --workspace-slug your-workspace \ --brevo-api-key $BREVO_API_KEYالإعداد
الإعداد الأساسي
connectors: segment: enabled: true write_key: "your-segment-write-key" data_region: "us" # or "eu" for EU workspace
# Data sync options sync: identify: true track: true page: true group: false
# Brevo list assignment lists: all_contacts: 5 active_users: 6 high_value: 7تعيين الأحداث
ربط أحداث تتبع Segment بأنواع أحداث Brevo:
event_mapping: # Segment event -> Brevo event "Order Completed": "order_completed" "Product Viewed": "product_viewed" "Cart Updated": "cart_updated" "Signed Up": "customer_created" "Checkout Started": "checkout_started"
# Custom events "Feature Used": "feature_used" "Plan Upgraded": "plan_upgraded"تعيين السمات
ربط سمات تعريف Segment بسمات جهات اتصال Brevo:
trait_mapping: email: email firstName: FIRSTNAME lastName: LASTNAME phone: SMS plan: PLAN_TYPE company: COMPANY createdAt: SIGNUP_DATE lifetimeValue: LTVنقاط نهاية واجهة البرمجة
| الطريقة | نقطة النهاية | الوصف |
|---|---|---|
POST | /v1/identify | تعريف مستخدم بالسمات |
POST | /v1/track | تتبع حدث |
POST | /v1/page | تسجيل مشاهدة صفحة |
POST | /v1/screen | تسجيل مشاهدة شاشة |
POST | /v1/group | ربط مستخدم بمجموعة |
POST | /v1/alias | دمج هويتي مستخدم |
POST | /v1/batch | إرسال رسائل متعددة في دفعة |
POST | /v1/import | استيراد البيانات التاريخية بالجملة |
أمثلة على الكود
تهيئة Segment مع وجهة Tajo
import { TajoClient } from '@tajo/sdk';
const tajo = new TajoClient({ apiKey: process.env.TAJO_API_KEY, brevoApiKey: process.env.BREVO_API_KEY});
// Connect Segment sourceawait tajo.connectors.connect('segment', { writeKey: process.env.SEGMENT_WRITE_KEY, workspaceSlug: 'your-workspace'});تتبع الأحداث عبر Segment
// Identify a user - syncs to Brevo contactsanalytics.identify("user_123", { firstName: "Jane", lastName: "Kim", plan: "premium", lifetimeValue: 450.00});
// Track an event - forwards to Brevoanalytics.track("Order Completed", { orderId: "ORD-1234", revenue: 89.99, currency: "USD", products: [ { id: "SKU-001", name: "Widget", price: 89.99 } ]});
// Page view trackinganalytics.page("Pricing", { title: "Pricing - Tajo", url: "https://tajo.io/pricing"});إعادة توجيه الأحداث من جانب الخادم (Node.js)
const Analytics = require('analytics-node');const analytics = new Analytics(process.env.SEGMENT_WRITE_KEY);
// تعريف مجمع للمستخدمين من قاعدة البياناتconst users = await db.query('SELECT * FROM users WHERE updated_at > $1', [lastSync]);
for (const user of users) { analytics.identify({ userId: user.id, traits: { email: user.email, firstName: user.first_name, lastName: user.last_name, totalOrders: user.order_count, lifetimeValue: user.ltv } });}
// تفريغ قائمة الانتظارawait analytics.flush();حدود المعدل
| الفئة | الحد | النافذة |
|---|---|---|
| مجاني | 1,000 حدث/ثانية | لكل مصدر |
| فريق | 10,000 حدث/ثانية | لكل مصدر |
| أعمال | مخصص | لكل مساحة عمل |
| Batch API | 500 كيلوبايت كحد أقصى | لكل طلب |
| الحد الأقصى لحجم الدفعة | 100 حدث | لكل استدعاء دفعة |
حدود حجم الدفعة
يمكن أن يحتوي كل طلب دفعة على 100 حدث كحد أقصى ويجب ألا يتجاوز 500 كيلوبايت. للاستيراد التاريخي الكبير، استخدم Segment Bulk Import API.
استكشاف الأخطاء وإصلاحها
| المشكلة | السبب | الحل |
|---|---|---|
| الأحداث لا تظهر في Brevo | الوجهة غير مفعّلة | فعّل وجهة Tajo في Segment |
| سمات المستخدم لا تتزامن | معرّف بريد إلكتروني مفقود | تأكد من تضمين سمة email في استدعاءات identify |
| جهات اتصال مكررة | معرّفات مجهولة متعددة | طبّق استدعاءات alias مناسبة لدمج الهوية |
| تأخر الأحداث | قائمة انتظار بحجم كبير | تحقق من لوحة تسليم الأحداث في Segment |
| انتهاك المخطط | أحداث غير مخططة | راجع خطة تتبع Segment Protocols |
| أخطاء حد المعدل 429 | طلبات كثيرة جدًا | طبّق التجميع أو قلل تكرار الأحداث |
أفضل الممارسات
- استخدم identify قبل track - استدعِ
identifyدائمًا قبلtrackلضمان نسب الأحداث إلى المستخدم الصحيح - طبّق خطة تتبع - استخدم Segment Protocols لفرض مخططات الأحداث
- اجمع الاستدعاءات من جانب الخادم - استخدم Batch API للتكاملات من جانب الخادم لتقليل عبء HTTP
- عيّن السمات بشكل صريح - عرّف تعيينات السمات إلى السمات بدلاً من الاعتماد على الافتراضيات
- استخدم Segment Functions - حوّل الأحداث أثناء النقل قبل وصولها إلى Brevo
- راقب تسليم الأحداث - تحقق من لوحة تسليم الأحداث في Segment للأحداث الفاشلة
- إعداد Replay - فعّل Segment Replay لإعادة معالجة الأحداث التاريخية
الأمان
- تشفير TLS - جميع البيانات تُنقل عبر HTTPS/TLS 1.2+
- عزل مفتاح الكتابة - كل مصدر له مفتاح كتابة خاص به
- الامتثال لـ GDPR - يدعم Segment طلبات حذف البيانات والقمع
- SOC 2 Type II - Segment معتمد من SOC 2 Type II
- استضافة البيانات الإقليمية - خيار مساحة عمل EU للامتثال لإقامة البيانات