Pipedrive Bağlayıcısı
Pipedrive Bağlayıcısı
Satış hattınızı pazarlama otomasyonu ile köprülemek için Pipedrive’ı Tajo üzerinden Brevo’ya bağlayın. CRM aşama değişikliklerine göre tetiklenen yaşam döngüsü kampanyalarını güçlendirmek için kişileri, fırsatları, organizasyonları ve aktiviteleri senkronize edin.
Genel Bakış
| Özellik | Değer |
|---|---|
| Platform | Pipedrive |
| Kategori | CRM |
| Kurulum Karmaşıklığı | Kolay |
| Resmi Entegrasyon | Hayır |
| Senkronize Edilen Veri | Kişiler, Fırsatlar, Organizasyonlar, Aktiviteler |
| Mevcut Yetenekler | 8 |
Özellikler
- Kişi senkronizasyonu - Pipedrive kişilerinin Brevo kişileri ile çift yönlü senkronizasyonu
- Fırsat aşaması takibi - Fırsat pipeline aşama değişikliklerine göre Brevo otomasyonlarını tetikleyin
- Organizasyon senkronizasyonu - Pipedrive organizasyonlarını Brevo şirket özniteliklerine eşleyin
- Aktivite takibi - Pipedrive aktivitelerini (aramalar, e-postalar, toplantılar) Brevo olayları olarak iletin
- Özel alanlar - Pipedrive özel alanlarını Brevo kişi özniteliklerine eşleyin
- Pipeline raporlaması - Pazarlama ilişkilendirmesi için fırsat pipeline verilerini çekin
- Aday senkronizasyonu - Pipedrive adaylarını yetiştirme kampanyaları için Brevo’ya aktarın
- Webhook otomasyonu - Pipedrive webhook’ları aracılığıyla gerçek zamanlı güncellemeler
Ön Koşullar
Başlamadan önce sahip olmanız gerekenler:
- Yönetici erişimi olan bir Pipedrive hesabı
- Pipedrive API Belirteciniz (Ayarlar > Kişisel tercihler > API’de bulunur)
- OAuth uygulamaları için: Client ID ve Client Secret’e sahip kayıtlı bir Pipedrive uygulaması
- API erişimi olan bir Brevo hesabı
- API kimlik bilgileri olan bir Tajo hesabı
Kimlik Doğrulama
API Belirteci
En basit kimlik doğrulama yöntemi. API Belirtecinizi Pipedrive’da Ayarlar > Kişisel tercihler > API altında bulun.
curl "https://api.pipedrive.com/v1/persons?api_token=YOUR_API_TOKEN"OAuth 2.0 (Uygulamalar İçin Önerilir)
Üretim uygulamaları için OAuth 2.0 kullanın:
# Authorization URLhttps://oauth.pipedrive.com/oauth/authorize?client_id=CLIENT_ID&redirect_uri=REDIRECT_URI
# Token exchangecurl -X POST https://oauth.pipedrive.com/oauth/token \ -d "grant_type=authorization_code" \ -d "code=AUTH_CODE" \ -d "redirect_uri=REDIRECT_URI" \ -u "CLIENT_ID:CLIENT_SECRET"Erişim belirtecini aldıktan sonra:
curl "https://api.pipedrive.com/v1/persons" \ -H "Authorization: Bearer ACCESS_TOKEN"Yapılandırma
Temel Kurulum
connectors: pipedrive: enabled: true api_token: "your-pipedrive-api-token" company_domain: "yourcompany" # yourcompany.pipedrive.com
# Data sync options sync: persons: true deals: true organizations: true activities: true leads: true
# Brevo list assignment lists: all_contacts: 60 qualified_leads: 61 customers: 62 churned: 63Kişi Alanı Eşlemesi
Pipedrive kişi alanlarını Brevo kişi özniteliklerine eşleyin:
person_mapping: email: email name: FULLNAME first_name: FIRSTNAME last_name: LASTNAME phone: SMS org_id.name: COMPANY
# Deal-related computed fields won_deals_count: WON_DEALS lost_deals_count: LOST_DEALS open_deals_count: OPEN_DEALS closed_deals_count: CLOSED_DEALS total_revenue: LTV
# Custom fields (use Pipedrive field key) custom_fields.lead_source: LEAD_SOURCE custom_fields.industry: INDUSTRY custom_fields.company_size: COMPANY_SIZEFırsat Aşama Eşlemesi
Pipedrive pipeline aşamalarını Brevo liste atamalarına eşleyin:
deal_stage_mapping: # stage_id -> brevo_list_id 1: 61 # Lead In 2: 61 # Contact Made 3: 62 # Proposal Made 4: 62 # Negotiations Started "won": 63 # Won -> Customers list "lost": 64 # Lost -> Win-back listWebhook Yapılandırması
webhooks: - event_action: "added" event_object: "person" brevo_event: "contact_created" - event_action: "updated" event_object: "person" brevo_event: "contact_updated" - event_action: "added" event_object: "deal" brevo_event: "deal_created" - event_action: "updated" event_object: "deal" brevo_event: "deal_updated" - event_action: "merged" event_object: "person" brevo_event: "contact_merged" - event_action: "added" event_object: "activity" brevo_event: "activity_logged"API Uç Noktaları
| Yöntem | Uç Nokta | Açıklama |
|---|---|---|
GET | /v1/persons | Kişileri listele |
POST | /v1/persons | Bir kişi oluştur |
PUT | /v1/persons/{id} | Bir kişiyi güncelle |
DELETE | /v1/persons/{id} | Bir kişiyi sil |
GET | /v1/deals | Fırsatları listele |
POST | /v1/deals | Bir fırsat oluştur |
PUT | /v1/deals/{id} | Bir fırsatı güncelle |
GET | /v1/organizations | Organizasyonları listele |
POST | /v1/organizations | Bir organizasyon oluştur |
GET | /v1/activities | Aktiviteleri listele |
POST | /v1/activities | Bir aktivite oluştur |
GET | /v1/leads | Adayları listele |
GET | /v1/pipelines | Pipeline’ları listele |
GET | /v1/stages | Pipeline aşamalarını listele |
GET | /v1/itemSearch | Tüm öğelerde ara |
POST | /v1/webhooks | Bir webhook oluştur |
GET | /v1/recents | Son değiştirilen öğeleri getir |
Kod Örnekleri
Pipedrive Bağlayıcısını Başlat
import { TajoClient } from '@tajo/sdk';
const tajo = new TajoClient({ apiKey: process.env.TAJO_API_KEY, brevoApiKey: process.env.BREVO_API_KEY});
// Connect Pipedrive accountawait tajo.connectors.connect('pipedrive', { apiToken: process.env.PIPEDRIVE_API_TOKEN, companyDomain: 'yourcompany'});Kişileri Brevo’ya Senkronize Et
// Fetch persons from Pipedriveconst response = await fetch( `https://api.pipedrive.com/v1/persons?start=0&limit=100&api_token=${API_TOKEN}`);
const { data, additional_data } = await response.json();// data: [{ id, name, first_name, last_name, email, phone, org_id, ... }]// additional_data.pagination: { start, limit, more_items_in_collection }Fırsat Aşama Değişikliklerini Takip Et
// Webhook handler for deal updatesapp.post('/webhooks/pipedrive', async (req, res) => { const { meta, current, previous } = req.body;
if (meta.object === 'deal' && meta.action === 'updated') { // Detect stage change if (current.stage_id !== previous.stage_id) { await tajo.connectors.handleWebhook('pipedrive', { topic: 'deal.stage_changed', payload: { dealId: current.id, dealTitle: current.title, previousStage: previous.stage_id, newStage: current.stage_id, personId: current.person_id, value: current.value, currency: current.currency } }); } }
res.status(200).send('OK');});Pipedrive’da Arama Yap
// Global search across persons, deals, and organizationsconst response = await fetch( `https://api.pipedrive.com/v1/itemSearch?term=${query}&item_types=person,deal&api_token=${API_TOKEN}`);
const { data } = await response.json();// Returns matching persons, deals, and organizationsHız Limitleri
| Plan | Limit | Detaylar |
|---|---|---|
| Essential | 80 istek/10 sn | API belirteci başına |
| Advanced | 100 istek/10 sn | API belirteci başına |
| Professional | 200 istek/10 sn | API belirteci başına |
| Power | 200 istek/10 sn | API belirteci başına |
| Enterprise | 400 istek/10 sn | API belirteci başına |
| OAuth uygulamaları | 80 istek/2 sn | Erişim belirteci başına |
Ek limitler:
| Kaynak | Limit |
|---|---|
| Sayfa başına | Maksimum 500 kayıt |
| Webhook’lar | Hesap başına 40 |
| Toplu silme | İstek başına 100 öğe |
| Arama | Standart hız limitleri |
Hız Limiti Başlıkları
Pipedrive X-RateLimit-Limit, X-RateLimit-Remaining ve X-RateLimit-Reset başlıklarını döndürür. X-RateLimit-Remaining sıfıra yaklaştığında geri çekilme uygulayın.
Sorun Giderme
| Sorun | Neden | Çözüm |
|---|---|---|
401 Unauthorized | Geçersiz API belirteci | Pipedrive Ayarlar > API’de belirteci yeniden oluşturun |
403 Forbidden | Hesap izinleri | Hesabın API kullanımı için yönetici erişimine sahip olduğundan emin olun |
| Kişilerde e-posta eksik | Kayıtta e-posta yok | Senkronizasyondan önce geçerli e-postaya sahip kişileri filtreleyin |
| Özel alanlar eşlenmiyor | Yanlış alan anahtarı | Görüntülenen ad yerine Pipedrive’ın alan anahtarını (hash) kullanın |
| Webhook’lar alınmıyor | Güvenlik duvarı engelliyor | Webhook URL’sinin HTTPS üzerinden herkese açık olarak erişilebilir olduğundan emin olun |
| Yinelenen kişiler | Birden fazla e-posta kaydı | Senkronizasyondan önce Pipedrive’ın birleştirme API’sini kullanın |
429 Too Many Requests | Hız limiti aşıldı | X-RateLimit-Reset başlığını kullanarak geri çekilme uygulayın |
En İyi Uygulamalar
- Üretim için OAuth kullanın - Üretim uygulamaları için API belirteçleri yerine OAuth 2.0’ı tercih edin
- Fırsat aşama değişikliklerini takip edin - Pipeline aşama geçişlerinde Brevo otomasyonlarını tetiklemek için webhook’ları kullanın
- Özel alanları eşleyin - Güvenilir alan eşlemesi için Pipedrive özel alan anahtarlarını (adlar değil) kullanın
- Sayfalamayı yönetin -
startvelimitparametrelerini kullanın;more_items_in_collectiondeğerini kontrol edin - Recents uç noktasını kullanın - Tam dışa aktarma yerine artımlı senkronizasyonlar için
/v1/recents’i sorgulayın - Senkronizasyondan önce yinelemeleri giderin - Brevo’ya senkronize etmeden önce Pipedrive’daki yinelenen kişileri birleştirin
- Sandbox hesaplarını kullanın - Entegrasyonları test etmek için bir geliştirici sandbox hesabı oluşturun
Güvenlik
- API belirteci kimlik doğrulaması - Kişisel kullanım için basit belirteç tabanlı erişim
- OAuth 2.0 - Üçüncü taraf uygulamalar için güvenli yetkilendirme erişimi
- Yalnızca HTTPS - Tüm API iletişimi TLS şifrelemesi gerektirir
- Webhook HTTPS - Webhook’lar yalnızca HTTPS uç noktalarına teslim edilir
- Rol tabanlı erişim - Pipedrive izinleri kullanıcı rollerine uyar
- SOC 2 sertifikalı - Pipedrive SOC 2 uyumluluğunu korur
- GDPR uyumluluğu - Veri dışa aktarma ve silme taleplerini destekler