Klaviyo конектор
Свържи Klaviyo с Brevo през Tajo, за да мигрираш или синхронизираш маркетингови данни между платформите. Синхронизирай профили, събития, списъци, сегменти, flows и данни за кампании за унифицирана multi-channel маркетингова стратегия.
Преглед
| Свойство | Стойност |
|---|---|
| Платформа | Klaviyo |
| Категория | Маркетинг |
| Сложност на настройка | Средна |
| Официална интеграция | Не |
| Синхронизирани данни | Профили, събития, списъци, сегменти, кампании |
| Налични скилове | 10 |
| API стандарт | JSON:API |
Функции
- Синхронизация на профили – Двупосочна синхронизация на клиентски профили между Klaviyo и Brevo
- Препращане на събития – Препращай проследените в Klaviyo събития към Brevo за automation тригери
- Миграция на списъци – Синхронизирай Klaviyo списъци към списъци с контакти в Brevo
- Синхронизация на сегменти – Експортирай Klaviyo сегменти като списъци или сегменти в Brevo
- Експорт на данни от flow – Извличай performance данни от flow за cross-platform аналитика
- Синхронизация на кампании – Координирай кампании между каналите на Klaviyo и Brevo
- Синхронизация на каталог – Mirror-ирай продуктови каталози между платформите
- Управление на купони – Синхронизирай кодове за купони и данни за използване
Предварителни условия
Преди да започнеш, увери се, че имаш:
- Акаунт в Klaviyo с API достъп
- Private API Key с подходящи обхвати
- Твоя Klaviyo Public API Key (6-символен company ID)
- Акаунт в Brevo с API достъп
- Акаунт в Tajo с API credentials
Автентикация
Private API Key
Klaviyo използва private API ключове с scoped достъп за server-side автентикация. Задай ключа в хедъра Authorization:
curl https://a.klaviyo.com/api/profiles/ \ -H "Authorization: Klaviyo-API-Key your-private-api-key" \ -H "revision: 2026-01-15"API обхвати на ключ
Конфигурирай обхватите при създаване на private ключа:
| Обхват | Достъп | Описание |
|---|---|---|
profiles | Read/Full | Достъп до контактни профили |
events | Read/Full | Достъп до проследени събития |
lists | Read/Full | Достъп до списъци с контакти |
segments | Read | Достъп до сегменти |
campaigns | Read | Достъп до данни за кампании |
metrics | Read | Достъп до дефиниции на метрики |
flows | Read | Достъп до flow конфигурации |
catalogs | Read | Достъп до продуктови каталози |
Public API Key
За client-side проследяване използвай 6-символния company ID:
curl -X POST "https://a.klaviyo.com/client/events/?company_id=COMPANY_ID" \ -H "Content-Type: application/json" \ -d '{"data": {...}}'OAuth (партньорски интеграции)
Klaviyo поддържа OAuth за tech партньори, предлагайки подобрена сигурност и rate limits:
curl https://a.klaviyo.com/api/profiles/ \ -H "Authorization: Bearer YOUR_OAUTH_TOKEN" \ -H "revision: 2026-01-15"Конфигурация
Основна настройка
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Мапване на профили
Мапвай свойства на профили в Klaviyo към атрибути на контактите в 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Мапване на събития
Мапвай Klaviyo метрики към събития в 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"API крайни точки
| Метод | Крайна точка | Описание |
|---|---|---|
GET | /api/profiles/ | Списък с профили |
POST | /api/profiles/ | Създаване на профил |
PATCH | /api/profiles/{id}/ | Обновяване на профил |
POST | /api/profile-merge/ | Обединяване на дублирани профили |
GET | /api/events/ | Списък със събития |
POST | /api/events/ | Създаване на събитие |
GET | /api/lists/ | Списък с всички списъци |
POST | /api/lists/{id}/relationships/profiles/ | Добавяне на профили към списък |
GET | /api/segments/ | Списък със сегменти |
GET | /api/campaigns/ | Списък с кампании |
GET | /api/flows/ | Списък с flows |
GET | /api/metrics/ | Списък с метрики |
POST | /api/metric-aggregates/ | Заявка за агрегати на метрики |
GET | /api/catalog-items/ | Списък с артикули от каталога |
Примери с код
Инициализация на 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});Синхронизация на профили към 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 }// }// }Създаване на събитие
// 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 } } })});Заявка за агрегати на метрики
// 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)'] } } })});Ограничения на заявките
| Автентикация | Burst Limit | Steady Limit |
|---|---|---|
| Private API Key | 75 заявки/сек | 700 заявки/мин |
| OAuth | 150 заявки/сек | 1 500 заявки/мин |
| Client API | 100 заявки/сек | N/A |
| Bulk операции | 10 заявки/сек | 100 заявки/мин |
Изисква се API ревизия
Всички Klaviyo API заявки изискват хедъра revision да е зададен на валидна дата на версия на API (напр. 2026-01-15). Заявките без този хедър ще бъдат отхвърлени.
Отстраняване на проблеми
| Проблем | Причина | Решение |
|---|---|---|
400 Bad Request | Невалиден или липсващ API ключ | Провери дали private API ключът е правилен |
403 Forbidden | Недостатъчен обхват | Провери дали обхватите на API ключа съвпадат с необходимите разрешения |
Липсващ хедър revision | Хедърът не е зададен | Добави revision: 2026-01-15 към всички заявки |
| Профилът не е намерен | Грешен идентификатор | Използвай Klaviyo profile ID, не имейл, за справки |
| Събитията не се синхронизират | Грешно име на метрика | Съпоставяй точните имена на метрики, както са дефинирани в Klaviyo |
429 Too Many Requests | Превишен rate limit | Внедри exponential backoff, обмисли OAuth за по-високи лимити |
| JSON:API format грешки | Грешен content type | Използвай application/vnd.api+json за Content-Type и Accept хедърите |
Добри практики
- Използвай JSON:API формат – Следвай JSON:API спецификацията за всички request и response payloads
- Задай revision хедъра – Винаги включвай хедъра
revisionс най-новата дата на API версията - Използвай sparse fieldsets – Заявявай само необходимите полета с
?fields[profile]=email,first_name, за да намалиш размера на payload-а - Използвай relationships – Използвай JSON:API параметъра
include, за да извличаш свързани ресурси с една заявка - Използвай cursor пагинация – Навигирай големи набори от резултати с параметъра
page[cursor] - Внедри bulk операции – Използвай bulk крайни точки за пакетни импорти на профили и създаване на събития
- Използвай OAuth за по-високи лимити – OAuth автентикация предоставя 2x по-високи rate limits от private keys
Сигурност
- Обхвати на Private API ключ – Гранулиран Read/Full контрол на достъпа на ниво тип ресурс
- OAuth поддръжка – Сигурна token-базирана автентикация за партньорски интеграции
- Изолация на public key – Client-side ключовете са ограничени до create-only операции
- TLS 1.2+ – Цялата API комуникация е криптирана при пренос
- SOC 2 Type II – Klaviyo е SOC 2 Type II сертифициран
- GDPR съвместимост – Data Privacy API за заявки за изтриване на профил