---
title: "Konektor Klaviyo"
description: "Kompletny przewodnik integracji Klaviyo do synchronizacji profili, zdarzeń, list, segmentów i danych kampanii z Brevo przez Tajo."
url: https://tajo.io/pl/docs/connectors/marketing/klaviyo/
markdown: https://tajo.io/pl/docs/connectors/marketing/klaviyo.md
lang: pl-PL
robots: noindex
---

Poproś o wcześniejszy dostęp

Podaj imię i firmowy adres e-mail. Wyślemy Ci link potwierdzający prośbę o dostęp do Tajo.

# Konektor Klaviyo

Status konektora: W trakcie W budowie. Jeszcze niezweryfikowany.

| Pole źródłowe | Pole docelowe | Przykładowa wartość |
| --- | --- | --- |
| `record.id` | `source_id` | `record_1042` |
| `record.updated_at` | `updated_at` | `2026-10-18T08:00:00Z` |
| `record.value` | `value` | `sample_value` |

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ść |
| --- | --- |
| **Platforma** | Klaviyo |
| **Kategoria** | Marketing |
| **Poziom konfiguracji** | Średni |
| **Integracja oficjalna** | Nie |
| **Synchronizowane dane** | Profile, Zdarzenia, Listy, Segmenty, Kampanie |
| **Dostępne Skills** | 10 |
| **Standard API** | JSON: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`:

```bash
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:

| Zakres | Dostęp | Opis |
| --- | --- | --- |
| `profiles` | Odczyt/Pełny | Dostęp do profili kontaktów |
| `events` | Odczyt/Pełny | Dostęp do śledzonych zdarzeń |
| `lists` | Odczyt/Pełny | Dostęp do list kontaktów |
| `segments` | Odczyt | Dostęp do segmentów |
| `campaigns` | Odczyt | Dostęp do danych kampanii |
| `metrics` | Odczyt | Dostęp do definicji metryk |
| `flows` | Odczyt | Dostęp do konfiguracji przepływów |
| `catalogs` | Odczyt | Dostęp do katalogów produktów |

### Publiczny klucz API

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

```bash
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:

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

## Konfiguracja

### Podstawowa konfiguracja

```yaml
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:

```yaml
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:

```yaml
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

| Metoda | Endpoint | Opis |
| --- | --- | --- |
| `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

```javascript
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

```javascript
// 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": "jane@example.com",
//     "first_name": "Jane",
//     "last_name": "Kim",
//     "phone_number": "+15551234567",
//     "properties": { "lifetime_value": 450.00 }
//   }
// }
```

### Utwórz zdarzenie

```javascript
// 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: 'jane@example.com' } }
        },
        properties: {
          OrderId: 'ORD-1234',
          Value: 89.99,
          Items: [
            { ProductName: 'Widget Pro', Price: 89.99, Quantity: 1 }
          ]
        },
        value: 89.99
      }
    }
  })
});
```

### Zapytanie o agregaty metryk

```javascript
// 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

| Uwierzytelnianie | Limit burst | Limit stały |
| --- | --- | --- |
| **Prywatny klucz API** | 75 żądań/sek | 700 żądań/min |
| **OAuth** | 150 żądań/sek | 1 500 żądań/min |
| **API klienta** | 100 żądań/sek | Nie dotyczy |
| **Operacje zbiorcze** | 10 żądań/sek | 100 żą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

| Problem | Przyczyna | Rozwiązanie |
| --- | --- | --- |
| `400 Bad Request` | Nieprawidłowy lub brakujący klucz API | Zweryfikuj, czy prywatny klucz API jest prawidłowy |
| `403 Forbidden` | Niewystarczający zakres | Sprawdź zakresy klucza API odpowiadające wymaganym uprawnieniom |
| Brakujący nagłówek `revision` | Nagłówek nie ustawiony | Dodaj `revision: 2026-01-15` do wszystkich żądań |
| Profil nie znaleziony | Zły identyfikator | Używaj ID profilu Klaviyo, nie e-maila, dla wyszukiwań |
| Zdarzenia nie synchronizują się | Zła nazwa metryki | Dopasuj dokładne nazwy metryk zdefiniowane w Klaviyo |
| `429 Too Many Requests` | Przekroczony limit szybkości | Wdrożyj wykładnicze wycofanie, rozważ OAuth dla wyższych limitów |
| Błędy formatu JSON:API | Zły typ treści | Uż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

- [Konektor Brevo](https://tajo.io/pl/docs/connectors/marketing/brevo)
- [Konektor Google Ads](https://tajo.io/pl/docs/connectors/marketing/google-ads)
- [Konektor Meta Ads](https://tajo.io/pl/docs/connectors/marketing/meta-ads)
- [Skill synchronizacji klientów](https://tajo.io/pl/docs/skills/data-sync/customer-sync)
