---
title: "Klaviyo konektor"
description: "Kompletan vodič za Klaviyo integraciju za sinhronizaciju profila, događaja, lista, segmenata i podataka kampanja sa Brevo putem Tajo."
url: https://tajo.io/sr/docs/connectors/marketing/klaviyo/
markdown: https://tajo.io/sr/docs/connectors/marketing/klaviyo.md
lang: sr-Latn-RS
robots: noindex
---

Zatražite rani pristup

Unesite ime i poslovnu adresu e-pošte. Poslaćemo vam vezu za potvrdu zahteva za pristup Taju.

# Klaviyo konektor

Status konektora: U izradi Gradi se. Još nije provereno.

| Izvorno polje | Odredišno polje | Primer vrednosti |
| --- | --- | --- |
| `record.id` | `source_id` | `record_1042` |
| `record.updated_at` | `updated_at` | `2026-10-18T08:00:00Z` |
| `record.value` | `value` | `sample_value` |

Poveži Klaviyo sa Brevo putem Tajo da migruješ ili sinhronizuješ marketing podatke između platforma. Sinhronizuj profile, događaje, liste, segmente, tokove i podatke kampanja za unifikovanu multi-kanalnu marketing strategiju.

## Pregled

| Svojstvo | Vrednost |
| --- | --- |
| **Platforma** | Klaviyo |
| **Kategorija** | Marketing |
| **Složenost podešavanja** | Srednje |
| **Zvanična integracija** | Ne |
| **Sinhronizovani podaci** | Profili, Događaji, Liste, Segmenti, Kampanje |
| **Dostupne veštine** | 10 |
| **API standard** | JSON:API |

## Karakteristike

- **Sinhronizacija profila** - Dvosmerna sinhronizacija profila kupaca između Klaviyo i Brevo
- **Prosleđivanje događaja** - Prosleđivanje Klaviyo praćenih događaja u Brevo za okidače automatizacije
- **Migracija lista** - Sinhronizacija Klaviyo lista na Brevo liste kontakata
- **Sinhronizacija segmenata** - Izvoz Klaviyo segmenata kao Brevo lista ili segmenata
- **Izvoz podataka tokova** - Povlačenje podataka o performansama toka za cross-platform analitiku
- **Sinhronizacija kampanja** - Koordinacija kampanja između Klaviyo i Brevo kanala
- **Sinhronizacija kataloga** - Ogledanje kataloga proizvoda između platforma
- **Upravljanje kuponima** - Sinhronizacija kodova kupona i podataka o upotrebi

## Preduslovi

Pre nego što započneš, proveri da imaš:

1. Klaviyo nalog sa API pristupom
2. Privatni API ključ sa odgovarajućim skopovima
3. Klaviyo javni API ključ (6-karaterski ID kompanije)
4. Brevo nalog sa API pristupom
5. Tajo nalog sa API akreditivima

## Autentifikacija

### Privatni API ključ

Klaviyo koristi privatne API ključeve sa skopovanim pristupom za server-side autentifikaciju. Postavi ključ u `Authorization` header:

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

### Skopovi API ključa

Konfiguriši skopove pri kreiranju privatnog ključa:

| Skop | Pristup | Opis |
| --- | --- | --- |
| `profiles` | Čitanje/Puno | Pristup profilima kontakata |
| `events` | Čitanje/Puno | Pristup praćenim događajima |
| `lists` | Čitanje/Puno | Pristup listama kontakata |
| `segments` | Čitanje | Pristup segmentima |
| `campaigns` | Čitanje | Pristup podacima kampanja |
| `metrics` | Čitanje | Pristup definicijama metrika |
| `flows` | Čitanje | Pristup konfiguracijama tokova |
| `catalogs` | Čitanje | Pristup katalozima proizvoda |

### Javni API ključ

Za praćenje na strani klijenta, koristi 6-karakterni ID kompanije:

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

### OAuth (Partnerske integracije)

Klaviyo podržava OAuth za tehničke partnere, nudeći poboljšanu bezbednost i limite brzine:

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

## Konfiguracija

### Osnovno podešavanje

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

### Mapiranje profila

Mapiranje Klaviyo svojstava profila na Brevo atribute kontakta:

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

### Mapiranje događaja

Mapiranje Klaviyo metrika na Brevo događaje:

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

## API endpointi

