Intercom कनेक्टर
एकीकृत ग्राहक मैसेजिंग, conversation ट्रैकिंग, और आपके सपोर्ट और product डेटा द्वारा संचालित engagement-संचालित मार्केटिंग ऑटोमेशन के लिए अपने Intercom workspace को Tajo के माध्यम से Brevo से कनेक्ट करें।
अवलोकन
| गुण | मान |
|---|---|
| प्लेटफ़ॉर्म | Intercom |
| श्रेणी | Support |
| सेटअप जटिलता | मध्यम |
| आधिकारिक इंटीग्रेशन | हां |
| सिंक किया गया डेटा | कॉन्टैक्ट्स, Conversations, कंपनियां, इवेंट्स |
| API Base URL | https://api.intercom.io |
विशेषताएं
- कॉन्टैक्ट सिंक - Brevo कॉन्टैक्ट्स के साथ Intercom users और leads का द्विदिशीय sync
- Conversation ट्रैकिंग - support-संचालित सेगमेंटेशन के लिए conversation डेटा सिंक करें
- कंपनी मैपिंग - account-आधारित workflows के लिए कंपनियों के साथ कॉन्टैक्ट्स को संबद्ध करें
- कस्टम एट्रिब्यूट्स - Intercom कस्टम एट्रिब्यूट्स को Brevo कॉन्टैक्ट फ़ील्ड्स में मैप करें
- इवेंट ट्रैकिंग - व्यवहारिक targeting के लिए कस्टम इवेंट्स और उपयोगकर्ता गतिविधियां सिंक करें
- Tag सिंक - Intercom tags को Brevo list membership या एट्रिब्यूट्स में मैप करें
- Messenger डेटा - in-app मैसेजिंग engagement और chat इंटरैक्शन्स ट्रैक करें
- AI agent इंटीग्रेशन - AI agent conversation outcomes को Brevo के साथ सिंक करें
पूर्वावश्यकताएं
शुरू करने से पहले, सुनिश्चित करें कि आपके पास है:
- एक Intercom workspace (Starter, Pro, या Premium प्लान)
- access token के साथ एक Intercom ऐप (private app) या OAuth कॉन्फ़िगर (public app)
- API एक्सेस वाला एक Brevo खाता
- एक Tajo खाता
प्रमाणीकरण
Access Token (Private App)
निजी integrations के लिए जो आपके अपने workspace डेटा तक पहुंचते हैं।
- Developer Hub > Your Apps > Create new app पर जाएं
- अपने Intercom workspace के साथ संबद्ध करें
- access token कॉपी करें
curl https://api.intercom.io/contacts \ -H "Authorization: Bearer {access_token}" \ -H "Content-Type: application/json" \ -H "Intercom-Version: 2.11"OAuth 2.0 (Public App)
integrations के लिए जो अन्य customers’ Intercom डेटा तक पहुंचते हैं।
# Authorization URLhttps://app.intercom.com/oauth?client_id={client_id}&state={state}
# Token exchangecurl -X POST https://api.intercom.io/auth/eagle/token \ -d "client_id={client_id}" \ -d "client_secret={client_secret}" \ -d "code={auth_code}"API Versioning
हमेशा अपने अनुरोधों में Intercom-Version हेडर शामिल करें। Tajo डिफ़ॉल्ट रूप से API version 2.11 का उपयोग करता है। Breaking changes के लिए Intercom changelog जांचें।
कॉन्फ़िगरेशन
बुनियादी सेटअप
connectors: intercom: enabled: true access_token: "${INTERCOM_ACCESS_TOKEN}" api_version: "2.11"
# Data sync options sync: contacts: true conversations: true companies: true events: true tags: true
# Sync direction direction: intercom_to_brevo
# Brevo list assignment lists: all_users: 35 active_conversations: 36 leads: 37फ़ील्ड मैपिंग
Intercom कॉन्टैक्ट डेटा को Brevo कॉन्टैक्ट एट्रिब्यूट्स में मैप करें:
डिफ़ॉल्ट मैपिंग्स
| Parameter | Type | Description |
|---|---|---|
email required | string | कॉन्टैक्ट ईमेल पता (अद्वितीय पहचानकर्ता) |
name optional | string | पूर्ण नाम, FIRSTNAME/LASTNAME में विभाजित |
phone optional | string | WhatsApp/SMS के लिए SMS एट्रिब्यूट से मैप होता है |
role optional | string | कॉन्टैक्ट प्रकार: user या lead |
company.name optional | string | संबद्ध कंपनी का नाम |
signed_up_at optional | timestamp | उपयोगकर्ता signup दिनांक |
last_seen_at optional | timestamp | अंतिम सक्रिय timestamp |
custom_attributes optional | object | कस्टम एट्रिब्यूट key-value pairs |
कस्टम एट्रिब्यूट मैपिंग
field_mapping: # Standard fields email: email name: FULLNAME phone: SMS
# Engagement fields signed_up_at: SIGNUP_DATE last_seen_at: LAST_ACTIVE session_count: SESSION_COUNT unsubscribed_from_emails: UNSUBSCRIBED
# Company fields company.name: COMPANY_NAME company.plan: COMPANY_PLAN company.size: COMPANY_SIZE
# Custom attributes custom_attributes.plan_tier: PLAN_TIER custom_attributes.feature_usage: FEATURE_USAGEAPI एंडपॉइंट्स
Contacts API
| मेथड | एंडपॉइंट | विवरण |
|---|---|---|
GET | /contacts | सभी कॉन्टैक्ट्स सूचीबद्ध करें |
POST | /contacts | एक कॉन्टैक्ट बनाएं |
PUT | /contacts/{id} | एक कॉन्टैक्ट अपडेट करें |
GET | /contacts/{id} | एक कॉन्टैक्ट प्राप्त करें |
POST | /contacts/search | कॉन्टैक्ट्स खोजें |
DELETE | /contacts/{id} | एक कॉन्टैक्ट archive करें |
Conversations API
| मेथड | एंडपॉइंट | विवरण |
|---|---|---|
GET | /conversations | conversations सूचीबद्ध करें |
GET | /conversations/{id} | एक conversation प्राप्त करें |
POST | /conversations | एक conversation बनाएं |
POST | /conversations/{id}/reply | एक conversation का जवाब दें |
POST | /conversations/{id}/parts | conversation part जोड़ें |
Companies API
| मेथड | एंडपॉइंट | विवरण |
|---|---|---|
GET | /companies | कंपनियां सूचीबद्ध करें |
POST | /companies | एक कंपनी बनाएं या अपडेट करें |
GET | /companies/{id} | एक कंपनी प्राप्त करें |
GET | /companies/{id}/contacts | कंपनी कॉन्टैक्ट्स सूचीबद्ध करें |
Events API
| मेथड | एंडपॉइंट | विवरण |
|---|---|---|
POST | /events | एक इवेंट सबमिट करें |
GET | /events?type=user&intercom_user_id={id} | उपयोगकर्ता इवेंट्स सूचीबद्ध करें |
इवेंट्स
Conversation इवेंट्स
| इवेंट | ट्रिगर | उपयोग मामला |
|---|---|---|
conversation.created | नई conversation शुरू हुई | सपोर्ट टिकट अलर्ट |
conversation.closed | Conversation resolved हुई | CSAT survey ट्रिगर |
conversation.rating.added | Rating सबमिट हुई | संतुष्टि ट्रैकिंग |
conversation.snoozed | Conversation snoozed हुई | फ़ॉलो-अप scheduling |
कॉन्टैक्ट इवेंट्स
| इवेंट | ट्रिगर | उपयोग मामला |
|---|---|---|
contact.created | नया कॉन्टैक्ट जोड़ा गया | स्वागत अनुक्रम |
contact.updated | कॉन्टैक्ट डेटा बदला | एट्रिब्यूट सिंक |
contact.deleted | कॉन्टैक्ट archived | क्लीनअप |
contact.tag.created | कॉन्टैक्ट में Tag जोड़ा | Segment अपडेट |
User इवेंट्स
| इवेंट | ट्रिगर | उपयोग मामला |
|---|---|---|
user.created | नया उपयोगकर्ता signed up | Onboarding flow |
user.email.updated | Email बदला | Contact merge |
user.unsubscribed | ईमेल से unsubscribed | वरीयता अपडेट |
कोड उदाहरण
कनेक्टर प्रारंभ करें
import { TajoClient } from '@tajo/sdk';
const tajo = new TajoClient({ apiKey: process.env.TAJO_API_KEY, brevoApiKey: process.env.BREVO_API_KEY});
// Connect Intercomawait tajo.connectors.connect('intercom', { accessToken: process.env.INTERCOM_ACCESS_TOKEN, apiVersion: '2.11'});कॉन्टैक्ट्स और Conversations सिंक करें
// Full sync of contacts and conversation dataawait tajo.connectors.sync('intercom', { type: 'full', resources: ['contacts', 'conversations', 'companies'], since: '2023-01-01'});
// Check sync statusconst status = await tajo.connectors.status('intercom');console.log(status);// {// connected: true,// lastSync: '2024-01-15T10:30:00Z',// contactsSynced: 14200,// conversationsSynced: 28400,// companiesSynced: 2100// }Intercom Webhooks हैंडल करें
import crypto from 'crypto';
app.post('/webhooks/intercom', async (req, res) => { const signature = req.get('X-Hub-Signature'); const expectedSig = 'sha1=' + crypto .createHmac('sha1', process.env.INTERCOM_CLIENT_SECRET) .update(JSON.stringify(req.body)) .digest('hex');
if (signature !== expectedSig) { return res.status(401).send('Unauthorized'); }
await tajo.connectors.handleWebhook('intercom', { topic: req.body.topic, data: req.body.data });
res.status(200).send('OK');});दर सीमाएं
Intercom आपके प्लान के आधार पर दर सीमाएं लागू करता है:
| प्लान | दर सीमा | विवरण |
|---|---|---|
| Starter | 20 अनुरोध/10 सेकंड | प्रति ऐप |
| Pro | 50 अनुरोध/10 सेकंड | प्रति ऐप |
| Premium | 100 अनुरोध/10 सेकंड | प्रति ऐप |
| Search एंडपॉइंट | 1 अनुरोध/सेकंड | प्रति ऐप |
| Scroll एंडपॉइंट | 1 अनुरोध/मिनट | प्रति ऐप |
अतिरिक्त सीमाएं:
- Bulk operations: 15 कॉन्टैक्ट्स प्रति bulk अनुरोध
- Event सबमिशन: 500 इवेंट्स/सेकंड प्रति workspace
- Webhook डिलीवरी: 24 घंटे के लिए स्वचालित रीट्राई
- Data export: 1 समवर्ती export
दर सीमा प्रतिक्रिया
Intercom Retry-After हेडर के साथ 429 Too Many Requests लौटाता है। exponential backoff लागू करें और retry window का सम्मान करें।
समस्या निवारण
सामान्य समस्याएं
| समस्या | कारण | समाधान |
|---|---|---|
| 401 Unauthorized | अमान्य या समाप्त token | Developer Hub में access token पुनर्जनरेट करें |
| Contact सिंक नहीं हुआ | ईमेल फ़ील्ड गायब | Intercom leads में ईमेल नहीं हो सकता; role के अनुसार filter करें |
| Conversation डेटा खाली | App में conversation scope नहीं | conversation read अनुमतियों के साथ पुनः authorize करें |
| Webhook प्राप्त नहीं हुआ | Webhook पंजीकृत नहीं | Developer Hub सेटिंग्स में webhooks कॉन्फ़िगर करें |
| API version mismatch | नए version में breaking changes | Intercom-Version हेडर के साथ API version pin करें |
डीबग मोड
विस्तृत लॉगिंग सक्षम करें:
connectors: intercom: debug: true log_level: verbose log_webhooks: trueकनेक्शन परीक्षण करें
tajo connectors test intercom# ✓ API connection successful# ✓ Contacts readable# ✓ Conversations readable# ✓ Companies readable# ✓ Webhooks registeredसर्वोत्तम प्रथाएं
- API version pin करें - breaking changes से बचने के लिए हमेशा
Intercom-Versionनिर्दिष्ट करें - search API का कुशलता से उपयोग करें - डेटा transfer कम करने के लिए filters और pagination का उपयोग करें
- users और leads दोनों सिंक करें - Brevo में पूर्ण funnel कैप्चर करें
- conversation tags मैप करें - पोस्ट-सपोर्ट मार्केटिंग segments के लिए conversation tags का उपयोग करें
- कस्टम इवेंट्स ट्रैक करें - व्यवहारिक targeting के लिए मुख्य product इवेंट्स को Intercom में सबमिट करें
- contact merges हैंडल करें - डुप्लिकेट कॉन्टैक्ट्स के लिए merge logic लागू करें
सुरक्षा
- Access Token - private apps के लिए Bearer token प्रमाणीकरण
- OAuth 2.0 - client secret के साथ public apps के लिए delegated authorization
- Webhook सत्यापन -
X-Hub-Signatureके माध्यम से HMAC SHA-1 सिग्नेचर सत्यापन - TLS एन्क्रिप्शन - सभी API संचार HTTPS के माध्यम से एन्क्रिप्टेड
- Data access नियंत्रण - प्रति app कॉन्फ़िगरेशन granular डेटा एक्सेस