Konektor Klaviyo

Połącz Klaviyo z Brevo przez Tajo, aby migrować lub synchronizować dane marketingowe między platformami. Synchronizuj profile, zdarzenia, listy, segmenty, przepływy i dane kampanii dla ujednoliconej wielokanałowej strategii marketingowej.

Przegląd

WłaściwośćWartość
PlatformaKlaviyo
KategoriaMarketing
Poziom konfiguracjiŚredni
Integracja oficjalnaNie
Synchronizowane daneProfile, Zdarzenia, Listy, Segmenty, Kampanie
Dostępne Skills10
Standard APIJSON:API

Funkcje

  • Synchronizacja profili - Dwukierunkowa synchronizacja profili klientów między Klaviyo a Brevo
  • Przekazywanie zdarzeń - Przekazuj śledzone zdarzenia Klaviyo do Brevo dla wyzwalaczy automatyzacji
  • Migracja list - Synchronizuj listy Klaviyo z listami kontaktów Brevo
  • Synchronizacja segmentów - Eksportuj segmenty Klaviyo jako listy lub segmenty Brevo
  • Eksport danych przepływów - Pobierz dane wydajności przepływów dla analityki międzyplatformowej
  • Synchronizacja kampanii - Koordynuj kampanie między kanałami Klaviyo i Brevo
  • Synchronizacja katalogu - Dubluj katalogi produktów między platformami
  • Zarządzanie kuponami - Synchronizuj kody kuponów i dane użycia

Wymagania wstępne

Zanim zaczniesz, upewnij się, że masz:

  1. Konto Klaviyo z dostępem do API
  2. Prywatny klucz API z odpowiednimi zakresami
  3. Publiczny klucz API Klaviyo (6-znakowy ID firmy)
  4. Konto Brevo z dostępem do API
  5. Konto Tajo z poświadczeniami API

Uwierzytelnianie

Prywatny klucz API

Klaviyo używa prywatnych kluczy API z dostępem z zakresem dla uwierzytelniania po stronie serwera. Ustaw klucz w nagłówku Authorization:

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

Zakresy kluczy API

Konfiguruj zakresy podczas tworzenia prywatnego klucza:

ZakresDostępOpis
profilesOdczyt/PełnyDostęp do profili kontaktów
eventsOdczyt/PełnyDostęp do śledzonych zdarzeń
listsOdczyt/PełnyDostęp do list kontaktów
segmentsOdczytDostęp do segmentów
campaignsOdczytDostęp do danych kampanii
metricsOdczytDostęp do definicji metryk
flowsOdczytDostęp do konfiguracji przepływów
catalogsOdczytDostęp do katalogów produktów

Publiczny klucz API

Dla śledzenia po stronie klienta używaj 6-znakowego ID firmy:

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

OAuth (integracje partnerskie)

Klaviyo obsługuje OAuth dla partnerów technologicznych, oferując lepsze bezpieczeństwo i limity szybkości:

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

Konfiguracja

Podstawowa konfiguracja

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

Mapowanie profili

Mapuj właściwości profili Klaviyo na atrybuty kontaktów 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_PREF

Mapowanie zdarzeń

Mapuj metryki Klaviyo na zdarzenia 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"

Endpointy API

MetodaEndpointOpis
GET/api/profiles/Lista profili
POST/api/profiles/Utwórz profil
PATCH/api/profiles/{id}/Zaktualizuj profil
POST/api/profile-merge/Scal zduplikowane profile
GET/api/events/Lista zdarzeń
POST/api/events/Utwórz zdarzenie
GET/api/lists/Lista wszystkich list
POST/api/lists/{id}/relationships/profiles/Dodaj profile do listy
GET/api/segments/Lista segmentów
GET/api/campaigns/Lista kampanii
GET/api/flows/Lista przepływów
GET/api/metrics/Lista metryk
POST/api/metric-aggregates/Zapytaj agregaty metryk
GET/api/catalog-items/Lista elementów katalogu

Przykłady kodu

Inicjalizacja konektora Klaviyo

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

Synchronizuj profile do 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 }
// }
// }

Utwórz zdarzenie

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

Zapytanie o agregaty metryk

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

Limity API

UwierzytelnianieLimit burstLimit stały
Prywatny klucz API75 żądań/sek700 żądań/min
OAuth150 żądań/sek1 500 żądań/min
API klienta100 żądań/sekNie dotyczy
Operacje zbiorcze10 żądań/sek100 żądań/min

Wymagany nagłówek wersji API

Wszystkie żądania Klaviyo API wymagają nagłówka revision ustawionego na prawidłową datę wersji API (np. 2026-01-15). Żądania bez tego nagłówka zostaną odrzucone.

Rozwiązywanie problemów

ProblemPrzyczynaRozwiązanie
400 Bad RequestNieprawidłowy lub brakujący klucz APIZweryfikuj, czy prywatny klucz API jest prawidłowy
403 ForbiddenNiewystarczający zakresSprawdź zakresy klucza API odpowiadające wymaganym uprawnieniom
Brakujący nagłówek revisionNagłówek nie ustawionyDodaj revision: 2026-01-15 do wszystkich żądań
Profil nie znalezionyZły identyfikatorUżywaj ID profilu Klaviyo, nie e-maila, dla wyszukiwań
Zdarzenia nie synchronizują sięZła nazwa metrykiDopasuj dokładne nazwy metryk zdefiniowane w Klaviyo
429 Too Many RequestsPrzekroczony limit szybkościWdrożyj wykładnicze wycofanie, rozważ OAuth dla wyższych limitów
Błędy formatu JSON:APIZły typ treściUżywaj application/vnd.api+json dla nagłówków Content-Type i Accept

Najlepsze praktyki

  1. Używaj formatu JSON:API - Przestrzegaj specyfikacji JSON:API dla wszystkich ładunków żądań i odpowiedzi
  2. Ustaw nagłówek wersji - Zawsze dołączaj nagłówek revision z najnowszą datą wersji API
  3. Używaj sparse fieldsets - Żądaj tylko potrzebnych pól z ?fields[profile]=email,first_name, aby zmniejszyć rozmiar ładunku
  4. Korzystaj z relacji - Używaj parametru include JSON:API do pobierania powiązanych zasobów w jednym żądaniu
  5. Używaj paginacji kursorowej - Nawiguj duże zestawy wyników z parametrem page[cursor]
  6. Wdrożyj operacje zbiorcze - Używaj endpointów zbiorczych dla masowych importów profili i tworzenia zdarzeń
  7. Używaj OAuth dla wyższych limitów - Uwierzytelnianie OAuth zapewnia 2x wyższe limity szybkości niż klucze prywatne

Bezpieczeństwo

  • Zakresy prywatnego klucza API - Szczegółowa kontrola dostępu Odczyt/Pełny na typ zasobu
  • Obsługa OAuth - Bezpieczne uwierzytelnianie oparte na tokenach dla integracji partnerskich
  • Izolacja klucza publicznego - Klucze po stronie klienta ograniczone do operacji tylko do tworzenia
  • TLS 1.2+ - Cała komunikacja API szyfrowana w tranzycie
  • SOC 2 Type II - Klaviyo posiada certyfikat SOC 2 Type II
  • Zgodność z RODO - Data Privacy API dla żądań usunięcia profilu

Powiązane zasoby

Subscribe to updates

developer-docs

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

auto-detect
Asystent AI

Cześć! Zapytaj mnie o dokumentację.