موصل Customer.io

اربط منصة رسائل Customer.io الخاصة بك مع Brevo لبيانات عملاء موحدة، وتنسيق حملات عبر المنصات، وتحليلات تفاعل مدمجة.

نظرة عامة

الخاصيةالقيمة
المنصةCustomer.io
الفئةالتسويق
تعقيد الإعدادمتوسط
تكامل رسميلا
البيانات المُزامَنةأشخاص، أحداث، حملات، شرائح
واجهات البرمجة المستخدمةTrack API، App API، Pipelines API
المصادقةSite ID + مفتاح API / مفتاح App API
عناوين URL الأساسيةtrack.customer.io، api.customer.io

الميزات

  • مزامنة الأشخاص - مزامنة ثنائية الاتجاه لملفات العملاء مع جهات اتصال Brevo
  • إعادة توجيه الأحداث - تتبع الأحداث السلوكية وإعادة توجيهها إلى Brevo لمحفزات الأتمتة
  • تحليلات الحملات - مزامنة مقاييس أداء الحملات للتقارير الموحدة
  • بيانات سير العمل - عكس حالات سير عمل Customer.io في سمات جهات اتصال Brevo
  • نسخ الشرائح - نسخ شرائح Customer.io كقوائم Brevo
  • مزامنة بيانات الكائنات - مزامنة الكائنات غير البشرية وبيانات العلاقات

المتطلبات الأساسية

قبل البدء، تأكد من توفر ما يلي:

  1. حساب Customer.io مع وصول إلى API
  2. Site ID ومفتاح Track API (موجود في Settings > API Credentials)
  3. مفتاح App API لقراءة بيانات الحملات والشرائح
  4. حساب Brevo مع وصول إلى API
  5. حساب Tajo مع اشتراك نشط

المصادقة

يستخدم Customer.io واجهتي API منفصلتين بطرق مصادقة مختلفة:

Track API (البيانات السلوكية)

تُستخدم لإرسال الأشخاص والأحداث وبيانات الأجهزة. تُصادق بـ Site ID ومفتاح API عبر Basic Auth.

Terminal window
# Basic Auth: Site ID as username, API Key as password
curl -X POST https://track.customer.io/api/v1/customers/user123 \
-u "$SITE_ID:$API_KEY" \
-H "Content-Type: application/json" \
-d '{"email": "[email protected]"}'

App API (قراءة البيانات)

تُستخدم لاسترجاع الحملات والشرائح وبيانات العملاء. تُصادق برمز Bearer token.

Terminal window
curl -X GET https://api.customer.io/v1/campaigns \
-H "Authorization: Bearer $APP_API_KEY"

فصل مفاتيح API

مفتاح Track API ومفتاح App API بيانات اعتماد مختلفة. يُستخدم مفتاح Track API لكتابة البيانات، بينما مفتاح App API لقراءة البيانات. كلاهما مطلوب لتكامل Tajo كامل.

الاتصال بـ Tajo

Terminal window
tajo connectors install customerio \
--site-id $CIO_SITE_ID \
--track-api-key $CIO_TRACK_API_KEY \
--app-api-key $CIO_APP_API_KEY

الإعداد

الإعداد الأساسي

connectors:
customerio:
enabled: true
region: "us" # or "eu" for EU data center
sync:
people: true
events: true
campaigns: true
segments: true
objects: false
lists:
all_contacts: 12
active_subscribers: 13
churned: 14

تعيين الحقول

ربط سمات الشخص في Customer.io بسمات جهات اتصال Brevo:

field_mapping:
# Standard fields
id: CIO_ID
email: email
first_name: FIRSTNAME
last_name: LASTNAME
phone: SMS
# Engagement metrics
created_at: SIGNUP_DATE
last_activity: LAST_ACTIVE
plan: PLAN_NAME
# Custom attributes
company: COMPANY
role: JOB_TITLE
mrr: MONTHLY_REVENUE
lifecycle_stage: LIFECYCLE_STAGE

تعيين الأحداث

event_mapping:
# Customer.io event -> Brevo event
purchase_completed: ORDER_PLACED
subscription_started: SUBSCRIPTION_START
feature_activated: FEATURE_USED
support_ticket_opened: SUPPORT_REQUEST

نقاط نهاية واجهة البرمجة

يتكامل Tajo مع نقاط نهاية Customer.io API التالية:

نقطة النهايةالطريقةAPIالغرض
/api/v1/customers/{id}PUTTrackإنشاء أو تحديث شخص
/api/v1/customers/{id}/eventsPOSTTrackتتبع حدث لشخص
/api/v1/eventsPOSTTrackتتبع الأحداث المجهولة
/api/v2/entityPOSTTrackإنشاء أو تحديث أشخاص/كائنات (Pipelines)
/v1/campaignsGETAppسرد الحملات
/v1/campaigns/{id}/metricsGETAppمقاييس أداء الحملة
/v1/segmentsGETAppسرد الشرائح
/v1/segments/{id}/membershipGETAppالحصول على أعضاء الشريحة
/v1/customers/{id}/attributesGETAppالحصول على سمات العميل
/v1/customers/{id}/activitiesGETAppالحصول على سجل نشاط العميل

