Conector Klaviyo
Starea conectorului: În lucru În construcție. Încă neverificat.
Ilustrație · date de exemplu
Exemplu de sincronizare
Sursă
Klaviyo
Starea conectorului: În lucru
Destinație
Celălalt instrument al tău
Starea conectorului: Instrument personalizat
Maparea câmpurilor
| Câmp sursă | Câmp destinație | Valoare exemplu |
|---|---|---|
record.id | source_id | record_1042 |
record.updated_at | updated_at | 2026-10-18T08:00:00Z |
record.value | value | sample_value |
- Ciornă
- Verifică o înregistrare
- Aprobă această versiune
Stările se referă la fiecare conector și nu garantează că această sincronizare este pregătită. Câmpurile sunt ilustrative. Verifică schema și permisiunile reale înainte de sincronizare.
Conectați Klaviyo la Brevo prin Tajo pentru a migra sau sincroniza datele de marketing între platforme. Sincronizați profiluri, evenimente, liste, segmente, fluxuri și date de campanie pentru o strategie de marketing multi-canal unificată.
Prezentare generală
| Proprietate | Valoare |
|---|---|
| Platformă | Klaviyo |
| Categorie | Marketing |
| Complexitate configurare | Medie |
| Integrare oficială | Nu |
| Date sincronizate | Profiluri, Evenimente, Liste, Segmente, Campanii |
| Skilluri disponibile | 10 |
| Standard API | JSON:API |
Funcționalități
- Sincronizare profiluri - Sincronizare bidirecțională a profilurilor clienților între Klaviyo și Brevo
- Redirecționare evenimente - Redirecționați evenimentele urmărite Klaviyo la Brevo pentru declanșatoare de automatizare
- Migrare liste - Sincronizați listele Klaviyo la listele de contacte Brevo
- Sincronizare segmente - Exportați segmentele Klaviyo ca liste sau segmente Brevo
- Export date flux - Extrageți date de performanță ale fluxurilor pentru analize cross-platformă
- Sincronizare campanii - Coordonați campaniile între canalele Klaviyo și Brevo
- Sincronizare catalog - Oglindirea cataloagelor de produse între platforme
- Gestionare cupoane - Sincronizați codurile de cupon și datele de utilizare
Cerințe preliminare
Înainte de a începe, asigurați-vă că aveți:
- Un cont Klaviyo cu acces API
- O Cheie API privată cu scope-uri corespunzătoare
- Cheia API publică Klaviyo (ID companie din 6 caractere)
- Un cont Brevo cu acces API
- Un cont Tajo cu credențiale API
Autentificare
Cheie API privată
Klaviyo utilizează chei API private cu acces cu scope pentru autentificarea server-side. Setați cheia în antetul Authorization:
curl https://a.klaviyo.com/api/profiles/ \ -H "Authorization: Klaviyo-API-Key your-private-api-key" \ -H "revision: 2026-01-15"Scope-uri cheie API
Configurați scope-urile la crearea cheii private:
| Scope | Acces | Descriere |
|---|---|---|
profiles | Citire/Complet | Acces profiluri contacte |
events | Citire/Complet | Acces evenimente urmărite |
lists | Citire/Complet | Acces liste contacte |
segments | Citire | Acces segmente |
campaigns | Citire | Acces date campanii |
metrics | Citire | Acces definiții metrici |
flows | Citire | Acces configurații fluxuri |
catalogs | Citire | Acces cataloage produse |
Cheie API publică
Pentru urmărire client-side, utilizați ID-ul companiei din 6 caractere:
curl -X POST "https://a.klaviyo.com/client/events/?company_id=COMPANY_ID" \ -H "Content-Type: application/json" \ -d '{"data": {...}}'OAuth (Integrări parteneri)
Klaviyo suportă OAuth pentru parteneri tech, oferind securitate și limite de rată îmbunătățite:
curl https://a.klaviyo.com/api/profiles/ \ -H "Authorization: Bearer YOUR_OAUTH_TOKEN" \ -H "revision: 2026-01-15"Configurare
Configurare de bază
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: 22Mapare profiluri
Mapați proprietățile profilurilor Klaviyo la atributele de contact Brevo:
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_PREFMapare evenimente
Mapați metricile Klaviyo la evenimentele Brevo:
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"Puncte finale API
| Metodă | Punct final | Descriere |
|---|---|---|
GET | /api/profiles/ | Listează profiluri |
POST | /api/profiles/ | Creează un profil |
PATCH | /api/profiles/{id}/ | Actualizează un profil |
POST | /api/profile-merge/ | Combină profiluri duplicate |
GET | /api/events/ | Listează evenimente |
POST | /api/events/ | Creează un eveniment |
GET | /api/lists/ | Listează toate listele |
POST | /api/lists/{id}/relationships/profiles/ | Adaugă profiluri la o listă |
GET | /api/segments/ | Listează segmentele |
GET | /api/campaigns/ | Listează campaniile |
GET | /api/flows/ | Listează fluxurile |
GET | /api/metrics/ | Listează metricile |
POST | /api/metric-aggregates/ | Interogați agregate de metrici |
GET | /api/catalog-items/ | Listează articolele din catalog |
Exemple de cod
Inițializare conector Klaviyo
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});Sincronizare profiluri la 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 }// }// }Creare eveniment
// 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 } } })});Interogare agregate de metrici
// 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)'] } } })});Limite de rată
| Autentificare | Limită burst | Limită stabilă |
|---|---|---|
| Cheie API privată | 75 cereri/sec | 700 cereri/min |
| OAuth | 150 cereri/sec | 1.500 cereri/min |
| Client API | 100 cereri/sec | N/A |
| Operații în bloc | 10 cereri/sec | 100 cereri/min |
Antet de revizuire API obligatoriu
Toate cererile API Klaviyo necesită antetul revision setat la o dată validă a versiunii API (ex: 2026-01-15). Cererile fără acest antet vor fi respinse.
Depanare
| Problemă | Cauză | Soluție |
|---|---|---|
400 Bad Request | Cheie API invalidă sau lipsă | Verificați că cheia API privată este corectă |
403 Forbidden | Scope insuficient | Verificați că scope-urile cheii API corespund permisiunilor necesare |
Antet revision lipsă | Antet nesetat | Adăugați revision: 2026-01-15 la toate cererile |
| Profil negăsit | Identificator greșit | Utilizați ID-ul profilului Klaviyo, nu e-mailul, pentru căutări |
| Evenimente nesincronizate | Nume metric greșit | Potriviți exact numele metricilor definite în Klaviyo |
429 Too Many Requests | Limită de rată depășită | Implementați backoff exponențial, luați în considerare OAuth pentru limite mai mari |
| Erori format JSON:API | Tip de conținut greșit | Utilizați application/vnd.api+json pentru antetele Content-Type și Accept |
Bune practici
- Utilizați formatul JSON:API - Urmați specificația JSON:API pentru toate payload-urile de cerere și răspuns
- Setați antetul de revizuire - Includeți întotdeauna antetul
revisioncu cea mai recentă dată a versiunii API - Utilizați câmpuri sparse - Solicitați doar câmpurile necesare cu
?fields[profile]=email,first_namepentru a reduce dimensiunea payload-ului - Valorificați relațiile - Utilizați parametrul
includeJSON:API pentru a prelua resursele conexe într-o singură cerere - Utilizați paginarea cu cursor - Navigați seturi de rezultate mari cu parametrul
page[cursor] - Implementați operații în bloc - Utilizați punctele finale bulk pentru importuri de profiluri în lot și crearea de evenimente
- Utilizați OAuth pentru limite mai mari - Autentificarea OAuth oferă limite de rată de 2x mai mari față de cheile private
Securitate
- Scope-uri cheie API privată - Control acces granular Citire/Complet per tip de resursă
- Suport OAuth - Autentificare securizată bazată pe token pentru integrările partenerilor
- Izolare cheie publică - Cheile client limitate la operații numai de creare
- TLS 1.2+ - Toate comunicațiile API criptate în tranzit
- SOC 2 Tip II - Klaviyo este certificat SOC 2 Tip II
- Conformitate GDPR - Data Privacy API pentru cereri de ștergere profiluri