موصل Klaviyo
اربط Klaviyo بـ Brevo من خلال Tajo لترحيل أو مزامنة بيانات التسويق بين المنصات. زامن الملفات الشخصية، والأحداث، والقوائم، والشرائح، والتدفقات، وبيانات الحملات لاستراتيجية تسويقية موحدة متعددة القنوات.
نظرة عامة
| الخاصية | القيمة |
|---|---|
| المنصة | Klaviyo |
| الفئة | التسويق |
| تعقيد الإعداد | متوسط |
| تكامل رسمي | لا |
| البيانات المُزامَنة | ملفات شخصية، أحداث، قوائم، شرائح، حملات |
| المهارات المتاحة | 10 |
| معيار واجهة البرمجة | JSON:API |
الميزات
- مزامنة الملفات الشخصية - مزامنة ثنائية الاتجاه لملفات العملاء بين Klaviyo وBrevo
- إعادة توجيه الأحداث - إعادة توجيه أحداث Klaviyo المتتبعة إلى Brevo لمحفزات الأتمتة
- ترحيل القوائم - مزامنة قوائم Klaviyo مع قوائم جهات اتصال Brevo
- مزامنة الشرائح - تصدير شرائح Klaviyo كقوائم أو شرائح Brevo
- تصدير بيانات التدفقات - سحب بيانات أداء التدفقات للتحليلات عبر المنصات
- مزامنة الحملات - تنسيق الحملات عبر قنوات Klaviyo وBrevo
- مزامنة الكتالوج - عكس كتالوجات المنتجات بين المنصات
- إدارة القسائم - مزامنة رموز القسائم وبيانات الاستخدام
المتطلبات الأساسية
قبل البدء، تأكد من توفر ما يلي:
- حساب Klaviyo مع وصول إلى API
- مفتاح Private API بنطاقات مناسبة
- مفتاح Klaviyo Public API (معرّف الشركة المكوّن من 6 أحرف)
- حساب Brevo مع وصول إلى API
- حساب Tajo مع بيانات اعتماد API
المصادقة
مفتاح Private API
يستخدم Klaviyo مفاتيح API خاصة بوصول مقيّد للمصادقة من جانب الخادم. عيّن المفتاح في ترويسة Authorization:
curl https://a.klaviyo.com/api/profiles/ \ -H "Authorization: Klaviyo-API-Key your-private-api-key" \ -H "revision: 2026-01-15"نطاقات مفتاح API
اضبط النطاقات عند إنشاء مفتاحك الخاص:
| النطاق | الوصول | الوصف |
|---|---|---|
profiles | Read/Full | الوصول إلى ملفات جهات الاتصال |
events | Read/Full | الوصول إلى الأحداث المتتبعة |
lists | Read/Full | الوصول إلى قوائم جهات الاتصال |
segments | Read | الوصول إلى الشرائح |
campaigns | Read | الوصول إلى بيانات الحملات |
metrics | Read | الوصول إلى تعريفات المقاييس |
flows | Read | الوصول إلى إعدادات التدفقات |
catalogs | Read | الوصول إلى كتالوجات المنتجات |
مفتاح Public API
للتتبع من جانب العميل، استخدم معرّف الشركة المكوّن من 6 أحرف:
curl -X POST "https://a.klaviyo.com/client/events/?company_id=COMPANY_ID" \ -H "Content-Type: application/json" \ -d '{"data": {...}}'OAuth (تكاملات الشركاء)
يدعم Klaviyo OAuth لشركاء التكنولوجيا، ويوفر أمانًا محسنًا وحدود معدل أعلى:
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"نقاط نهاية واجهة البرمجة
| الطريقة | نقطة النهاية | الوصف |
|---|---|---|
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/ | سرد التدفقات |
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
// جلب ملفات Klaviyo ومزامنتها مع 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();
// كل ملف شخصي يتبع تنسيق JSON:API// {// "type": "profile",// "id": "01ABCDEF",// "attributes": {// "email": "[email protected]",// "first_name": "Jane",// "last_name": "Kim",// "phone_number": "+15551234567",// "properties": { "lifetime_value": 450.00 }// }// }إنشاء حدث
// تتبع حدث في Klaviyo (يُعاد توجيهه إلى Brevo عبر 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 } } })});استعلام تجميعات المقاييس
// الحصول على بيانات المقاييس المجمّعة للتقارير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)'] } } })});حدود المعدل
| المصادقة | حد الدفعات | الحد المستقر |
|---|---|---|
| مفتاح Private API | 75 طلب/ثانية | 700 طلب/دقيقة |
| OAuth | 150 طلب/ثانية | 1,500 طلب/دقيقة |
| Client API | 100 طلب/ثانية | لا ينطبق |
| العمليات المجمّعة | 10 طلبات/ثانية | 100 طلب/دقيقة |
ترويسة API revision مطلوبة
تتطلب جميع طلبات Klaviyo API ترويسة revision مضبوطة على تاريخ إصدار API صالح (مثلاً، 2026-01-15). ستُرفَض الطلبات بدون هذه الترويسة.
استكشاف الأخطاء وإصلاحها
| المشكلة | السبب | الحل |
|---|---|---|
400 Bad Request | مفتاح API غير صالح أو مفقود | تحقق من صحة مفتاح Private API |
403 Forbidden | نطاق غير كافٍ | تحقق من تطابق نطاقات مفتاح API مع الصلاحيات المطلوبة |
ترويسة revision مفقودة | الترويسة غير مضبوطة | أضف revision: 2026-01-15 إلى جميع الطلبات |
| الملف الشخصي غير موجود | معرّف خاطئ | استخدم معرّف ملف Klaviyo، وليس البريد الإلكتروني، للبحث |
| الأحداث لا تتزامن | اسم مقياس خاطئ | طابق أسماء المقاييس بدقة كما هي معرّفة في Klaviyo |
429 Too Many Requests | تجاوز حد المعدل | طبّق التراجع الأُسّي، فكّر في OAuth لحدود أعلى |
| أخطاء تنسيق JSON:API | نوع محتوى خاطئ | استخدم application/vnd.api+json لترويسات Content-Type وAccept |
أفضل الممارسات
- استخدم تنسيق JSON:API - اتّبع مواصفة JSON:API لجميع حمولات الطلب والاستجابة
- اضبط ترويسة revision - ضمّن دائمًا ترويسة
revisionبتاريخ أحدث إصدار API - استخدم مجموعات حقول متفرقة - اطلب فقط الحقول المطلوبة بـ
?fields[profile]=email,first_nameلتقليل حجم الحمولة - استفد من العلاقات - استخدم معامل
includeفي JSON:API لجلب الموارد ذات الصلة في طلب واحد - استخدم ترقيم المؤشر - تنقّل عبر مجموعات النتائج الكبيرة بمعامل
page[cursor] - طبّق العمليات المجمّعة - استخدم نقاط النهاية المجمّعة لاستيراد الملفات الشخصية بالدفعات وإنشاء الأحداث
- استخدم OAuth للحدود الأعلى - توفر مصادقة OAuth ضعف حدود المعدل مقارنة بالمفاتيح الخاصة
الأمان
- نطاقات مفتاح Private API - تحكم دقيق في الوصول للقراءة/الكاملة لكل نوع مورد
- دعم OAuth - مصادقة آمنة قائمة على الرموز لتكاملات الشركاء
- عزل المفتاح العام - مفاتيح من جانب العميل مقيدة بعمليات الإنشاء فقط
- TLS 1.2+ - جميع اتصالات API مشفرة أثناء النقل
- SOC 2 Type II - Klaviyo معتمد من SOC 2 Type II
- الامتثال لـ GDPR - واجهة Data Privacy API لطلبات حذف الملفات الشخصية