Klaviyo konektor

Poveži Klaviyo sa Brevo putem Tajo da migruješ ili sinhronizuješ marketing podatke između platforma. Sinhronizuj profile, događaje, liste, segmente, tokove i podatke kampanja za unifikovanu multi-kanalnu marketing strategiju.

Pregled

SvojstvoVrednost
PlatformaKlaviyo
KategorijaMarketing
Složenost podešavanjaSrednje
Zvanična integracijaNe
Sinhronizovani podaciProfili, Događaji, Liste, Segmenti, Kampanje
Dostupne veštine10
API standardJSON:API

Karakteristike

  • Sinhronizacija profila - Dvosmerna sinhronizacija profila kupaca između Klaviyo i Brevo
  • Prosleđivanje događaja - Prosleđivanje Klaviyo praćenih događaja u Brevo za okidače automatizacije
  • Migracija lista - Sinhronizacija Klaviyo lista na Brevo liste kontakata
  • Sinhronizacija segmenata - Izvoz Klaviyo segmenata kao Brevo lista ili segmenata
  • Izvoz podataka tokova - Povlačenje podataka o performansama toka za cross-platform analitiku
  • Sinhronizacija kampanja - Koordinacija kampanja između Klaviyo i Brevo kanala
  • Sinhronizacija kataloga - Ogledanje kataloga proizvoda između platforma
  • Upravljanje kuponima - Sinhronizacija kodova kupona i podataka o upotrebi

Preduslovi

Pre nego što započneš, proveri da imaš:

  1. Klaviyo nalog sa API pristupom
  2. Privatni API ključ sa odgovarajućim skopovima
  3. Klaviyo javni API ključ (6-karaterski ID kompanije)
  4. Brevo nalog sa API pristupom
  5. Tajo nalog sa API akreditivima

Autentifikacija

Privatni API ključ

Klaviyo koristi privatne API ključeve sa skopovanim pristupom za server-side autentifikaciju. Postavi ključ u Authorization header:

Terminal window
curl https://a.klaviyo.com/api/profiles/ \
-H "Authorization: Klaviyo-API-Key your-private-api-key" \
-H "revision: 2026-01-15"

Skopovi API ključa

Konfiguriši skopove pri kreiranju privatnog ključa:

SkopPristupOpis
profilesČitanje/PunoPristup profilima kontakata
eventsČitanje/PunoPristup praćenim događajima
listsČitanje/PunoPristup listama kontakata
segmentsČitanjePristup segmentima
campaignsČitanjePristup podacima kampanja
metricsČitanjePristup definicijama metrika
flowsČitanjePristup konfiguracijama tokova
catalogsČitanjePristup katalozima proizvoda

Javni API ključ

Za praćenje na strani klijenta, koristi 6-karakterni ID kompanije:

Terminal window
curl -X POST "https://a.klaviyo.com/client/events/?company_id=COMPANY_ID" \
-H "Content-Type: application/json" \
-d '{"data": {...}}'

OAuth (Partnerske integracije)

Klaviyo podržava OAuth za tehničke partnere, nudeći poboljšanu bezbednost i limite brzine:

Terminal window
curl https://a.klaviyo.com/api/profiles/ \
-H "Authorization: Bearer YOUR_OAUTH_TOKEN" \
-H "revision: 2026-01-15"

Konfiguracija

Osnovno podešavanje

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: 22

Mapiranje profila

Mapiranje Klaviyo svojstava profila na Brevo atribute kontakta:

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_PREF

Mapiranje događaja

Mapiranje Klaviyo metrika na Brevo događaje:

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 endpointi

MetodaEndpointOpis
GET/api/profiles/Listanje profila
POST/api/profiles/Kreiranje profila
PATCH/api/profiles/{id}/Ažuriranje profila
POST/api/profile-merge/Spajanje duplikatnih profila
GET/api/events/Listanje događaja
POST/api/events/Kreiranje događaja
GET/api/lists/Listanje svih lista
POST/api/lists/{id}/relationships/profiles/Dodavanje profila na listu
GET/api/segments/Listanje segmenata
GET/api/campaigns/Listanje kampanja
GET/api/flows/Listanje tokova
GET/api/metrics/Listanje metrika
POST/api/metric-aggregates/Upit agregata metrika
GET/api/catalog-items/Listanje stavki kataloga

