Klaviyo Connector

Forbind Klaviyo til Brevo via Tajo for at migrere eller synkronisere marketingdata mellem platforme. Synkronisér profiler, hændelser, lister, segmenter, flows og kampagnedata til en forenet multikanal-marketingstrategi.

Oversigt

EgenskabVærdi
PlatformKlaviyo
KategoriMarketing
OpsætningskompleksitetMellem
Officiel integrationNej
Synkroniserede dataProfiler, hændelser, lister, segmenter, kampagner
Tilgængelige skills10
API-standardJSON:API

Funktioner

  • Profilsynkronisering - Tovejssynkronisering af kundeprofiler mellem Klaviyo og Brevo
  • Hændelsesvideresendelse - Videresend Klaviyo-sporede hændelser til Brevo som automatiseringstriggere
  • Listemigrering - Synkronisér Klaviyo-lister til Brevo-kontaktlister
  • Segmentsynkronisering - Eksportér Klaviyo-segmenter som Brevo-lister eller -segmenter
  • Eksport af flow-data - Træk flow-performance-data til tværplatformsanalyse
  • Kampagnesynkronisering - Koordinér kampagner på tværs af Klaviyo- og Brevo-kanaler
  • Katalogsynkronisering - Spejl produktkataloger mellem platforme
  • Rabatkodehåndtering - Synkronisér rabatkoder og brugsdata

Forudsætninger

Før du begynder, skal du sikre dig, at du har:

  1. En Klaviyo-konto med API-adgang
  2. En Private API Key med passende scopes
  3. Din Klaviyo Public API Key (6-tegns firma-id)
  4. En Brevo-konto med API-adgang
  5. En Tajo-konto med API-legitimationsoplysninger

Autentifikation

Private API Key

Klaviyo bruger private API-nøgler med scoped adgang til serverside-autentifikation. Sæt nøglen i Authorization-headeren:

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

API-nøglescopes

Konfigurér scopes, når du opretter din private nøgle:

ScopeAdgangBeskrivelse
profilesRead/FullAdgang til kontaktprofiler
eventsRead/FullAdgang til sporede hændelser
listsRead/FullAdgang til kontaktlister
segmentsReadAdgang til segmenter
campaignsReadAdgang til kampagnedata
metricsReadAdgang til metrikkdefinitioner
flowsReadAdgang til flow-konfigurationer
catalogsReadAdgang til produktkataloger

Public API Key

Til klientside-sporing bruges 6-tegns firma-id’et:

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

OAuth (partnerintegrationer)

Klaviyo understøtter OAuth til tech partners, hvilket giver forbedret sikkerhed og højere ratebegrænsninger:

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

Konfiguration

Grundlæggende opsætning

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

Profilmapping

Knyt Klaviyo-profilegenskaber til Brevo-kontaktattributter:

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

Hændelsesmapping

Knyt Klaviyo-metrikker til Brevo-hændelser:

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-endpoints

MetodeEndpointBeskrivelse
GET/api/profiles/Vis profiler
POST/api/profiles/Opret en profil
PATCH/api/profiles/{id}/Opdatér en profil
POST/api/profile-merge/Flet duplikerede profiler
GET/api/events/Vis hændelser
POST/api/events/Opret en hændelse
GET/api/lists/Vis alle lister
POST/api/lists/{id}/relationships/profiles/Tilføj profiler til en liste
GET/api/segments/Vis segmenter
GET/api/campaigns/Vis kampagner
GET/api/flows/Vis flows
GET/api/metrics/Vis metrikker
POST/api/metric-aggregates/Forespørg metrik-aggregater
GET/api/catalog-items/Vis katalogelementer

Kodeeksempler

Initialisér Klaviyo-konnektor

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
});

Synkronisér profiler til 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 }
// }
// }

Opret en hændelse

// 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
}
}
})
});

Forespørg metrik-aggregater

// 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)']
}
}
})
});

Ratebegrænsninger

AutentifikationBurst-grænseStabil grænse
Private API Key75 forespørgsler/sek700 forespørgsler/min
OAuth150 forespørgsler/sek1.500 forespørgsler/min
Client API100 forespørgsler/sekN/A
Bulk-operationer10 forespørgsler/sek100 forespørgsler/min

API-revision påkrævet

Alle Klaviyo API-forespørgsler kræver revision-headeren sat til en gyldig API-versionsdato (f.eks. 2026-01-15). Forespørgsler uden denne header vil blive afvist.

Fejlfinding

ProblemÅrsagLøsning
400 Bad RequestUgyldig eller manglende API-nøgleVerificér, at privat API-nøgle er korrekt
403 ForbiddenUtilstrækkeligt scopeTjek, at API-nøglens scopes matcher de påkrævede rettigheder
Manglende revision-headerHeader ikke satTilføj revision: 2026-01-15 til alle forespørgsler
Profil ikke fundetForkert identifikatorBrug Klaviyo-profil-id, ikke e-mail, til opslag
Hændelser synkroniseres ikkeForkert metriknavnMatch nøjagtige metriknavne som defineret i Klaviyo
429 Too Many RequestsRatebegrænsning overskredetImplementér eksponentiel backoff, overvej OAuth for højere grænser
JSON:API-formatfejlForkert content-typeBrug application/vnd.api+json til Content-Type og Accept-headere

Best practices

  1. Brug JSON:API-format - Følg JSON:API-specifikationen for alle request- og response-payloads
  2. Sæt revision-headeren - Inkludér altid revision-headeren med den seneste API-versionsdato
  3. Brug sparse fieldsets - Anmod kun om nødvendige felter med ?fields[profile]=email,first_name for at reducere payloadstørrelse
  4. Udnyt relationer - Brug JSON:API include-parameteren til at hente relaterede ressourcer i én forespørgsel
  5. Brug cursor-paginering - Navigér store resultatsæt med page[cursor]-parameteren
  6. Implementér bulk-operationer - Brug bulk-endpoints til batch-profilimporter og hændelsesoprettelse
  7. Brug OAuth for højere grænser - OAuth-autentifikation giver 2x højere ratebegrænsninger end private nøgler

Sikkerhed

  • Private API-nøglescopes - Granulær Read/Full-adgangskontrol per ressourcetype
  • OAuth-understøttelse - Sikker tokenbaseret autentifikation til partnerintegrationer
  • Isolering af offentlig nøgle - Klientside-nøgler begrænset til create-only-operationer
  • TLS 1.2+ - Al API-kommunikation krypteres under transport
  • SOC 2 Type II - Klaviyo er SOC 2 Type II-certificeret
  • GDPR-overholdelse - Data Privacy API til anmodninger om profilsletning

Relaterede ressourcer

Subscribe to updates

developer-docs

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

auto-detect
AI-assistent

Hej! Spørg mig om dokumentationen.