Customer.io Bağlayıcısı
Birleşik müşteri verileri, çapraz platform kampanya koordinasyonu ve birleştirilmiş etkileşim analitiği için Customer.io mesajlaşma platformunuzu Brevo’ya bağlayın.
Genel Bakış
| Özellik | Değer |
|---|---|
| Platform | Customer.io |
| Kategori | Pazarlama |
| Kurulum Karmaşıklığı | Orta |
| Resmi Entegrasyon | Hayır |
| Senkronize Edilen Veri | Kişiler, Olaylar, Kampanyalar, Segmentler |
| Kullanılan API’ler | Track API, App API, Pipelines API |
| Kimlik Doğrulama | Site ID + API Anahtarı / App API Anahtarı |
| Temel URL’ler | track.customer.io, api.customer.io |
Özellikler
- Kişi senkronizasyonu - Brevo kişileriyle çift yönlü müşteri profili senkronizasyonu
- Olay iletme - Davranışsal olayları takip edin ve otomasyon tetikleyicileri için Brevo’ya iletin
- Kampanya analitiği - Birleşik raporlama için kampanya performans metriklerini senkronize edin
- İş akışı verileri - Customer.io iş akışı durumlarını Brevo kişi özniteliklerinde yansıtın
- Segment kopyalama - Customer.io segmentlerini Brevo listeleri olarak kopyalayın
- Nesne verisi senkronizasyonu - Kişi olmayan nesneleri ve ilişki verilerini senkronize edin
Ön Koşullar
Başlamadan önce sahip olmanız gerekenler:
- API erişimi olan bir Customer.io hesabı
- Site ID ve Track API Anahtarınız (Settings > API Credentials altında bulunur)
- Kampanya ve segment verilerini okumak için bir App API anahtarı
- API erişimi olan bir Brevo hesabı
- Aktif aboneliği olan bir Tajo hesabı
Kimlik Doğrulama
Customer.io farklı kimlik doğrulama yöntemleri olan iki ayrı API kullanır:
Track API (Davranışsal Veriler)
Kişiler, olaylar ve cihaz verileri göndermek için kullanılır. Basic Auth aracılığıyla Site ID ve API Anahtarı ile kimlik doğrulaması yapar.
# Basic Auth: Site ID as username, API Key as passwordcurl -X POST https://track.customer.io/api/v1/customers/user123 \ -u "$SITE_ID:$API_KEY" \ -H "Content-Type: application/json" \App API (Veri Okuma)
Kampanyaları, segmentleri ve müşteri verilerini almak için kullanılır. Bir Bearer belirteci ile kimlik doğrulaması yapar.
curl -X GET https://api.customer.io/v1/campaigns \ -H "Authorization: Bearer $APP_API_KEY"API Anahtarı Ayrımı
Track API anahtarı ve App API anahtarı farklı kimlik bilgileridir. Track API anahtarı veri yazmak için, App API anahtarı veri okumak için kullanılır. Tam Tajo entegrasyonu için her ikisi de gereklidir.
Tajo’ya Bağlanma
tajo connectors install customerio \ --site-id $CIO_SITE_ID \ --track-api-key $CIO_TRACK_API_KEY \ --app-api-key $CIO_APP_API_KEYYapılandırma
Temel Kurulum
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: 14Alan Eşleme
Customer.io kişi özniteliklerini Brevo kişi özniteliklerine eşleyin:
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_STAGEOlay Eşleme
event_mapping: # Customer.io event -> Brevo event purchase_completed: ORDER_PLACED subscription_started: SUBSCRIPTION_START feature_activated: FEATURE_USED support_ticket_opened: SUPPORT_REQUESTAPI Uç Noktaları
Tajo aşağıdaki Customer.io API uç noktalarıyla entegre olur:
| Uç Nokta | Yöntem | API | Amaç |
|---|---|---|---|
/api/v1/customers/{id} | PUT | Track | Bir kişi oluştur veya güncelle |
/api/v1/customers/{id}/events | POST | Track | Bir kişi olayı takip et |
/api/v1/events | POST | Track | Anonim olayları takip et |
/api/v2/entity | POST | Track | Kişiler/nesneler oluştur veya güncelle (Pipelines) |
/v1/campaigns | GET | App | Kampanyaları listele |
/v1/campaigns/{id}/metrics | GET | App | Kampanya performans metrikleri |
/v1/segments | GET | App | Segmentleri listele |
/v1/segments/{id}/membership | GET | App | Segment üyelerini al |
/v1/customers/{id}/attributes | GET | App | Müşteri özniteliklerini al |
/v1/customers/{id}/activities | GET | App | Müşteri aktivite günlüğünü al |
Kod Örnekleri
Bağlayıcıyı Başlat
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'});Kişileri Brevo’ya Senkronize Et
// Incremental sync of Customer.io peopleawait 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// }Olayları İlet
// Forward Customer.io reporting webhook events to Brevoapp.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');});Segmenti Dışa Aktar
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`);Hız Limitleri
Customer.io API başına farklı hız limitleri uygular:
| API | Hız Limiti | Notlar |
|---|---|---|
| Track API | ~100 istek/saniye | Çalışma alanı başına |
| App API | 10 istek/saniye | API anahtarı başına |
| Pipelines API | 100 istek/saniye | Toplu veri için önerilir |
| Toplu uç nokta | İstek başına 1.000 kişi | Maks. yük 500KB |
Toplu Uç Noktaları Kullanın
Büyük senkronizasyonlar için Tajo, istek başına 1.000’e kadar kişi göndermek için Customer.io toplu uç noktasını kullanır ve API çağrı hacmini önemli ölçüde azaltır.
Sorun Giderme
Sık Karşılaşılan Sorunlar
| Sorun | Neden | Çözüm |
|---|---|---|
| 401 Unauthorized | Geçersiz Site ID veya API anahtarı | Customer.io Settings > API’de kimlik bilgilerini doğrulayın |
| Kişiler senkronize edilmiyor | Eksik tanımlayıcı | Her kişinin bir id veya email değerine sahip olduğundan emin olun |
| Olaylar takip edilmiyor | Yanlış API anahtar türü | Olaylar için App API anahtarı yerine Track API anahtarı kullanın |
| AB verilerine erişilemiyor | Yanlış bölge yapılandırıldı | AB çalışma alanları için bölgeyi eu olarak ayarlayın |
| Hız limit hataları | Çok fazla App API çağrısı | Kampanya verileri için sorgu sıklığını azaltın |
Hata Ayıklama Modu
connectors: customerio: debug: true log_level: verbose log_api_calls: trueBağlantıyı Test Et
tajo connectors test customerio# ✓ Track API connection successful# ✓ App API connection successful# ✓ People accessible# ✓ Campaigns readable# ✓ Segments listableEn İyi Uygulamalar
- Toplu veriler için Pipelines API’yi kullanın - Daha yeni Pipelines API yüksek hacimli alım için optimize edilmiştir
- Raporlama webhook’ları kurun - Customer.io e-posta olaylarını Tajo’ya gerçek zamanlı iletin
- Yaşam döngüsü aşamalarını eşleyin - Customer.io segment üyeliğini Brevo özniteliklerine senkronize edin
- Tutarlı tanımlayıcılar kullanın - Customer.io ve Brevo arasında
idalanlarını eşleştirin - Artımlı senkronize edin - Tam dışa aktarmadan kaçının;
last_activityzaman damgalarından yararlanın - Webhook teslimatını izleyin - Başarısız webhook teslimatları için uyarılar kurun
Güvenlik
- Basic Auth - Track API, Site ID ve API Anahtarı ile kimlik doğrular
- Bearer Belirteç - App API, OAuth tarzı bearer belirteçleri kullanır
- Yalnızca HTTPS - Tüm API iletişimi TLS 1.2+ aracılığıyla şifrelenir
- Bölgesel Veri Merkezleri - GDPR uyumluluğu için AB veri merkezi seçeneği
- Şifreli Depolama - Tüm kimlik bilgileri Tajo’da durağan halde şifrelenir
- Webhook İmzaları - HMAC imzalarıyla webhook yüklerini doğrulayın