| Metoda | Endpoint | Opis |
| --- | --- | --- |
| `GET` | `/api/profiles/` | Listanje profila |
| `POST` | `/api/profiles/` | Kreiranje profila |
| `PATCH` | `/api/profiles/{id}/` | Ažuriranje profila |
| `POST` | `/api/profile-merge/` | Spajanje duplikatnih profila |
| `GET` | `/api/events/` | Listanje događaja |
| `POST` | `/api/events/` | Kreiranje događaja |
| `GET` | `/api/lists/` | Listanje svih lista |
| `POST` | `/api/lists/{id}/relationships/profiles/` | Dodavanje profila na listu |
| `GET` | `/api/segments/` | Listanje segmenata |
| `GET` | `/api/campaigns/` | Listanje kampanja |
| `GET` | `/api/flows/` | Listanje tokova |
| `GET` | `/api/metrics/` | Listanje metrika |
| `POST` | `/api/metric-aggregates/` | Upit agregata metrika |
| `GET` | `/api/catalog-items/` | Listanje stavki kataloga |

## Primeri koda

### Inicijalizacija Klaviyo konektora

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

### Sinhronizacija profila sa 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 }
//   }
// }
```

### Kreiranje događaja

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

### Upit agregata metrika

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

## Ograničenja brzine

| Autentifikacija | Burst limit | Stabilni limit |
| --- | --- | --- |
| **Privatni API ključ** | 75 zahteva/sek | 700 zahteva/min |
| **OAuth** | 150 zahteva/sek | 1.500 zahteva/min |
| **Client API** | 100 zahteva/sek | N/A |
| **Bulk operacije** | 10 zahteva/sek | 100 zahteva/min |

Obavezan revision header

Svi Klaviyo API zahtevi zahtevaju header `revision` postavljen na važeći datum verzije API-ja (npr. `2026-01-15`). Zahtevi bez ovog headera biće odbijeni.

## Rešavanje problema

| Problem | Uzrok | Rešenje |
| --- | --- | --- |
| `400 Bad Request` | Nevažeći ili nedostaje API ključ | Verifikuj da je privatni API ključ ispravan |
| `403 Forbidden` | Nedovoljni skop | Proveri da li skopovi API ključa odgovaraju potrebnim dozvolama |
| Nedostaje `revision` header | Header nije postavljen | Dodaj `revision: 2026-01-15` svim zahtevima |
| Profil nije pronađen | Pogrešan identifikator | Koristi Klaviyo ID profila, ne email, za pretraživanja |
| Događaji se ne sinhronizuju | Pogrešan naziv metrike | Podudaraj tačne nazive metrika kao što su definisani u Klaviyo |
| `429 Too Many Requests` | Prekoračen limit brzine | Implementiraj eksponencijalno usporavanje, razmotri OAuth za više limite |
| JSON:API greške formata | Pogrešan Content-Type | Koristi `application/vnd.api+json` za Content-Type i Accept header |

## Najbolje prakse

1. **Koristi JSON:API format** - Prati JSON:API specifikaciju za sve payloade zahteva i odgovora
2. **Postavi revision header** - Uvek uključi `revision` header sa najnovijim datumom verzije API-ja
3. **Koristi sparse fieldset-ove** - Zahtevaj samo potrebna polja sa `?fields[profile]=email,first_name` da smanjiš veličinu payloada
4. **Iskoristi relacije** - Koristi JSON:API `include` parametar za dohvatanje srodnih resursa u jednom zahtevu
5. **Koristi cursor paginaciju** - Navigiraj kroz velike skupove rezultata sa `page[cursor]` parametrom
6. **Implementiraj bulk operacije** - Koristi bulk endpointe za batch uvoz profila i kreiranje događaja
7. **Koristi OAuth za više limite** - OAuth autentifikacija pruža 2x više limite brzine od privatnih ključeva

## Bezbednost

- **Skopovi privatnog API ključa** - Granularna kontrola pristupa Čitanje/Puno po tipu resursa
- **OAuth podrška** - Bezbedna autentifikacija zasnovana na tokenima za partnerske integracije
- **Izolacija javnog ključa** - Ključevi na strani klijenta ograničeni na operacije samo kreiranja
- **TLS 1.2+** - Sva API komunikacija enkriptovana u prenosu
- **SOC 2 Type II** - Klaviyo je SOC 2 Type II sertifikovan
- **GDPR usklađenost** - Data Privacy API za zahteve brisanja profila

## Povezani resursi

- [Brevo konektor](https://tajo.io/sr/docs/connectors/marketing/brevo)
- [Google Ads konektor](https://tajo.io/sr/docs/connectors/marketing/google-ads)
- [Meta Ads konektor](https://tajo.io/sr/docs/connectors/marketing/meta-ads)
- [Customer Sync veština](https://tajo.io/sr/docs/skills/data-sync/customer-sync)
