---
title: "Klaviyo Connector"
description: "คู่มือการผสานรวม Klaviyo ฉบับสมบูรณ์สำหรับการซิงค์โปรไฟล์ เหตุการณ์ รายการ segments และข้อมูลแคมเปญกับ Brevo ผ่าน Tajo"
url: https://tajo.io/th/docs/connectors/marketing/klaviyo/
markdown: https://tajo.io/th/docs/connectors/marketing/klaviyo.md
lang: th-TH
robots: noindex
---

ขอสิทธิ์ใช้งานล่วงหน้า

กรอกชื่อและที่อยู่อีเมลที่ทำงานของคุณ เราจะส่งลิงก์เพื่อยืนยันคำขอเข้าใช้งาน Tajo ทางอีเมล

# Klaviyo Connector

สถานะตัวเชื่อม: กำลังพัฒนา กำลังสร้าง ยังไม่ได้รับการยืนยัน

| ฟิลด์ต้นทาง | ฟิลด์ปลายทาง | ค่าตัวอย่าง |
| --- | --- | --- |
| `record.id` | `source_id` | `record_1042` |
| `record.updated_at` | `updated_at` | `2026-10-18T08:00:00Z` |
| `record.value` | `value` | `sample_value` |

เชื่อมต่อ Klaviyo กับ Brevo ผ่าน Tajo เพื่อย้ายหรือซิงค์ข้อมูลการตลาดระหว่างแพลตฟอร์ม ซิงค์โปรไฟล์ เหตุการณ์ รายการ segments flows และข้อมูลแคมเปญสำหรับกลยุทธ์การตลาดหลายช่องทางที่รวมกัน

## ภาพรวม

| คุณสมบัติ | ค่า |
| --- | --- |
| **แพลตฟอร์ม** | Klaviyo |
| **หมวดหมู่** | การตลาด |
| **ความซับซ้อนในการตั้งค่า** | ปานกลาง |
| **การผสานรวมอย่างเป็นทางการ** | ไม่ |
| **ข้อมูลที่ซิงค์** | โปรไฟล์ เหตุการณ์ รายการ Segments แคมเปญ |
| **Skills ที่มี** | 10 |
| **มาตรฐาน API** | JSON:API |

## ฟีเจอร์

- **การซิงค์โปรไฟล์** - การซิงค์โปรไฟล์ลูกค้าแบบ bidirectional ระหว่าง Klaviyo และ Brevo
- **การส่งต่อเหตุการณ์** - ส่งต่อเหตุการณ์ที่ติดตามของ Klaviyo ไปยัง Brevo สำหรับ automation triggers
- **การย้ายรายการ** - ซิงค์รายการ Klaviyo ไปยัง Brevo contact lists
- **การซิงค์ Segment** - ส่งออก Klaviyo segments เป็นรายการหรือ segments ของ Brevo
- **การส่งออกข้อมูล Flow** - ดึงข้อมูลประสิทธิภาพ flow สำหรับ analytics ข้ามแพลตฟอร์ม
- **การซิงค์แคมเปญ** - ประสานงานแคมเปญข้าม Klaviyo และ Brevo channels
- **การซิงค์แคตาล็อก** - จำลองแคตาล็อกสินค้าระหว่างแพลตฟอร์ม
- **การจัดการคูปอง** - ซิงค์รหัสคูปองและข้อมูลการใช้งาน

## ข้อกำหนดเบื้องต้น

ก่อนเริ่มต้น ตรวจสอบให้แน่ใจว่าคุณมี:

1. บัญชี Klaviyo ที่เปิดใช้งาน API access
2. Private API Key ที่มี scopes ที่เหมาะสม
3. Klaviyo Public API Key ของคุณ (company ID 6 ตัวอักษร)
4. บัญชี Brevo ที่มีสิทธิ์เข้าถึง API
5. บัญชี Tajo ที่มี API credentials

## การยืนยันตัวตน

### Private API Key

