Klaviyo-kobling
Koble Klaviyo til Brevo gjennom Tajo for å migrere eller synkronisere markedsføringsdata mellom plattformer. Synkroniser profiler, hendelser, lister, segmenter, flows og kampanjedata for en enhetlig tverrkanalsmarkedsføringsstrategi.
Oversikt
| Egenskap | Verdi |
|---|---|
| Plattform | Klaviyo |
| Kategori | Markedsføring |
| Oppsettskompleksitet | Moderat |
| Offisiell integrasjon | Nei |
| Synkroniserte data | Profiler, hendelser, lister, segmenter, kampanjer |
| Tilgjengelige ferdigheter | 10 |
| API-standard | JSON:API |
Funksjoner
- Profilsynkronisering - Toveis synkronisering av kundeprofiler mellom Klaviyo og Brevo
- Hendelsesvideresending - Videresend sporede Klaviyo-hendelser til Brevo for automatiseringsutløsere
- Listemigrering - Synkroniser Klaviyo-lister til Brevo-kontaktlister
- Segmentsynkronisering - Eksporter Klaviyo-segmenter som Brevo-lister eller -segmenter
- Flow-dataeksport - Hent flow-ytelsesdata for tverrplattform-analyse
- Kampanjesynkronisering - Koordiner kampanjer på tvers av Klaviyo- og Brevo-kanaler
- Katalogsynkronisering - Speil produktkataloger mellom plattformer
- Kupongadministrasjon - Synkroniser kupongkoder og bruksdata
Forutsetninger
Før du begynner, sørg for at du har:
- En Klaviyo-konto med API-tilgang
- En Private API Key med passende scopes
- Din Klaviyo Public API Key (6-tegns selskaps-ID)
- En Brevo-konto med API-tilgang
- En Tajo-konto med API-påloggingsdetaljer
Autentisering
Private API Key
Klaviyo bruker private API-nøkler med avgrenset tilgang for tjenersideautentisering. Sett nøkkelen 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økkelscopes
Konfigurer scopes når du oppretter den private nøkkelen:
| Scope | Tilgang | Beskrivelse |
|---|---|---|
profiles | Read/Full | Tilgang til kontaktprofiler |
events | Read/Full | Tilgang til sporede hendelser |
lists | Read/Full | Tilgang til kontaktlister |
segments | Read | Tilgang til segmenter |
campaigns | Read | Tilgang til kampanjedata |
metrics | Read | Tilgang til metrikkdefinisjoner |
flows | Read | Tilgang til flow-konfigurasjoner |
catalogs | Read | Tilgang til produktkataloger |
Public API Key
For sporing på klientsiden, bruk 6-tegns selskaps-ID:
curl -X POST "https://a.klaviyo.com/client/events/?company_id=COMPANY_ID" \ -H "Content-Type: application/json" \ -d '{"data": {...}}'OAuth (partnerintegrasjoner)
Klaviyo støtter OAuth for tekniske partnere, noe som gir forbedret sikkerhet og høyere ratebegrensninger:
curl https://a.klaviyo.com/api/profiles/ \ -H "Authorization: Bearer YOUR_OAUTH_TOKEN" \ -H "revision: 2026-01-15"Konfigurasjon
Grunnleggende oppsett
connectors: klaviyo: enabled: true private_api_key: "your-klaviyo-private-key" public_api_key: "XXXXXX" api_revision: "2026-01-15"
# Synkroniseringsalternativer sync: profiles: true events: true lists: true segments: true catalogs: false
# Tildeling av Brevo-lister lists: all_contacts: 20 subscribers: 21 high_value: 22Profilmapping
Mapp Klaviyo-profilegenskaper 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
# Egendefinerte egenskaper lifetime_value: LTV total_orders: ORDER_COUNT last_order_date: LAST_ORDER_DATE preferred_channel: CHANNEL_PREFHendelsesmapping
Mapp Klaviyo-metrikker til Brevo-hendelser:
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-endepunkter
| Metode | Endepunkt | Beskrivelse |
|---|---|---|
GET | /api/profiles/ | List profiler |
POST | /api/profiles/ | Opprett en profil |
PATCH | /api/profiles/{id}/ | Oppdater en profil |
POST | /api/profile-merge/ | Slå sammen duplikatprofiler |
GET | /api/events/ | List hendelser |
POST | /api/events/ | Opprett en hendelse |
GET | /api/lists/ | List alle lister |
POST | /api/lists/{id}/relationships/profiles/ | Legg profiler til en liste |
GET | /api/segments/ | List segmenter |
GET | /api/campaigns/ | List kampanjer |
GET | /api/flows/ | List flows |
GET | /api/metrics/ | List metrikker |
POST | /api/metric-aggregates/ | Spør metrikkaggregater |
GET | /api/catalog-items/ | List katalogelementer |
Kodeeksempler
Initialiser Klaviyo-kobling
import { TajoClient } from '@tajo/sdk';
const tajo = new TajoClient({ apiKey: process.env.TAJO_API_KEY, brevoApiKey: process.env.BREVO_API_KEY});
// Koble til Klaviyo-kontoawait tajo.connectors.connect('klaviyo', { privateApiKey: process.env.KLAVIYO_PRIVATE_KEY, publicApiKey: process.env.KLAVIYO_PUBLIC_KEY});Synkroniser profiler til Brevo
// Hent Klaviyo-profiler og synkroniser til 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();
// Hver profil følger 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 }// }// }Opprett en hendelse
// Spor en hendelse i Klaviyo (videresendes til 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 } } })});Spør om metrikkaggregater
// Hent aggregerte metrikkdata for rapporteringawait 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)'] } } })});Ratebegrensninger
| Autentisering | Burstgrense | Kontinuerlig grense |
|---|---|---|
| Private API Key | 75 forespørsler/sek | 700 forespørsler/min |
| OAuth | 150 forespørsler/sek | 1 500 forespørsler/min |
| Client API | 100 forespørsler/sek | N/A |
| Bulkoperasjoner | 10 forespørsler/sek | 100 forespørsler/min |
API-revisjon kreves
Alle Klaviyo API-forespørsler krever revision-headeren satt til en gyldig API-versjonsdato (f.eks. 2026-01-15). Forespørsler uten denne headeren vil bli avvist.
Feilsøking
| Problem | Årsak | Løsning |
|---|---|---|
400 Bad Request | Ugyldig eller manglende API-nøkkel | Verifiser at privat API-nøkkel er korrekt |
403 Forbidden | Utilstrekkelig scope | Sjekk at API-nøkkelens scopes samsvarer med nødvendige rettigheter |
Manglende revision-header | Header ikke satt | Legg til revision: 2026-01-15 på alle forespørsler |
| Profil ikke funnet | Feil identifikator | Bruk Klaviyo-profil-ID, ikke e-post, for oppslag |
| Hendelser synkroniseres ikke | Feil metrikknavn | Match eksakte metrikknavn som definert i Klaviyo |
429 Too Many Requests | Ratebegrensning overskredet | Implementer eksponentiell backoff, vurder OAuth for høyere grenser |
| JSON:API-formatfeil | Feil content type | Bruk application/vnd.api+json for Content-Type- og Accept-headere |
Beste praksis
- Bruk JSON:API-format - Følg JSON:API-spesifikasjonen for alle forespørsels- og svar-payloads
- Sett revision-headeren - Inkluder alltid
revision-headeren med den nyeste API-versjonsdatoen - Bruk sparse fieldsets - Be kun om nødvendige felt med
?fields[profile]=email,first_namefor å redusere payload-størrelsen - Utnytt relasjoner - Bruk JSON:API-parameteren
includefor å hente relaterte ressurser i én forespørsel - Bruk markørpaginering - Naviger store resultatsett med
page[cursor]-parameteren - Implementer bulkoperasjoner - Bruk bulkendepunkter for batch-profilimporter og hendelsesopprettelse
- Bruk OAuth for høyere grenser - OAuth-autentisering gir 2x høyere ratebegrensninger enn private nøkler
Sikkerhet
- Scopes for privat API-nøkkel - Granulær Read/Full-tilgangskontroll per ressurstype
- OAuth-støtte - Sikker token-basert autentisering for partnerintegrasjoner
- Isolering av offentlig nøkkel - Klientsidenøkler begrenset til kun opprettelsesoperasjoner
- TLS 1.2+ - All API-kommunikasjon kryptert under transport
- SOC 2 Type II - Klaviyo er SOC 2 Type II-sertifisert
- GDPR-samsvar - Data Privacy API for forespørsler om profilsletting