Intercom Bağlayıcısı
Birleşik müşteri mesajlaşması, konuşma takibi ve destek ile ürün verilerinizle güçlendirilmiş etkileşim odaklı pazarlama otomasyonu için Intercom çalışma alanınızı Tajo aracılığıyla Brevo’ya bağlayın.
Genel Bakış
| Özellik | Değer |
|---|---|
| Platform | Intercom |
| Kategori | Destek |
| Kurulum Karmaşıklığı | Orta |
| Resmi Entegrasyon | Evet |
| Senkronize Edilen Veri | Kişiler, Konuşmalar, Şirketler, Olaylar |
| API Temel URL’si | https://api.intercom.io |
Özellikler
- Kişi senkronizasyonu - Intercom kullanıcılarının ve adaylarının Brevo kişileriyle çift yönlü senkronizasyonu
- Konuşma takibi - Destek odaklı segmentasyon için konuşma verilerini senkronize edin
- Şirket eşleme - Hesap tabanlı iş akışları için kişileri şirketlerle ilişkilendirin
- Özel öznitelikler - Intercom özel özniteliklerini Brevo kişi alanlarına eşleyin
- Olay takibi - Davranışsal hedefleme için özel olayları ve kullanıcı aktivitelerini senkronize edin
- Etiket senkronizasyonu - Intercom etiketlerini Brevo liste üyeliği veya özniteliklerine eşleyin
- Messenger verileri - Uygulama içi mesajlaşma etkileşimini ve sohbet etkileşimlerini takip edin
- AI temsilci entegrasyonu - AI temsilci konuşma sonuçlarını Brevo ile senkronize edin
Ön Koşullar
Başlamadan önce sahip olmanız gerekenler:
- Bir Intercom çalışma alanı (Starter, Pro veya Premium planı)
- Erişim belirteçli bir Intercom uygulaması (private app) veya OAuth yapılandırılmış (public app)
- API erişimi olan bir Brevo hesabı
- Bir Tajo hesabı
Kimlik Doğrulama
Erişim Belirteci (Private App)
Kendi çalışma alanı verilerinize erişen özel entegrasyonlar için.
- Developer Hub > Your Apps > Create new app bölümüne gidin
- Intercom çalışma alanınızla ilişkilendirin
- Erişim belirtecini kopyalayın
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)
Diğer müşterilerin Intercom verilerine erişen entegrasyonlar için.
# 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 Sürümleme
İsteklerinizde her zaman Intercom-Version başlığını ekleyin. Tajo varsayılan olarak API sürüm 2.11’i kullanır. Yıkıcı değişiklikler için Intercom değişiklik günlüğünü kontrol edin.
Yapılandırma
Temel Kurulum
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: 37Alan Eşleme
Intercom kişi verilerini Brevo kişi özniteliklerine eşleyin:
Varsayılan Eşlemeler
| Parameter | Type | Description |
|---|---|---|
email required | string | Kişi e-posta adresi (benzersiz tanımlayıcı) |
name optional | string | Tam ad, FIRSTNAME/LASTNAME olarak bölünür |
phone optional | string | WhatsApp/SMS için SMS özniteliğine eşlenir |
role optional | string | Kişi türü: kullanıcı veya aday |
company.name optional | string | İlişkili şirket adı |
signed_up_at optional | timestamp | Kullanıcı kayıt tarihi |
last_seen_at optional | timestamp | Son aktif zaman damgası |
custom_attributes optional | object | Özel öznitelik anahtar-değer çiftleri |
Özel Öznitelik Eşleme
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 Uç Noktaları
Contacts API
| Yöntem | Uç Nokta | Açıklama |
|---|---|---|
GET | /contacts | Tüm kişileri listele |
POST | /contacts | Bir kişi oluştur |
PUT | /contacts/{id} | Bir kişiyi güncelle |
GET | /contacts/{id} | Bir kişiyi getir |
POST | /contacts/search | Kişileri ara |
DELETE | /contacts/{id} | Bir kişiyi arşivle |
Conversations API
| Yöntem | Uç Nokta | Açıklama |
|---|---|---|
GET | /conversations | Konuşmaları listele |
GET | /conversations/{id} | Bir konuşmayı getir |
POST | /conversations | Bir konuşma oluştur |
POST | /conversations/{id}/reply | Bir konuşmaya yanıt ver |
POST | /conversations/{id}/parts | Konuşma parçası ekle |
Companies API
| Yöntem | Uç Nokta | Açıklama |
|---|---|---|
GET | /companies | Şirketleri listele |
POST | /companies | Bir şirket oluştur veya güncelle |
GET | /companies/{id} | Bir şirketi getir |
GET | /companies/{id}/contacts | Şirket kişilerini listele |
Events API
| Yöntem | Uç Nokta | Açıklama |
|---|---|---|
POST | /events | Bir olay gönder |
GET | /events?type=user&intercom_user_id={id} | Kullanıcı olaylarını listele |
Olaylar
Konuşma Olayları
| Olay | Tetikleyici | Kullanım Alanı |
|---|---|---|
conversation.created | Yeni konuşma başladı | Destek talebi uyarısı |
conversation.closed | Konuşma çözüldü | CSAT anket tetikleyicisi |
conversation.rating.added | Puan gönderildi | Memnuniyet takibi |
conversation.snoozed | Konuşma ertelendi | Takip planlama |
Kişi Olayları
| Olay | Tetikleyici | Kullanım Alanı |
|---|---|---|
contact.created | Yeni kişi eklendi | Karşılama dizisi |
contact.updated | Kişi verisi değişti | Öznitelik senkronizasyonu |
contact.deleted | Kişi arşivlendi | Temizleme |
contact.tag.created | Kişiye etiket eklendi | Segment güncellemesi |
Kullanıcı Olayları
| Olay | Tetikleyici | Kullanım Alanı |
|---|---|---|
user.created | Yeni kullanıcı kaydoldu | Başlangıç akışı |
user.email.updated | E-posta değişti | Kişi birleştirme |
user.unsubscribed | E-postalardan abonelikten çıktı | Tercih güncelleme |
Kod Örnekleri
Bağlayıcıyı Başlat
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'});Kişileri ve Konuşmaları Senkronize Et
// 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 Webhook’larını İşle
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');});Hız Limitleri
Intercom planınıza göre hız limitleri uygular:
| Plan | Hız Limiti | Detaylar |
|---|---|---|
| Starter | 20 istek/10 saniye | Uygulama başına |
| Pro | 50 istek/10 saniye | Uygulama başına |
| Premium | 100 istek/10 saniye | Uygulama başına |
| Search uç noktası | 1 istek/saniye | Uygulama başına |
| Scroll uç noktası | 1 istek/dakika | Uygulama başına |
Ek limitler:
- Toplu işlemler: Toplu istek başına 15 kişi
- Olay gönderimleri: Çalışma alanı başına 500 olay/saniye
- Webhook teslimatı: 24 saat boyunca otomatik yeniden deneme
- Veri dışa aktarımı: 1 eşzamanlı dışa aktarma
Hız Limit Yanıtı
Intercom, Retry-After başlığıyla 429 Too Many Requests döndürür. Üstel geri çekilme uygulayın ve yeniden deneme süresine saygı gösterin.
Sorun Giderme
Sık Karşılaşılan Sorunlar
| Sorun | Neden | Çözüm |
|---|---|---|
| 401 Unauthorized | Geçersiz veya süresi dolmuş belirteç | Developer Hub’da erişim belirtecini yeniden oluşturun |
| Kişi senkronize edilmiyor | E-posta alanı eksik | Intercom adaylarının e-postası olmayabilir; role göre filtreleyin |
| Konuşma verisi boş | Uygulama konuşma kapsamına sahip değil | Konuşma okuma izinleriyle yeniden yetkilendirin |
| Webhook alınmıyor | Webhook kayıtlı değil | Developer Hub ayarlarında webhook’ları yapılandırın |
| API sürüm uyuşmazlığı | Yeni sürümde yıkıcı değişiklikler | Intercom-Version başlığıyla API sürümünü sabitleyin |
Hata Ayıklama Modu
Ayrıntılı günlüklemeyi etkinleştirin:
connectors: intercom: debug: true log_level: verbose log_webhooks: trueBağlantıyı Test Et
tajo connectors test intercom# ✓ API connection successful# ✓ Contacts readable# ✓ Conversations readable# ✓ Companies readable# ✓ Webhooks registeredEn İyi Uygulamalar
- API sürümünü sabitleyin - Yıkıcı değişikliklerden kaçınmak için her zaman
Intercom-Versionbelirtin - Search API’yi verimli kullanın - Veri aktarımını azaltmak için filtreler ve sayfalama kullanın
- Hem kullanıcıları hem de adayları senkronize edin - Brevo’da tam huniyi yakalayın
- Konuşma etiketlerini eşleyin - Destek sonrası pazarlama segmentleri için konuşma etiketlerini kullanın
- Özel olayları takip edin - Davranışsal hedefleme için Intercom’a temel ürün olaylarını gönderin
- Kişi birleştirmelerini yönetin - Yinelenen kişiler için birleştirme mantığı uygulayın
Güvenlik
- Erişim Belirteci - Private uygulamalar için Bearer belirteç kimlik doğrulaması
- OAuth 2.0 - Public uygulamalar için client secret ile delege yetkilendirme
- Webhook doğrulama -
X-Hub-Signatureüzerinden HMAC SHA-1 imza doğrulaması - TLS şifrelemesi - Tüm API iletişimi HTTPS aracılığıyla şifrelenir
- Veri erişim kontrolleri - Uygulama yapılandırması başına ayrıntılı veri erişimi