Klaviyo ใช้ private API keys พร้อม scoped access สำหรับการยืนยันตัวตนฝั่ง server ตั้งค่า key ในส่วนหัว `Authorization`:

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

### Scopes ของ API Key

กำหนดค่า scopes เมื่อสร้าง private key ของคุณ:

| Scope | การเข้าถึง | คำอธิบาย |
| --- | --- | --- |
| `profiles` | Read/Full | เข้าถึงโปรไฟล์ผู้ติดต่อ |
| `events` | Read/Full | เข้าถึงเหตุการณ์ที่ติดตาม |
| `lists` | Read/Full | เข้าถึง contact lists |
| `segments` | Read | เข้าถึง segments |
| `campaigns` | Read | เข้าถึงข้อมูลแคมเปญ |
| `metrics` | Read | เข้าถึงคำนิยาม metrics |
| `flows` | Read | เข้าถึงการกำหนดค่า flows |
| `catalogs` | Read | เข้าถึงแคตาล็อกสินค้า |

### Public API Key

สำหรับการติดตามฝั่ง client ใช้ company ID 6 ตัวอักษร:

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

### OAuth (Partner Integrations)

Klaviyo รองรับ OAuth สำหรับ tech partners ซึ่งให้ความปลอดภัยและ rate limits ที่ดีขึ้น:

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

## การกำหนดค่า

### การตั้งค่าพื้นฐาน

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

### การแมปโปรไฟล์

แมป property ของโปรไฟล์ Klaviyo กับแอตทริบิวต์ผู้ติดต่อ 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
```

### การแมปเหตุการณ์

แมป metrics ของ Klaviyo กับเหตุการณ์ 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"
```

## API Endpoints

| เมธอด | Endpoint | คำอธิบาย |
| --- | --- | --- |
| `GET` | `/api/profiles/` | แสดงรายการโปรไฟล์ |
| `POST` | `/api/profiles/` | สร้างโปรไฟล์ |
| `PATCH` | `/api/profiles/{id}/` | อัปเดตโปรไฟล์ |
| `POST` | `/api/profile-merge/` | รวมโปรไฟล์ที่ซ้ำกัน |
| `GET` | `/api/events/` | แสดงรายการเหตุการณ์ |
| `POST` | `/api/events/` | สร้างเหตุการณ์ |
| `GET` | `/api/lists/` | แสดงรายการ lists ทั้งหมด |
| `POST` | `/api/lists/{id}/relationships/profiles/` | เพิ่มโปรไฟล์ในรายการ |
| `GET` | `/api/segments/` | แสดงรายการ segments |
| `GET` | `/api/campaigns/` | แสดงรายการแคมเปญ |
| `GET` | `/api/flows/` | แสดงรายการ flows |
| `GET` | `/api/metrics/` | แสดงรายการ metrics |
| `POST` | `/api/metric-aggregates/` | Query metric aggregates |
| `GET` | `/api/catalog-items/` | แสดงรายการสินค้าในแคตาล็อก |

## ตัวอย่างโค้ด

### เริ่มต้น Klaviyo Connector

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

