Klaviyo Connector

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

ภาพรวม

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

Terminal window
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การเข้าถึงคำอธิบาย
profilesRead/Fullเข้าถึงโปรไฟล์ผู้ติดต่อ
eventsRead/Fullเข้าถึงเหตุการณ์ที่ติดตาม
listsRead/Fullเข้าถึง contact lists
segmentsReadเข้าถึง segments
campaignsReadเข้าถึงข้อมูลแคมเปญ
metricsReadเข้าถึงคำนิยาม metrics
flowsReadเข้าถึงการกำหนดค่า flows
catalogsReadเข้าถึงแคตาล็อกสินค้า

Public API Key

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

Terminal window
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 ที่ดีขึ้น:

Terminal window
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

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

แมป property ของโปรไฟล์ 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

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

แมป metrics ของ 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 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

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

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

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

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

Query Metric Aggregates

// 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 Key75 คำขอ/วินาที700 คำขอ/นาที
OAuth150 คำขอ/วินาที1,500 คำขอ/นาที
Client API100 คำขอ/วินาทีไม่มี
Bulk operations10 คำขอ/วินาที100 คำขอ/นาที

ต้องระบุ API Revision

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

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

ปัญหาสาเหตุวิธีแก้
400 Bad RequestAPI key ไม่ถูกต้องหรือหายไปตรวจสอบว่า private API key ถูกต้อง
403 ForbiddenScope ไม่เพียงพอตรวจสอบว่า 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:APIContent 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 สำหรับคำขอลบโปรไฟล์

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

Subscribe to updates

developer-docs

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

auto-detect
ผู้ช่วย AI

สวัสดี! ถามฉันเกี่ยวกับเอกสารได้เลย