أمثلة على الكود

تهيئة الموصل

import { TajoClient } from '@tajo/sdk';
const tajo = new TajoClient({
apiKey: process.env.TAJO_API_KEY,
brevoApiKey: process.env.BREVO_API_KEY
});
await tajo.connectors.connect('customerio', {
siteId: process.env.CIO_SITE_ID,
trackApiKey: process.env.CIO_TRACK_API_KEY,
appApiKey: process.env.CIO_APP_API_KEY,
region: 'us'
});

مزامنة الأشخاص مع Brevo

// مزامنة تزايدية لأشخاص Customer.io
await tajo.connectors.sync('customerio', {
type: 'incremental',
resources: ['people'],
since: '2024-01-01',
batchSize: 100
});
const status = await tajo.connectors.status('customerio');
console.log(status);
// {
// connected: true,
// lastSync: '2024-03-15T14:20:00Z',
// peopleCount: 32500,
// campaignsTracked: 18,
// eventsProcessed: 87000
// }

إعادة توجيه الأحداث

// إعادة توجيه أحداث webhook لتقارير Customer.io إلى Brevo
app.post('/webhooks/customerio', async (req, res) => {
const events = req.body;
for (const event of events) {
await tajo.connectors.handleEvent('customerio', {
type: event.metric,
payload: {
customerId: event.data.customer_id,
campaignId: event.data.campaign_id,
timestamp: event.timestamp
}
});
}
res.status(200).send('OK');
});

تصدير الشريحة

const result = await tajo.connectors.exportSegment('customerio', {
segmentId: 42,
targetList: 13,
includeAttributes: ['email', 'first_name', 'last_name', 'plan']
});
console.log(`Exported ${result.count} people to Brevo list 13`);

حدود المعدل

يفرض Customer.io حدود معدل مختلفة لكل API:

APIحد المعدلملاحظات
Track API~100 طلب/ثانيةلكل مساحة عمل
App API10 طلبات/ثانيةلكل مفتاح API
Pipelines API100 طلب/ثانيةموصى به للبيانات بالجملة
نقطة نهاية الدفعات1,000 شخص لكل طلبالحمولة القصوى 500 كيلوبايت

استخدم نقاط نهاية الدفعات

للمزامنات الكبيرة، يستخدم Tajo نقطة نهاية الدفعات في Customer.io لإرسال ما يصل إلى 1,000 شخص لكل طلب، مما يقلل بشكل كبير حجم استدعاءات API.

استكشاف الأخطاء وإصلاحها

المشاكل الشائعة

المشكلةالسببالحل
401 UnauthorizedSite ID أو مفتاح API غير صالحتحقق من بيانات الاعتماد في Customer.io Settings > API
الأشخاص لا يتزامنونمعرّف مفقودتأكد من أن كل شخص لديه id أو email
الأحداث لا تُتبَعنوع مفتاح API خاطئاستخدم مفتاح Track API للأحداث، وليس مفتاح App API
بيانات EU غير قابلة للوصولالمنطقة المُكَوَّنة خاطئةاضبط المنطقة على eu لمساحات عمل EU
أخطاء حد المعدلاستدعاءات App API كثيرة جدًاقلل تكرار استطلاع بيانات الحملة

وضع التصحيح

connectors:
customerio:
debug: true
log_level: verbose
log_api_calls: true

اختبار الاتصال

Terminal window
tajo connectors test customerio
# ✓ Track API connection successful
# ✓ App API connection successful
# ✓ People accessible
# ✓ Campaigns readable
# ✓ Segments listable

أفضل الممارسات

  1. استخدم Pipelines API للبيانات بالجملة - تم تحسين Pipelines API الأحدث للاستيعاب عالي الحجم
  2. إعداد webhooks للتقارير - أعد توجيه أحداث البريد الإلكتروني في Customer.io إلى Tajo في الوقت الفعلي
  3. عيّن مراحل دورة الحياة - زامن عضوية شرائح Customer.io مع سمات Brevo
  4. استخدم معرّفات متسقة - طابق حقول id عبر Customer.io وBrevo
  5. المزامنة التزايدية - تجنب التصديرات الكاملة؛ استفد من طوابع last_activity الزمنية
  6. راقب تسليم webhook - إعداد تنبيهات لتسليمات webhook الفاشلة

الأمان

  • Basic Auth - يصادق Track API باستخدام Site ID ومفتاح API
  • Bearer Token - يستخدم App API رموز bearer بنمط OAuth
  • HTTPS فقط - جميع اتصالات API مشفرة عبر TLS 1.2+
  • مراكز بيانات إقليمية - خيار مركز بيانات EU للامتثال لـ GDPR
  • تخزين مشفر - جميع بيانات الاعتماد مشفرة في حالة السكون في Tajo
  • توقيعات Webhook - تحقق من حمولات webhook بتوقيعات HMAC

موارد ذات صلة

Subscribe to updates

developer-docs

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

auto-detect
مساعد AI

مرحباً! اسألني أي شيء عن الوثائق.