Klaviyo-koppling
Kopplingens status: Under utveckling Byggs. Inte verifierad än.
Illustration · exempeldata
Exempel på synkronisering
Källa
Klaviyo
Kopplingens status: Under utveckling
Mål
Ditt andra verktyg
Kopplingens status: Eget verktyg
Fältmappning
| Källfält | Målfält | Exempelvärde |
|---|---|---|
record.id | source_id | record_1042 |
record.updated_at | updated_at | 2026-10-18T08:00:00Z |
record.value | value | sample_value |
- Utkast
- Granska en post
- Godkänn den här versionen
Status gäller varje enskild koppling och garanterar inte att den här synkroniseringen är klar. Fälten är illustrativa. Kontrollera det faktiska schemat och behörigheterna innan synkronisering körs.
Anslut Klaviyo till Brevo via Tajo för att migrera eller synkronisera marknadsföringsdata mellan plattformarna. Synka profiler, händelser, listor, segment, flöden och kampanjdata för en enhetlig marknadsföringsstrategi i flera kanaler.
Översikt
| Egenskap | Värde |
|---|---|
| Plattform | Klaviyo |
| Kategori | Marknadsföring |
| Installationskomplexitet | Medel |
| Officiell integration | Nej |
| Data som synkas | Profiler, händelser, listor, segment, kampanjer |
| Tillgängliga skills | 10 |
| API-standard | JSON:API |
Funktioner
- Profilsynk - Dubbelriktad synk av kundprofiler mellan Klaviyo och Brevo
- Vidarebefordran av händelser - Vidarebefordra Klaviyo-spårade händelser till Brevo som automationstriggers
- Listmigrering - Synka Klaviyo-listor till Brevos kontaktlistor
- Segmentsynk - Exportera Klaviyo-segment som Brevo-listor eller -segment
- Export av flödesdata - Hämta prestandadata från flöden för tvärplattformsanalys
- Kampanjsynk - Koordinera kampanjer över Klaviyo- och Brevo-kanaler
- Katalogsynk - Spegla produktkataloger mellan plattformarna
- Hantering av rabattkoder - Synka rabattkoder och användningsdata
Förutsättningar
Innan du börjar, se till att du har:
- Ett Klaviyo-konto med API-åtkomst
- En privat API-nyckel med lämpliga scopes
- Din publika API-nyckel från Klaviyo (6-tecken långt företags-ID)
- Ett Brevo-konto med API-åtkomst
- Ett Tajo-konto med API-uppgifter
Autentisering
Privat API-nyckel
Klaviyo använder privata API-nycklar med scope-baserad åtkomst för serverbaserad autentisering. Ange nyckeln i Authorization-headern:
curl https://a.klaviyo.com/api/profiles/ \ -H "Authorization: Klaviyo-API-Key your-private-api-key" \ -H "revision: 2026-01-15"Scopes för API-nyckeln
Konfigurera scopes när du skapar din privata nyckel:
| Scope | Åtkomst | Beskrivning |
|---|---|---|
profiles | Read/Full | Åtkomst till kontaktprofiler |
events | Read/Full | Åtkomst till spårade händelser |
lists | Read/Full | Åtkomst till kontaktlistor |
segments | Read | Åtkomst till segment |
campaigns | Read | Åtkomst till kampanjdata |
metrics | Read | Åtkomst till metrikdefinitioner |
flows | Read | Åtkomst till flödeskonfigurationer |
catalogs | Read | Åtkomst till produktkataloger |
Publik API-nyckel
För klientbaserad spårning, använd ditt 6-tecken långa företags-ID:
curl -X POST "https://a.klaviyo.com/client/events/?company_id=COMPANY_ID" \ -H "Content-Type: application/json" \ -d '{"data": {...}}'OAuth (partnerintegrationer)
Klaviyo stöder OAuth för tech partners, vilket ger förbättrad säkerhet och högre rate limits:
curl https://a.klaviyo.com/api/profiles/ \ -H "Authorization: Bearer YOUR_OAUTH_TOKEN" \ -H "revision: 2026-01-15"Konfiguration
Grundläggande konfiguration
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: 22Profilmappning
Mappa Klaviyo-profilegenskaper till Brevos kontaktattribut:
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ändelsemappning
Mappa Klaviyo-metriker till 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-ändpunkter
| Metod | Ändpunkt | Beskrivning |
|---|---|---|
GET | /api/profiles/ | Lista profiler |
POST | /api/profiles/ | Skapa en profil |
PATCH | /api/profiles/{id}/ | Uppdatera en profil |
POST | /api/profile-merge/ | Slå ihop duplicerade profiler |
GET | /api/events/ | Lista händelser |
POST | /api/events/ | Skapa en händelse |
GET | /api/lists/ | Lista alla listor |
POST | /api/lists/{id}/relationships/profiles/ | Lägg till profiler i en lista |
GET | /api/segments/ | Lista segment |
GET | /api/campaigns/ | Lista kampanjer |
GET | /api/flows/ | Lista flöden |
GET | /api/metrics/ | Lista metriker |
POST | /api/metric-aggregates/ | Kör metrikaggregatfrågor |
GET | /api/catalog-items/ | Lista katalogobjekt |
Kodexempel
Initiera Klaviyo-kopplingen
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});Synka profiler till 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 }// }// }Skapa 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 } } })});Fråga efter metrikaggregat
// 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)'] } } })});API-gränser
| Autentisering | Burst-gräns | Jämn gräns |
|---|---|---|
| Privat API-nyckel | 75 förfrågningar/sek | 700 förfrågningar/min |
| OAuth | 150 förfrågningar/sek | 1 500 förfrågningar/min |
| Client API | 100 förfrågningar/sek | – |
| Bulkoperationer | 10 förfrågningar/sek | 100 förfrågningar/min |
API-revision krävs
Alla Klaviyo API-förfrågningar kräver att revision-headern är satt till ett giltigt datum för API-version (t.ex. 2026-01-15). Förfrågningar utan denna header avvisas.
Felsökning
| Problem | Orsak | Lösning |
|---|---|---|
400 Bad Request | Ogiltig eller saknad API-nyckel | Verifiera att den privata API-nyckeln är korrekt |
403 Forbidden | Otillräckligt scope | Kontrollera att API-nyckelns scopes matchar nödvändiga behörigheter |
revision-header saknas | Header ej satt | Lägg till revision: 2026-01-15 i alla förfrågningar |
| Profil hittades inte | Fel identifierare | Använd Klaviyo-profil-ID, inte e-post, för uppslag |
| Händelser synkar inte | Fel metriknamn | Matcha exakta metriknamn som definierats i Klaviyo |
429 Too Many Requests | Rate limit överskriden | Implementera exponentiell backoff, överväg OAuth för högre gränser |
| Format-fel i JSON:API | Fel content type | Använd application/vnd.api+json för Content-Type- och Accept-headrar |
Bästa praxis
- Använd JSON:API-format - Följ JSON:API-specifikationen för alla förfråge- och svarsdata
- Sätt revision-headern - Inkludera alltid
revision-headern med det senaste API-versionsdatumet - Använd sparse fieldsets - Begär endast nödvändiga fält med
?fields[profile]=email,first_nameför att minska svarsstorleken - Utnyttja relationer - Använd JSON:API-parametern
includeför att hämta relaterade resurser i en enda förfrågan - Använd cursor-paginering - Navigera stora resultatmängder med parametern
page[cursor] - Implementera bulkoperationer - Använd bulk-ändpunkter för batch-profilimporter och händelseskapande
- Använd OAuth för högre gränser - OAuth-autentisering ger dubbelt så höga rate limits som privata nycklar
Säkerhet
- Scopes för privata API-nycklar - Granulär Read/Full-åtkomstkontroll per resurstyp
- OAuth-stöd - Säker tokenbaserad autentisering för partnerintegrationer
- Isolering av publik nyckel - Klientbaserade nycklar begränsade till create-operationer
- TLS 1.2+ - All API-kommunikation krypteras under transport
- SOC 2 Type II - Klaviyo är SOC 2 Type II-certifierat
- GDPR-efterlevnad - Data Privacy API för begäran om profilradering