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
| Egenskab | Værdi |
|---|---|
| Platform | Klaviyo |
| Kategori | Marketing |
| Opsætningskompleksitet | Mellem |
| Officiel integration | Nej |
| Synkroniserede data | Profiler, hændelser, lister, segmenter, kampagner |
| Tilgængelige skills | 10 |
| API-standard | JSON: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:
- En Klaviyo-konto med API-adgang
- En Private API Key med passende scopes
- Din Klaviyo Public API Key (6-tegns firma-id)
- En Brevo-konto med API-adgang
- 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:
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:
| Scope | Adgang | Beskrivelse |
|---|---|---|
profiles | Read/Full | Adgang til kontaktprofiler |
events | Read/Full | Adgang til sporede hændelser |
lists | Read/Full | Adgang til kontaktlister |
segments | Read | Adgang til segmenter |
campaigns | Read | Adgang til kampagnedata |
metrics | Read | Adgang til metrikkdefinitioner |
flows | Read | Adgang til flow-konfigurationer |
catalogs | Read | Adgang til produktkataloger |
Public API Key
Til klientside-sporing bruges 6-tegns firma-id’et:
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:
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: 22Profilmapping
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_PREFHæ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
| Metode | Endpoint | Beskrivelse |
|---|---|---|
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 accountawait 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 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 }// }// }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: { }, 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 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)'] } } })});Ratebegrænsninger
| Autentifikation | Burst-grænse | Stabil grænse |
|---|---|---|
| Private API Key | 75 forespørgsler/sek | 700 forespørgsler/min |
| OAuth | 150 forespørgsler/sek | 1.500 forespørgsler/min |
| Client API | 100 forespørgsler/sek | N/A |
| Bulk-operationer | 10 forespørgsler/sek | 100 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 | Årsag | Løsning |
|---|---|---|
400 Bad Request | Ugyldig eller manglende API-nøgle | Verificér, at privat API-nøgle er korrekt |
403 Forbidden | Utilstrækkeligt scope | Tjek, at API-nøglens scopes matcher de påkrævede rettigheder |
Manglende revision-header | Header ikke sat | Tilføj revision: 2026-01-15 til alle forespørgsler |
| Profil ikke fundet | Forkert identifikator | Brug Klaviyo-profil-id, ikke e-mail, til opslag |
| Hændelser synkroniseres ikke | Forkert metriknavn | Match nøjagtige metriknavne som defineret i Klaviyo |
429 Too Many Requests | Ratebegrænsning overskredet | Implementér eksponentiel backoff, overvej OAuth for højere grænser |
| JSON:API-formatfejl | Forkert content-type | Brug application/vnd.api+json til Content-Type og Accept-headere |
Best practices
- Brug JSON:API-format - Følg JSON:API-specifikationen for alle request- og response-payloads
- Sæt revision-headeren - Inkludér altid
revision-headeren med den seneste API-versionsdato - Brug sparse fieldsets - Anmod kun om nødvendige felter med
?fields[profile]=email,first_namefor at reducere payloadstørrelse - Udnyt relationer - Brug JSON:API
include-parameteren til at hente relaterede ressourcer i én forespørgsel - Brug cursor-paginering - Navigér store resultatsæt med
page[cursor]-parameteren - Implementér bulk-operationer - Brug bulk-endpoints til batch-profilimporter og hændelsesoprettelse
- 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