Customer.io कनेक्टर
एकीकृत ग्राहक डेटा, क्रॉस-प्लेटफ़ॉर्म कैंपेन समन्वय, और समेकित एंगेजमेंट एनालिटिक्स के लिए अपने Customer.io मैसेजिंग प्लेटफ़ॉर्म को Brevo से कनेक्ट करें।
अवलोकन
| गुण | मान |
|---|---|
| प्लेटफ़ॉर्म | Customer.io |
| श्रेणी | Marketing |
| सेटअप जटिलता | मध्यम |
| आधिकारिक इंटीग्रेशन | नहीं |
| सिंक किया गया डेटा | People, इवेंट्स, कैंपेन, सेगमेंट्स |
| उपयोग की गई APIs | Track API, App API, Pipelines API |
| प्रमाणीकरण | Site ID + API Key / App API Key |
| Base URLs | track.customer.io, api.customer.io |
विशेषताएं
- People सिंक - Brevo कॉन्टैक्ट्स के साथ द्विदिशीय ग्राहक प्रोफ़ाइल सिंक्रनाइज़ेशन
- इवेंट फ़ॉरवर्डिंग - व्यवहारिक इवेंट्स ट्रैक करें और ऑटोमेशन ट्रिगर्स के लिए Brevo में फ़ॉरवर्ड करें
- कैंपेन एनालिटिक्स - एकीकृत रिपोर्टिंग के लिए कैंपेन प्रदर्शन मेट्रिक्स सिंक करें
- वर्कफ़्लो डेटा - Brevo कॉन्टैक्ट एट्रिब्यूट्स में Customer.io वर्कफ़्लो स्थितियों को मिरर करें
- सेगमेंट प्रतिकृति - Customer.io सेगमेंट्स को Brevo लिस्ट्स के रूप में दोहराएं
- ऑब्जेक्ट डेटा सिंक - गैर-people ऑब्जेक्ट्स और संबंध डेटा सिंक करें
पूर्वावश्यकताएं
शुरू करने से पहले, सुनिश्चित करें कि आपके पास है:
- API एक्सेस के साथ एक Customer.io खाता
- आपका Site ID और Track API Key (Settings > API Credentials में मिले)
- कैंपेन और सेगमेंट डेटा पढ़ने के लिए एक App API key
- API एक्सेस वाला एक Brevo खाता
- एक सक्रिय सब्सक्रिप्शन वाला Tajo खाता
प्रमाणीकरण
Customer.io विभिन्न प्रमाणीकरण विधियों के साथ दो अलग-अलग APIs का उपयोग करता है:
Track API (व्यवहारिक डेटा)
People, इवेंट्स, और डिवाइस डेटा भेजने के लिए उपयोग किया जाता है। Basic Auth के माध्यम से Site ID और API Key के साथ प्रमाणित होता है।
# Basic Auth: Site ID as username, API Key as passwordcurl -X POST https://track.customer.io/api/v1/customers/user123 \ -u "$SITE_ID:$API_KEY" \ -H "Content-Type: application/json" \App API (Read डेटा)
कैंपेन, सेगमेंट्स, और ग्राहक डेटा प्राप्त करने के लिए उपयोग किया जाता है। Bearer टोकन के साथ प्रमाणित होता है।
curl -X GET https://api.customer.io/v1/campaigns \ -H "Authorization: Bearer $APP_API_KEY"API Key पृथक्करण
Track API key और App API key अलग-अलग क्रेडेंशियल्स हैं। Track API key डेटा लिखने के लिए उपयोग होती है, जबकि App API key डेटा पढ़ने के लिए है। पूर्ण Tajo इंटीग्रेशन के लिए दोनों आवश्यक हैं।
Tajo से कनेक्ट करना
tajo connectors install customerio \ --site-id $CIO_SITE_ID \ --track-api-key $CIO_TRACK_API_KEY \ --app-api-key $CIO_APP_API_KEYकॉन्फ़िगरेशन
बुनियादी सेटअप
connectors: customerio: enabled: true region: "us" # or "eu" for EU data center
sync: people: true events: true campaigns: true segments: true objects: false
lists: all_contacts: 12 active_subscribers: 13 churned: 14फ़ील्ड मैपिंग
Customer.io person एट्रिब्यूट्स को Brevo कॉन्टैक्ट एट्रिब्यूट्स में मैप करें:
field_mapping: # Standard fields id: CIO_ID email: email first_name: FIRSTNAME last_name: LASTNAME phone: SMS
# Engagement metrics created_at: SIGNUP_DATE last_activity: LAST_ACTIVE plan: PLAN_NAME
# Custom attributes company: COMPANY role: JOB_TITLE mrr: MONTHLY_REVENUE lifecycle_stage: LIFECYCLE_STAGEइवेंट मैपिंग
event_mapping: # Customer.io event -> Brevo event purchase_completed: ORDER_PLACED subscription_started: SUBSCRIPTION_START feature_activated: FEATURE_USED support_ticket_opened: SUPPORT_REQUESTAPI एंडपॉइंट्स
Tajo निम्नलिखित Customer.io API एंडपॉइंट्स के साथ इंटीग्रेट होता है:
| एंडपॉइंट | मेथड | API | उद्देश्य |
|---|---|---|---|
/api/v1/customers/{id} | PUT | Track | एक person बनाएं या अपडेट करें |
/api/v1/customers/{id}/events | POST | Track | एक person इवेंट ट्रैक करें |
/api/v1/events | POST | Track | अनाम इवेंट्स ट्रैक करें |
/api/v2/entity | POST | Track | People/objects बनाएं या अपडेट करें (Pipelines) |
/v1/campaigns | GET | App | कैंपेन सूचीबद्ध करें |
/v1/campaigns/{id}/metrics | GET | App | कैंपेन प्रदर्शन मेट्रिक्स |
/v1/segments | GET | App | सेगमेंट सूचीबद्ध करें |
/v1/segments/{id}/membership | GET | App | सेगमेंट सदस्य प्राप्त करें |
/v1/customers/{id}/attributes | GET | App | ग्राहक एट्रिब्यूट्स प्राप्त करें |
/v1/customers/{id}/activities | GET | App | ग्राहक गतिविधि लॉग प्राप्त करें |
कोड उदाहरण
कनेक्टर प्रारंभ करें
import { TajoClient } from '@tajo/sdk';
const tajo = new TajoClient({ apiKey: process.env.TAJO_API_KEY, brevoApiKey: process.env.BREVO_API_KEY});
await tajo.connectors.connect('customerio', { siteId: process.env.CIO_SITE_ID, trackApiKey: process.env.CIO_TRACK_API_KEY, appApiKey: process.env.CIO_APP_API_KEY, region: 'us'});Brevo में People सिंक करें
// Incremental sync of Customer.io peopleawait tajo.connectors.sync('customerio', { type: 'incremental', resources: ['people'], since: '2024-01-01', batchSize: 100});
const status = await tajo.connectors.status('customerio');console.log(status);// {// connected: true,// lastSync: '2024-03-15T14:20:00Z',// peopleCount: 32500,// campaignsTracked: 18,// eventsProcessed: 87000// }इवेंट्स फ़ॉरवर्ड करें
// Forward Customer.io reporting webhook events to Brevoapp.post('/webhooks/customerio', async (req, res) => { const events = req.body;
for (const event of events) { await tajo.connectors.handleEvent('customerio', { type: event.metric, payload: { customerId: event.data.customer_id, campaignId: event.data.campaign_id, timestamp: event.timestamp } }); }
res.status(200).send('OK');});सेगमेंट निर्यात करें
const result = await tajo.connectors.exportSegment('customerio', { segmentId: 42, targetList: 13, includeAttributes: ['email', 'first_name', 'last_name', 'plan']});
console.log(`Exported ${result.count} people to Brevo list 13`);दर सीमाएं
Customer.io प्रति API विभिन्न दर सीमाएं लागू करता है:
| API | दर सीमा | नोट्स |
|---|---|---|
| Track API | ~100 अनुरोध/सेकंड | प्रति वर्कस्पेस |
| App API | 10 अनुरोध/सेकंड | प्रति API key |
| Pipelines API | 100 अनुरोध/सेकंड | bulk डेटा के लिए अनुशंसित |
| Batch एंडपॉइंट | 1,000 people प्रति अनुरोध | अधिकतम payload 500KB |
Batch एंडपॉइंट्स का उपयोग करें
बड़े syncs के लिए, Tajo प्रति अनुरोध 1,000 तक people भेजने के लिए Customer.io batch एंडपॉइंट का उपयोग करता है, जो API कॉल वॉल्यूम को काफी कम करता है।
समस्या निवारण
सामान्य समस्याएं
| समस्या | कारण | समाधान |
|---|---|---|
| 401 Unauthorized | अमान्य Site ID या API key | Customer.io Settings > API में क्रेडेंशियल्स सत्यापित करें |
| People सिंक नहीं हो रहे | पहचानकर्ता गायब | सुनिश्चित करें कि प्रत्येक person के पास id या email है |
| इवेंट्स ट्रैक नहीं हुए | गलत API key प्रकार | इवेंट्स के लिए Track API key का उपयोग करें, App API key का नहीं |
| EU डेटा एक्सेसिबल नहीं | गलत region कॉन्फ़िगर | EU वर्कस्पेस के लिए region को eu पर सेट करें |
| दर सीमा त्रुटियां | बहुत अधिक App API कॉल | कैंपेन डेटा के लिए polling आवृत्ति कम करें |
डीबग मोड
connectors: customerio: debug: true log_level: verbose log_api_calls: trueकनेक्शन परीक्षण करें
tajo connectors test customerio# ✓ Track API connection successful# ✓ App API connection successful# ✓ People accessible# ✓ Campaigns readable# ✓ Segments listableसर्वोत्तम प्रथाएं
- bulk डेटा के लिए Pipelines API का उपयोग करें - नया Pipelines API उच्च-वॉल्यूम ingestion के लिए अनुकूलित है
- रिपोर्टिंग webhooks सेट करें - Customer.io ईमेल इवेंट्स को Tajo में रीयल टाइम में फ़ॉरवर्ड करें
- lifecycle stages मैप करें - Brevo एट्रिब्यूट्स में Customer.io सेगमेंट सदस्यता सिंक करें
- लगातार पहचानकर्ता का उपयोग करें - Customer.io और Brevo में
idफ़ील्ड्स मेल खाएं - incrementally सिंक करें - पूर्ण निर्यात से बचें;
last_activityटाइमस्टैम्प का लाभ उठाएं - webhook डिलीवरी की निगरानी करें - असफल webhook डिलीवरी के लिए अलर्ट सेट करें
सुरक्षा
- Basic Auth - Track API Site ID और API Key के साथ प्रमाणित होता है
- Bearer Token - App API OAuth-स्टाइल bearer टोकन का उपयोग करता है
- HTTPS Only - सभी API संचार TLS 1.2+ के माध्यम से एन्क्रिप्टेड
- क्षेत्रीय डेटा केंद्र - GDPR अनुपालन के लिए EU डेटा केंद्र विकल्प
- एन्क्रिप्टेड स्टोरेज - Tajo में रेस्ट पर सभी क्रेडेंशियल्स एन्क्रिप्टेड
- Webhook सिग्नेचर - HMAC सिग्नेचर के साथ webhook payloads सत्यापित करें