### ซิงค์โปรไฟล์ไปยัง 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 }
//   }
// }
```

### สร้างเหตุการณ์

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

### Query Metric Aggregates

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

## ขีดจำกัดอัตรา

| การยืนยันตัวตน | ขีดจำกัด Burst | ขีดจำกัด Steady |
| --- | --- | --- |
| **Private API Key** | 75 คำขอ/วินาที | 700 คำขอ/นาที |
| **OAuth** | 150 คำขอ/วินาที | 1,500 คำขอ/นาที |
| **Client API** | 100 คำขอ/วินาที | ไม่มี |
| **Bulk operations** | 10 คำขอ/วินาที | 100 คำขอ/นาที |

ต้องระบุ API Revision

คำขอ Klaviyo API ทั้งหมดต้องมีส่วนหัว `revision` ที่ตั้งค่าเป็นวันที่เวอร์ชัน API ที่ถูกต้อง (เช่น `2026-01-15`) คำขอที่ไม่มีส่วนหัวนี้จะถูกปฏิเสธ

## การแก้ไขปัญหา

| ปัญหา | สาเหตุ | วิธีแก้ |
| --- | --- | --- |
| `400 Bad Request` | API key ไม่ถูกต้องหรือหายไป | ตรวจสอบว่า private API key ถูกต้อง |
| `403 Forbidden` | Scope ไม่เพียงพอ | ตรวจสอบว่า scopes ของ API key ตรงกับสิทธิ์ที่ต้องการ |
| ส่วนหัว `revision` หายไป | ไม่ได้ตั้งค่าส่วนหัว | เพิ่ม `revision: 2026-01-15` ในคำขอทั้งหมด |
| ไม่พบโปรไฟล์ | identifier ผิด | ใช้ Klaviyo profile ID ไม่ใช่อีเมล สำหรับการค้นหา |
| เหตุการณ์ไม่ซิงค์ | ชื่อ metric ผิด | ใช้ชื่อ metrics ที่ตรงกันตามที่กำหนดใน Klaviyo |
| `429 Too Many Requests` | เกิน rate limit | ใช้ exponential backoff พิจารณา OAuth สำหรับขีดจำกัดที่สูงขึ้น |
| ข้อผิดพลาดรูปแบบ JSON:API | Content type ผิด | ใช้ `application/vnd.api+json` สำหรับส่วนหัว Content-Type และ Accept |

## แนวทางปฏิบัติที่ดีที่สุด

1. **ใช้รูปแบบ JSON:API** - ปฏิบัติตามข้อกำหนด JSON:API สำหรับ request และ response payloads ทั้งหมด
2. **ตั้งค่าส่วนหัว revision** - รวมส่วนหัว `revision` พร้อมวันที่เวอร์ชัน API ล่าสุดเสมอ
3. **ใช้ sparse fieldsets** - ขอเฉพาะฟิลด์ที่จำเป็นด้วย `?fields[profile]=email,first_name` เพื่อลดขนาด payload
4. **ใช้ relationships** - ใช้พารามิเตอร์ `include` ของ JSON:API เพื่อดึงทรัพยากรที่เกี่ยวข้องในคำขอเดียว
5. **ใช้ cursor pagination** - นำทางในชุดผลลัพธ์ขนาดใหญ่ด้วยพารามิเตอร์ `page[cursor]`
6. **ใช้ bulk operations** - ใช้ bulk endpoints สำหรับการนำเข้าโปรไฟล์เป็น batch และการสร้างเหตุการณ์
7. **ใช้ OAuth สำหรับขีดจำกัดที่สูงขึ้น** - การยืนยันตัวตนด้วย OAuth ให้ rate limits สูงกว่า private keys ถึง 2 เท่า

## ความปลอดภัย

- **Scopes ของ private API key** - การควบคุมการเข้าถึงแบบ Read/Full แบบละเอียดต่อประเภททรัพยากร
- **รองรับ OAuth** - การยืนยันตัวตนด้วย token แบบปลอดภัยสำหรับ partner integrations
- **การแยก public key** - Client-side keys จำกัดเฉพาะการดำเนินการสร้างเท่านั้น
- **TLS 1.2+** - การสื่อสาร API ทั้งหมดเข้ารหัสระหว่างส่ง
- **SOC 2 Type II** - Klaviyo ได้รับการรับรอง SOC 2 Type II
- **การปฏิบัติตาม GDPR** - Data Privacy API สำหรับคำขอลบโปรไฟล์

## แหล่งข้อมูลที่เกี่ยวข้อง

- [Brevo Connector](https://tajo.io/th/docs/connectors/marketing/brevo)
- [Google Ads Connector](https://tajo.io/th/docs/connectors/marketing/google-ads)
- [Meta Ads Connector](https://tajo.io/th/docs/connectors/marketing/meta-ads)
- [Customer Sync Skill](https://tajo.io/th/docs/skills/data-sync/customer-sync)
