HubSpot Bağlayıcısı
HubSpot Bağlayıcısı
HubSpot CRM’inizi Tajo üzerinden Brevo’ya bağlayarak çift yönlü kişi senkronizasyonu, fırsat takibi, etkileşim verileri ve her iki platformda birleşik pazarlama otomasyonu elde edin.
Genel Bakış
| Özellik | Değer |
|---|---|
| Platform | HubSpot |
| Kategori | CRM |
| Kurulum Karmaşıklığı | Orta |
| Resmi Entegrasyon | Evet |
| Senkronize Edilen Veri | Kişiler, Şirketler, Fırsatlar, Destek Talepleri, Olaylar |
| API Temel URL’si | https://api.hubapi.com |
Özellikler
- Çift yönlü kişi senkronizasyonu - HubSpot ve Brevo arasında kişileri gerçek zamanlı olarak senkronize tutun
- Fırsat hattı takibi - Gelire dayalı segmentasyon için fırsat aşamalarını ve değerlerini senkronize edin
- Şirket verisi senkronizasyonu - Kişileri şirket kayıtları ve firmografik verilerle ilişkilendirin
- Destek talebi entegrasyonu - Müşteri sağlığı puanlaması için destek taleplerini takip edin
- Etkileşim takibi - E-posta açılmaları, tıklamalar, toplantılar, aramalar ve notları senkronize edin
- Özel nesne desteği - HubSpot özel nesnelerini Brevo özelliklerine eşleyin
- İş akışı tetikleyicileri - Brevo otomasyonlarını tetiklemek için HubSpot yaşam döngüsü aşama değişikliklerini kullanın
- Webhook olayları - CRM veri değişiklikleri için gerçek zamanlı bildirimler
Ön Koşullar
Başlamadan önce sahip olmanız gerekenler:
- Bir HubSpot hesabı (Free, Starter, Professional veya Enterprise)
- Gerekli kapsamlara sahip bir HubSpot özel uygulaması veya OAuth uygulaması
- API erişimi olan bir Brevo hesabı
- Bir Tajo hesabı
Kimlik Doğrulama
Özel Uygulama Erişim Belirteci (Önerilen)
Ayrıntılı kapsam kontrolü ile doğrudan API erişimi için HubSpot’ta bir özel uygulama oluşturun.
- HubSpot Ayarlar > Entegrasyonlar > Özel Uygulamalar bölümüne gidin
- Yeni bir özel uygulama oluşturun
- Gerekli kapsamları yapılandırın
- Erişim belirtecini kopyalayın
curl -X GET "https://api.hubapi.com/crm/v3/objects/contacts" \ -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \ -H "Content-Type: application/json"OAuth 2.0
Kullanıcı yetkilendirmesi gerektiren çoklu hesap entegrasyonları için OAuth 2.0 kullanın.
# Authorization URLhttps://app.hubspot.com/oauth/authorize?client_id={client_id}&scope=crm.objects.contacts.read&redirect_uri={redirect_uri}Gerekli Kapsamlar
crm.objects.contacts.readcrm.objects.contacts.writecrm.objects.companies.readcrm.objects.deals.readcrm.objects.deals.writecrm.objects.custom.readcrm.schemas.custom.readYapılandırma
Temel Kurulum
connectors: hubspot: enabled: true access_token: "${HUBSPOT_ACCESS_TOKEN}"
# Data sync options sync: contacts: true companies: true deals: true tickets: true engagements: true
# Sync direction direction: bidirectional # or 'hubspot_to_brevo' | 'brevo_to_hubspot'
# List assignment in Brevo lists: all_contacts: 10 qualified_leads: 11 customers: 12Alan Eşleme
HubSpot özelliklerini Brevo kişi özniteliklerine eşleyin:
Varsayılan Eşlemeler
| Parameter | Type | Description |
|---|---|---|
email required | string | Kişi e-postası (birincil tanımlayıcı) |
firstname optional | string | Brevo'daki FIRSTNAME özniteliğine eşlenir |
lastname optional | string | Brevo'daki LASTNAME özniteliğine eşlenir |
phone optional | string | WhatsApp/SMS için SMS özniteliğine eşlenir |
company optional | string | İlişkili şirket adı |
lifecyclestage optional | string | HubSpot yaşam döngüsü aşaması (abone, aday, MQL, SQL, müşteri) |
hs_lead_status optional | string | Aday niteleme durumu |
hubspot_owner_id optional | string | Atanan satış sahibinin kimliği |
Özel Özellik Eşlemesi
field_mapping: # Standard fields email: email firstname: FIRSTNAME lastname: LASTNAME phone: SMS
# CRM fields lifecyclestage: LIFECYCLE_STAGE hs_lead_status: LEAD_STATUS company: COMPANY_NAME
# Deal metrics hs_total_deal_value: DEAL_VALUE num_associated_deals: DEAL_COUNT
# Custom properties preferred_channel: PREFERRED_CHANNEL customer_segment: SEGMENTAPI Uç Noktaları
CRM Nesneleri
| Yöntem | Uç Nokta | Açıklama |
|---|---|---|
GET | /crm/v3/objects/contacts | Kişileri listele |
POST | /crm/v3/objects/contacts | Bir kişi oluştur |
PATCH | /crm/v3/objects/contacts/{id} | Bir kişiyi güncelle |
GET | /crm/v3/objects/companies | Şirketleri listele |
GET | /crm/v3/objects/deals | Fırsatları listele |
POST | /crm/v3/objects/deals | Bir fırsat oluştur |
GET | /crm/v3/objects/tickets | Destek taleplerini listele |
İlişkilendirmeler
| Yöntem | Uç Nokta | Açıklama |
|---|---|---|
GET | /crm/v4/objects/{objectType}/{objectId}/associations/{toObjectType} | İlişkilendirmeleri getir |
PUT | /crm/v4/objects/{objectType}/{objectId}/associations/{toObjectType}/{toObjectId} | İlişkilendirme oluştur |
Etkileşimler
| Yöntem | Uç Nokta | Açıklama |
|---|---|---|
GET | /crm/v3/objects/calls | Arama etkileşimlerini listele |
GET | /crm/v3/objects/emails | E-posta etkileşimlerini listele |
GET | /crm/v3/objects/meetings | Toplantıları listele |
GET | /crm/v3/objects/notes | Notları listele |
GET | /crm/v3/objects/tasks | Görevleri listele |
Olaylar
Kişi Olayları
| Olay | Tetikleyici | Kullanım Alanı |
|---|---|---|
contact.creation | Yeni kişi oluşturuldu | Karşılama akışı tetikleyicisi |
contact.propertyChange | Kişi özelliği güncellendi | Öznitelik senkronizasyonu |
contact.merge | Kişiler birleştirildi | Tekrar giderme işleme |
contact.deletion | Kişi silindi | Brevo’da temizleme |
Fırsat Olayları
| Olay | Tetikleyici | Kullanım Alanı |
|---|---|---|
deal.creation | Yeni fırsat oluşturuldu | Satış bildirimi |
deal.propertyChange | Fırsat aşaması değişti | Pipeline otomasyonu |
deal.deletion | Fırsat kaldırıldı | Gelir raporlaması |
Şirket Olayları
| Olay | Tetikleyici | Kullanım Alanı |
|---|---|---|
company.creation | Yeni şirket eklendi | Hesap bazlı pazarlama |
company.propertyChange | Şirket verisi güncellendi | Firmografik senkronizasyon |
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 HubSpotawait tajo.connectors.connect('hubspot', { accessToken: process.env.HUBSPOT_ACCESS_TOKEN});Kişi Senkronizasyonu Çalıştır
// Full bidirectional syncawait tajo.connectors.sync('hubspot', { type: 'full', resources: ['contacts', 'companies', 'deals'], direction: 'bidirectional', since: '2023-01-01'});
// Check sync statusconst status = await tajo.connectors.status('hubspot');console.log(status);// {// connected: true,// lastSync: '2024-01-15T10:30:00Z',// contactsSynced: 34200,// companiesSynced: 5100,// dealsSynced: 2340// }Webhook Olaylarını İşle
// Handle HubSpot webhook notificationsapp.post('/webhooks/hubspot', async (req, res) => { const signature = req.get('X-HubSpot-Signature-v3');
// Verify webhook signature if (!verifyHubSpotSignature(req.body, signature)) { return res.status(401).send('Unauthorized'); }
for (const event of req.body) { await tajo.connectors.handleWebhook('hubspot', { eventType: event.subscriptionType, objectId: event.objectId, propertyName: event.propertyName, propertyValue: event.propertyValue }); }
res.status(200).send('OK');});Hız Limitleri
HubSpot, özel uygulama veya OAuth uygulaması başına hız limitleri uygular:
| Plan | Hız Limiti | Patlama Limiti |
|---|---|---|
| Free/Starter | 100 istek/10 saniye | 150 istek/10 saniye |
| Professional | 150 istek/10 saniye | 200 istek/10 saniye |
| Enterprise | 200 istek/10 saniye | 250 istek/10 saniye |
| API eklentisi | 200 istek/10 saniye | 250 istek/10 saniye |
Ek limitler:
- Arama API’si: uygulama başına saniyede 5 istek
- Toplu işlemler: toplu istek başına 100 kayıt
- Günlük limit: 500.000 istek/gün (OAuth uygulamaları)
Hız Limiti Yönetimi
HubSpot, limitler aşıldığında 429 Too Many Requests yanıtı döndürür. Üstel geri çekilme kullanın ve X-HubSpot-RateLimit-* başlıklarını izleyin.
Sorun Giderme
Sık Karşılaşılan Sorunlar
| Sorun | Neden | Çözüm |
|---|---|---|
| 401 Unauthorized | Süresi dolmuş veya geçersiz belirteç | Özel uygulama belirtecini yeniden oluşturun veya OAuth belirtecini yenileyin |
| Kişi senkronize edilmiyor | E-posta özelliği eksik | HubSpot kişileri Brevo senkronizasyonu için e-posta gerektirir |
| Yinelenen kişiler | Tekrar giderme kuralı yok | HubSpot’ta birleştirme kurallarını yapılandırın |
| Webhook alınmıyor | Abonelik etkin değil | Webhook aboneliklerini yeniden kaydedin |
| Özellik eşlenmiyor | Özel özellik oluşturulmamış | Özelliği önce HubSpot’ta oluşturun |
Hata Ayıklama Modu
Ayrıntılı günlüklemeyi etkinleştirin:
connectors: hubspot: debug: true log_level: verbose log_webhooks: trueBağlantıyı Test Et
tajo connectors test hubspot# ✓ API connection successful# ✓ Contacts readable# ✓ Companies readable# ✓ Deals readable# ✓ Webhooks registeredEn İyi Uygulamalar
- Özel uygulamaları API anahtarları yerine kullanın - API anahtarları kullanımdan kaldırılmıştır; daha iyi güvenlik için özel uygulamaları kullanın
- Çift yönlü senkronizasyonu dikkatli uygulayın - Senkronizasyon kaynağını izleyerek sonsuz döngülerden kaçının
- Yaşam döngüsü aşamalarını eşleyin - Brevo’da kişileri segmentlere ayırmak için HubSpot yaşam döngüsü aşamalarını kullanın
- API isteklerini gruplandırın - Hız limitleri içinde kalmak için toplu işlemler için toplu uç noktaları kullanın
- Webhook teslimatını izleyin - Yeniden deneme mantığı ve dead letter yönetimi kurun
- Artımlı senkronizasyon kullanın - Yalnızca değişen kayıtları
lastmodifieddateözelliğini kullanarak senkronize edin
Güvenlik
- Özel Uygulama Belirteçleri - Ayrıntılı izinlerle kapsamlandırılmış erişim belirteçleri
- OAuth 2.0 - Yenileme belirteci rotasyonu ile endüstri standardı yetkilendirme
- Webhook imzaları - HMAC tabanlı imza doğrulaması (v3)
- TLS şifrelemesi - Tüm API iletişimi aktarımda şifrelenmiştir
- Kapsamlandırılmış izinler - Entegrasyon başına minimum gerekli kapsam erişimi