Primeri koda

Inicijalizacija Klaviyo konektora

import { TajoClient } from '@tajo/sdk';
const tajo = new TajoClient({
apiKey: process.env.TAJO_API_KEY,
brevoApiKey: process.env.BREVO_API_KEY
});
// Connect Klaviyo account
await tajo.connectors.connect('klaviyo', {
privateApiKey: process.env.KLAVIYO_PRIVATE_KEY,
publicApiKey: process.env.KLAVIYO_PUBLIC_KEY
});

Sinhronizacija profila sa Brevo

// Fetch Klaviyo profiles and sync to Brevo
const 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 }
// }
// }

Kreiranje događaja

// 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: {
data: { type: 'profile', attributes: { email: '[email protected]' } }
},
properties: {
OrderId: 'ORD-1234',
Value: 89.99,
Items: [
{ ProductName: 'Widget Pro', Price: 89.99, Quantity: 1 }
]
},
value: 89.99
}
}
})
});

Upit agregata metrika

// Get aggregate metric data for reporting
await 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)']
}
}
})
});

Ograničenja brzine

AutentifikacijaBurst limitStabilni limit
Privatni API ključ75 zahteva/sek700 zahteva/min
OAuth150 zahteva/sek1.500 zahteva/min
Client API100 zahteva/sekN/A
Bulk operacije10 zahteva/sek100 zahteva/min

Obavezan revision header

Svi Klaviyo API zahtevi zahtevaju header revision postavljen na važeći datum verzije API-ja (npr. 2026-01-15). Zahtevi bez ovog headera biće odbijeni.

Rešavanje problema

ProblemUzrokRešenje
400 Bad RequestNevažeći ili nedostaje API ključVerifikuj da je privatni API ključ ispravan
403 ForbiddenNedovoljni skopProveri da li skopovi API ključa odgovaraju potrebnim dozvolama
Nedostaje revision headerHeader nije postavljenDodaj revision: 2026-01-15 svim zahtevima
Profil nije pronađenPogrešan identifikatorKoristi Klaviyo ID profila, ne email, za pretraživanja
Događaji se ne sinhronizujuPogrešan naziv metrikePodudaraj tačne nazive metrika kao što su definisani u Klaviyo
429 Too Many RequestsPrekoračen limit brzineImplementiraj eksponencijalno usporavanje, razmotri OAuth za više limite
JSON:API greške formataPogrešan Content-TypeKoristi application/vnd.api+json za Content-Type i Accept header

Najbolje prakse

  1. Koristi JSON:API format - Prati JSON:API specifikaciju za sve payloade zahteva i odgovora
  2. Postavi revision header - Uvek uključi revision header sa najnovijim datumom verzije API-ja
  3. Koristi sparse fieldset-ove - Zahtevaj samo potrebna polja sa ?fields[profile]=email,first_name da smanjiš veličinu payloada
  4. Iskoristi relacije - Koristi JSON:API include parametar za dohvatanje srodnih resursa u jednom zahtevu
  5. Koristi cursor paginaciju - Navigiraj kroz velike skupove rezultata sa page[cursor] parametrom
  6. Implementiraj bulk operacije - Koristi bulk endpointe za batch uvoz profila i kreiranje događaja
  7. Koristi OAuth za više limite - OAuth autentifikacija pruža 2x više limite brzine od privatnih ključeva

Bezbednost

  • Skopovi privatnog API ključa - Granularna kontrola pristupa Čitanje/Puno po tipu resursa
  • OAuth podrška - Bezbedna autentifikacija zasnovana na tokenima za partnerske integracije
  • Izolacija javnog ključa - Ključevi na strani klijenta ograničeni na operacije samo kreiranja
  • TLS 1.2+ - Sva API komunikacija enkriptovana u prenosu
  • SOC 2 Type II - Klaviyo je SOC 2 Type II sertifikovan
  • GDPR usklađenost - Data Privacy API za zahteve brisanja profila

Povezani resursi

Subscribe to updates

developer-docs

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

auto-detect
AI асистент

Здраво! Питајте ме о документацији.