Intercom कनेक्टर

एकीकृत ग्राहक मैसेजिंग, conversation ट्रैकिंग, और आपके सपोर्ट और product डेटा द्वारा संचालित engagement-संचालित मार्केटिंग ऑटोमेशन के लिए अपने Intercom workspace को Tajo के माध्यम से Brevo से कनेक्ट करें।

अवलोकन

गुणमान
प्लेटफ़ॉर्मIntercom
श्रेणीSupport
सेटअप जटिलतामध्यम
आधिकारिक इंटीग्रेशनहां
सिंक किया गया डेटाकॉन्टैक्ट्स, Conversations, कंपनियां, इवेंट्स
API Base URLhttps://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 के साथ सिंक करें

पूर्वावश्यकताएं

शुरू करने से पहले, सुनिश्चित करें कि आपके पास है:

  1. एक Intercom workspace (Starter, Pro, या Premium प्लान)
  2. access token के साथ एक Intercom ऐप (private app) या OAuth कॉन्फ़िगर (public app)
  3. API एक्सेस वाला एक Brevo खाता
  4. एक Tajo खाता

प्रमाणीकरण

Access Token (Private App)

निजी integrations के लिए जो आपके अपने workspace डेटा तक पहुंचते हैं।

  1. Developer Hub > Your Apps > Create new app पर जाएं
  2. अपने Intercom workspace के साथ संबद्ध करें
  3. access token कॉपी करें
Terminal window
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 डेटा तक पहुंचते हैं।

Terminal window
# Authorization URL
https://app.intercom.com/oauth?client_id={client_id}&state={state}
# Token exchange
curl -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_USAGE

API एंडपॉइंट्स

Contacts API

मेथडएंडपॉइंटविवरण
GET/contactsसभी कॉन्टैक्ट्स सूचीबद्ध करें
POST/contactsएक कॉन्टैक्ट बनाएं
PUT/contacts/{id}एक कॉन्टैक्ट अपडेट करें
GET/contacts/{id}एक कॉन्टैक्ट प्राप्त करें
POST/contacts/searchकॉन्टैक्ट्स खोजें
DELETE/contacts/{id}एक कॉन्टैक्ट archive करें

Conversations API

मेथडएंडपॉइंटविवरण
GET/conversationsconversations सूचीबद्ध करें
GET/conversations/{id}एक conversation प्राप्त करें
POST/conversationsएक conversation बनाएं
POST/conversations/{id}/replyएक conversation का जवाब दें
POST/conversations/{id}/partsconversation 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.closedConversation resolved हुईCSAT survey ट्रिगर
conversation.rating.addedRating सबमिट हुईसंतुष्टि ट्रैकिंग
conversation.snoozedConversation snoozed हुईफ़ॉलो-अप scheduling

कॉन्टैक्ट इवेंट्स

इवेंटट्रिगरउपयोग मामला
contact.createdनया कॉन्टैक्ट जोड़ा गयास्वागत अनुक्रम
contact.updatedकॉन्टैक्ट डेटा बदलाएट्रिब्यूट सिंक
contact.deletedकॉन्टैक्ट archivedक्लीनअप
contact.tag.createdकॉन्टैक्ट में Tag जोड़ाSegment अपडेट

User इवेंट्स

इवेंटट्रिगरउपयोग मामला
user.createdनया उपयोगकर्ता signed upOnboarding flow
user.email.updatedEmail बदला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 Intercom
await tajo.connectors.connect('intercom', {
accessToken: process.env.INTERCOM_ACCESS_TOKEN,
apiVersion: '2.11'
});

कॉन्टैक्ट्स और Conversations सिंक करें

// Full sync of contacts and conversation data
await tajo.connectors.sync('intercom', {
type: 'full',
resources: ['contacts', 'conversations', 'companies'],
since: '2023-01-01'
});
// Check sync status
const 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 आपके प्लान के आधार पर दर सीमाएं लागू करता है:

प्लानदर सीमाविवरण
Starter20 अनुरोध/10 सेकंडप्रति ऐप
Pro50 अनुरोध/10 सेकंडप्रति ऐप
Premium100 अनुरोध/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अमान्य या समाप्त tokenDeveloper 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 changesIntercom-Version हेडर के साथ API version pin करें

डीबग मोड

विस्तृत लॉगिंग सक्षम करें:

connectors:
intercom:
debug: true
log_level: verbose
log_webhooks: true

कनेक्शन परीक्षण करें

Terminal window
tajo connectors test intercom
# ✓ API connection successful
# ✓ Contacts readable
# ✓ Conversations readable
# ✓ Companies readable
# ✓ Webhooks registered

सर्वोत्तम प्रथाएं

  1. API version pin करें - breaking changes से बचने के लिए हमेशा Intercom-Version निर्दिष्ट करें
  2. search API का कुशलता से उपयोग करें - डेटा transfer कम करने के लिए filters और pagination का उपयोग करें
  3. users और leads दोनों सिंक करें - Brevo में पूर्ण funnel कैप्चर करें
  4. conversation tags मैप करें - पोस्ट-सपोर्ट मार्केटिंग segments के लिए conversation tags का उपयोग करें
  5. कस्टम इवेंट्स ट्रैक करें - व्यवहारिक targeting के लिए मुख्य product इवेंट्स को Intercom में सबमिट करें
  6. 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 डेटा एक्सेस

संबंधित संसाधन

Subscribe to updates

developer-docs

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

auto-detect
AI Assistant

Hi! Ask me anything about the docs.