Klaviyo Bağlayıcısı
Pazarlama verilerini platformlar arasında taşımak veya senkronize etmek için Klaviyo’yu Tajo aracılığıyla Brevo’ya bağlayın. Birleşik çok kanallı pazarlama stratejisi için profilleri, olayları, listeleri, segmentleri, akışları ve kampanya verilerini senkronize edin.
Genel Bakış
| Özellik | Değer |
|---|---|
| Platform | Klaviyo |
| Kategori | Pazarlama |
| Kurulum Karmaşıklığı | Orta |
| Resmi Entegrasyon | Hayır |
| Senkronize Edilen Veri | Profiller, Olaylar, Listeler, Segmentler, Kampanyalar |
| Mevcut Yetenekler | 10 |
| API Standardı | JSON:API |
Özellikler
- Profil senkronizasyonu - Klaviyo ve Brevo arasında müşteri profillerinin çift yönlü senkronizasyonu
- Olay iletme - Otomasyon tetikleyicileri için Klaviyo takip edilen olayları Brevo’ya iletin
- Liste taşıma - Klaviyo listelerini Brevo kişi listelerine senkronize edin
- Segment senkronizasyonu - Klaviyo segmentlerini Brevo listeleri veya segmentleri olarak dışa aktarın
- Akış verisi dışa aktarımı - Çapraz platform analitiği için akış performans verilerini çekin
- Kampanya senkronizasyonu - Klaviyo ve Brevo kanallarında kampanyaları koordine edin
- Katalog senkronizasyonu - Platformlar arasında ürün kataloglarını yansıtın
- Kupon yönetimi - Kupon kodlarını ve kullanım verilerini senkronize edin
Ön Koşullar
Başlamadan önce sahip olmanız gerekenler:
- API erişimi olan bir Klaviyo hesabı
- Uygun kapsamlara sahip bir Private API Key
- Klaviyo Public API Key’iniz (6 karakterli şirket kimliği)
- API erişimi olan bir Brevo hesabı
- API kimlik bilgilerine sahip bir Tajo hesabı
Kimlik Doğrulama
Private API Key
Klaviyo, sunucu tarafı kimlik doğrulaması için kapsamlı erişimi olan private API anahtarları kullanır. Anahtarı Authorization başlığında ayarlayın:
curl https://a.klaviyo.com/api/profiles/ \ -H "Authorization: Klaviyo-API-Key your-private-api-key" \ -H "revision: 2026-01-15"API Anahtar Kapsamları
Private anahtarınızı oluştururken kapsamları yapılandırın:
| Kapsam | Erişim | Açıklama |
|---|---|---|
profiles | Read/Full | Kişi profillerine erişim |
events | Read/Full | Takip edilen olaylara erişim |
lists | Read/Full | Kişi listelerine erişim |
segments | Read | Segmentlere erişim |
campaigns | Read | Kampanya verilerine erişim |
metrics | Read | Metrik tanımlarına erişim |
flows | Read | Akış yapılandırmalarına erişim |
catalogs | Read | Ürün kataloglarına erişim |
Public API Key
İstemci tarafı takip için 6 karakterli şirket kimliğini kullanın:
curl -X POST "https://a.klaviyo.com/client/events/?company_id=COMPANY_ID" \ -H "Content-Type: application/json" \ -d '{"data": {...}}'OAuth (Partner Entegrasyonları)
Klaviyo, geliştirilmiş güvenlik ve hız limitleri sunan teknoloji partnerleri için OAuth’u destekler:
curl https://a.klaviyo.com/api/profiles/ \ -H "Authorization: Bearer YOUR_OAUTH_TOKEN" \ -H "revision: 2026-01-15"Yapılandırma
Temel Kurulum
connectors: klaviyo: enabled: true private_api_key: "your-klaviyo-private-key" public_api_key: "XXXXXX" api_revision: "2026-01-15"
# Data sync options sync: profiles: true events: true lists: true segments: true catalogs: false
# Brevo list assignment lists: all_contacts: 20 subscribers: 21 high_value: 22Profil Eşleme
Klaviyo profil özelliklerini Brevo kişi özniteliklerine eşleyin:
profile_mapping: email: email first_name: FIRSTNAME last_name: LASTNAME phone_number: SMS city: CITY region: REGION country: COUNTRY zip: ZIP organization: COMPANY title: JOB_TITLE
# Custom properties lifetime_value: LTV total_orders: ORDER_COUNT last_order_date: LAST_ORDER_DATE preferred_channel: CHANNEL_PREFOlay Eşleme
Klaviyo metriklerini Brevo olaylarına eşleyin:
event_mapping: "Placed Order": "order_completed" "Ordered Product": "product_purchased" "Started Checkout": "checkout_started" "Added to Cart": "cart_updated" "Viewed Product": "product_viewed" "Subscribed to List": "customer_subscribed" "Received Email": "email_received" "Opened Email": "email_opened" "Clicked Email": "email_clicked"API Uç Noktaları
| Yöntem | Uç Nokta | Açıklama |
|---|---|---|
GET | /api/profiles/ | Profilleri listele |
POST | /api/profiles/ | Bir profil oluştur |
PATCH | /api/profiles/{id}/ | Bir profili güncelle |
POST | /api/profile-merge/ | Yinelenen profilleri birleştir |
GET | /api/events/ | Olayları listele |
POST | /api/events/ | Bir olay oluştur |
GET | /api/lists/ | Tüm listeleri listele |
POST | /api/lists/{id}/relationships/profiles/ | Bir listeye profil ekle |
GET | /api/segments/ | Segmentleri listele |
GET | /api/campaigns/ | Kampanyaları listele |
GET | /api/flows/ | Akışları listele |
GET | /api/metrics/ | Metrikleri listele |
POST | /api/metric-aggregates/ | Metrik toplamalarını sorgula |
GET | /api/catalog-items/ | Katalog öğelerini listele |
Kod Örnekleri
Klaviyo Bağlayıcısını Başlat
import { TajoClient } from '@tajo/sdk';
const tajo = new TajoClient({ apiKey: process.env.TAJO_API_KEY, brevoApiKey: process.env.BREVO_API_KEY});
// Connect Klaviyo accountawait tajo.connectors.connect('klaviyo', { privateApiKey: process.env.KLAVIYO_PRIVATE_KEY, publicApiKey: process.env.KLAVIYO_PUBLIC_KEY});Profilleri Brevo’ya Senkronize Et
// Fetch Klaviyo profiles and sync to Brevoconst response = await fetch('https://a.klaviyo.com/api/profiles/', { headers: { 'Authorization': `Klaviyo-API-Key ${PRIVATE_KEY}`, 'revision': '2026-01-15', 'Accept': 'application/vnd.api+json' }});
const { data } = await response.json();
// Each profile follows JSON:API format// {// "type": "profile",// "id": "01ABCDEF",// "attributes": {// "email": "[email protected]",// "first_name": "Jane",// "last_name": "Kim",// "phone_number": "+15551234567",// "properties": { "lifetime_value": 450.00 }// }// }Bir Olay Oluştur
// Track an event in Klaviyo (forwarded to Brevo via Tajo)await fetch('https://a.klaviyo.com/api/events/', { method: 'POST', headers: { 'Authorization': `Klaviyo-API-Key ${PRIVATE_KEY}`, 'revision': '2026-01-15', 'Content-Type': 'application/vnd.api+json', 'Accept': 'application/vnd.api+json' }, body: JSON.stringify({ data: { type: 'event', attributes: { metric: { data: { type: 'metric', attributes: { name: 'Placed Order' } } }, profile: { }, properties: { OrderId: 'ORD-1234', Value: 89.99, Items: [ { ProductName: 'Widget Pro', Price: 89.99, Quantity: 1 } ] }, value: 89.99 } } })});Metrik Toplamalarını Sorgula
// Get aggregate metric data for reportingawait fetch('https://a.klaviyo.com/api/metric-aggregates/', { method: 'POST', headers: { 'Authorization': `Klaviyo-API-Key ${PRIVATE_KEY}`, 'revision': '2026-01-15', 'Content-Type': 'application/vnd.api+json' }, body: JSON.stringify({ data: { type: 'metric-aggregate', attributes: { metric_id: 'METRIC_ID', measurements: ['count', 'sum_value'], interval: 'day', filter: ['greater-or-equal(datetime,2024-01-01)', 'less-than(datetime,2024-02-01)'] } } })});Hız Limitleri
| Kimlik Doğrulama | Patlama Limiti | Sabit Limit |
|---|---|---|
| Private API Key | 75 istek/sn | 700 istek/dk |
| OAuth | 150 istek/sn | 1.500 istek/dk |
| Client API | 100 istek/sn | Yok |
| Toplu işlemler | 10 istek/sn | 100 istek/dk |
API Sürümü Gerekli
Tüm Klaviyo API istekleri, geçerli bir API sürüm tarihine ayarlanmış revision başlığını gerektirir (örn. 2026-01-15). Bu başlık olmayan istekler reddedilir.
Sorun Giderme
| Sorun | Neden | Çözüm |
|---|---|---|
400 Bad Request | Geçersiz veya eksik API anahtarı | Private API anahtarının doğru olduğunu doğrulayın |
403 Forbidden | Yetersiz kapsam | API anahtar kapsamlarının gerekli izinlerle eşleştiğini kontrol edin |
Eksik revision başlığı | Başlık ayarlı değil | Tüm isteklere revision: 2026-01-15 ekleyin |
| Profil bulunamadı | Yanlış tanımlayıcı | Aramalar için e-posta yerine Klaviyo profil kimliğini kullanın |
| Olaylar senkronize edilmiyor | Yanlış metrik adı | Klaviyo’da tanımlandığı şekilde tam metrik adlarıyla eşleştirin |
429 Too Many Requests | Hız limiti aşıldı | Üstel geri çekilme uygulayın, daha yüksek limitler için OAuth’u değerlendirin |
| JSON:API format hataları | Yanlış içerik türü | Content-Type ve Accept başlıkları için application/vnd.api+json kullanın |
En İyi Uygulamalar
- JSON:API formatını kullanın - Tüm istek ve yanıt yükleri için JSON:API spesifikasyonunu izleyin
- Revision başlığını ayarlayın - En son API sürüm tarihiyle her zaman
revisionbaşlığını ekleyin - Sparse fieldsets kullanın - Yük boyutunu azaltmak için
?fields[profile]=email,first_nameile yalnızca gerekli alanları isteyin - İlişkilerden yararlanın - İlgili kaynakları tek bir istekte getirmek için JSON:API
includeparametresini kullanın - Cursor sayfalama kullanın - Büyük sonuç kümelerinde
page[cursor]parametresi ile gezinin - Toplu işlemleri uygulayın - Toplu profil içe aktarmaları ve olay oluşturma için toplu uç noktaları kullanın
- Daha yüksek limitler için OAuth kullanın - OAuth kimlik doğrulaması, private anahtarlardan 2 kat daha yüksek hız limitleri sağlar
Güvenlik
- Private API anahtar kapsamları - Kaynak türü başına ayrıntılı Read/Full erişim kontrolü
- OAuth desteği - Partner entegrasyonları için güvenli belirteç tabanlı kimlik doğrulama
- Public anahtar izolasyonu - İstemci tarafı anahtarlar yalnızca oluşturma işlemleriyle sınırlıdır
- TLS 1.2+ - Tüm API iletişimi aktarımda şifrelenir
- SOC 2 Type II - Klaviyo SOC 2 Type II sertifikalıdır
- GDPR uyumluluğu - Profil silme talepleri için Data Privacy API