Pipedrive Connector
Pipedrive Connector
เชื่อมต่อ Pipedrive กับ Brevo ผ่าน Tajo เพื่อเชื่อมไปป์ไลน์การขายกับระบบอัตโนมัติทางการตลาด ซิงค์ผู้ติดต่อ ดีล องค์กร และกิจกรรมเพื่อขับเคลื่อนแคมเปญวงจรชีวิตที่ทริกเกอร์โดยการเปลี่ยนแปลงขั้นตอน CRM
ภาพรวม
| คุณสมบัติ | ค่า |
|---|---|
| แพลตฟอร์ม | Pipedrive |
| หมวดหมู่ | CRM |
| ความซับซ้อนในการตั้งค่า | ง่าย |
| การผสานรวมอย่างเป็นทางการ | ไม่ |
| ข้อมูลที่ซิงค์ | บุคคล ดีล องค์กร กิจกรรม |
| ทักษะที่มีอยู่ | 8 |
ฟีเจอร์
- การซิงค์ผู้ติดต่อ - การซิงค์บุคคล Pipedrive กับผู้ติดต่อ Brevo แบบสองทิศทาง
- การติดตามขั้นตอนดีล - ทริกเกอร์ระบบอัตโนมัติ Brevo ตามการเปลี่ยนแปลงขั้นตอนไปป์ไลน์ดีล
- การซิงค์องค์กร - แมปองค์กร Pipedrive กับแอตทริบิวต์บริษัท Brevo
- การติดตามกิจกรรม - ส่งต่อกิจกรรม Pipedrive (การโทร อีเมล การประชุม) เป็นเหตุการณ์ Brevo
- ฟิลด์แบบกำหนดเอง - แมปฟิลด์แบบกำหนดเองของ Pipedrive กับแอตทริบิวต์ผู้ติดต่อ Brevo
- รายงานไปป์ไลน์ - ดึงข้อมูลไปป์ไลน์ดีลสำหรับการระบุแหล่งที่มาทางการตลาด
- การซิงค์ลีด - นำเข้าลีด Pipedrive ใน Brevo สำหรับแคมเปญบ่มเพาะ
- ระบบอัตโนมัติ Webhook - การอัปเดตแบบเรียลไทม์ผ่าน Pipedrive webhooks
ข้อกำหนดเบื้องต้น
ก่อนเริ่มต้น ตรวจสอบให้แน่ใจว่าคุณมี:
- บัญชี Pipedrive ที่มีสิทธิ์ผู้ดูแลระบบ
- Pipedrive API Token (พบได้ใน Settings > Personal preferences > API)
- สำหรับ OAuth apps: Pipedrive app ที่ลงทะเบียนพร้อม Client ID และ Client Secret
- บัญชี Brevo ที่มีสิทธิ์เข้าถึง API
- บัญชี Tajo ที่มีข้อมูลรับรอง API
การยืนยันตัวตน
API Token
วิธีการยืนยันตัวตนที่ง่ายที่สุด ค้นหา API Token ของคุณใน Pipedrive ที่ Settings > Personal preferences > API
curl "https://api.pipedrive.com/v1/persons?api_token=YOUR_API_TOKEN"OAuth 2.0 (แนะนำสำหรับ Apps)
สำหรับแอปพลิเคชันในการผลิต ใช้ OAuth 2.0:
# 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"หลังจากได้รับ access token:
curl "https://api.pipedrive.com/v1/persons" \ -H "Authorization: Bearer ACCESS_TOKEN"การกำหนดค่า
การตั้งค่าพื้นฐาน
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: 63การแมปฟิลด์บุคคล
แมปฟิลด์บุคคล Pipedrive กับแอตทริบิวต์ผู้ติดต่อ Brevo:
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_SIZEการแมปขั้นตอนดีล
แมปขั้นตอนไปป์ไลน์ Pipedrive กับการกำหนดรายการ Brevo:
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 listการกำหนดค่า Webhook
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 Endpoints
| เมธอด | Endpoint | คำอธิบาย |
|---|---|---|
GET | /v1/persons | แสดงรายการบุคคล |
POST | /v1/persons | สร้างบุคคล |
PUT | /v1/persons/{id} | อัปเดตบุคคล |
DELETE | /v1/persons/{id} | ลบบุคคล |
GET | /v1/deals | แสดงรายการดีล |
POST | /v1/deals | สร้างดีล |
PUT | /v1/deals/{id} | อัปเดตดีล |
GET | /v1/organizations | แสดงรายการองค์กร |
POST | /v1/organizations | สร้างองค์กร |
GET | /v1/activities | แสดงรายการกิจกรรม |
POST | /v1/activities | สร้างกิจกรรม |
GET | /v1/leads | แสดงรายการลีด |
GET | /v1/pipelines | แสดงรายการไปป์ไลน์ |
GET | /v1/stages | แสดงรายการขั้นตอนไปป์ไลน์ |
GET | /v1/itemSearch | ค้นหาทั่วทุกรายการ |
POST | /v1/webhooks | สร้าง webhook |
GET | /v1/recents | ดูรายการที่แก้ไขล่าสุด |
ตัวอย่างโค้ด
เริ่มต้น Pipedrive Connector
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'});ซิงค์บุคคลกับ Brevo
// 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 }ติดตามการเปลี่ยนแปลงขั้นตอนดีล
// 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
// 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 organizationsขีดจำกัดอัตรา
| แผน | ขีดจำกัด | รายละเอียด |
|---|---|---|
| Essential | 80 คำขอ/10 วินาที | ต่อ API token |
| Advanced | 100 คำขอ/10 วินาที | ต่อ API token |
| Professional | 200 คำขอ/10 วินาที | ต่อ API token |
| Power | 200 คำขอ/10 วินาที | ต่อ API token |
| Enterprise | 400 คำขอ/10 วินาที | ต่อ API token |
| OAuth apps | 80 คำขอ/2 วินาที | ต่อ access token |
ขีดจำกัดเพิ่มเติม:
| ทรัพยากร | ขีดจำกัด |
|---|---|
| ต่อหน้า | สูงสุด 500 รายการ |
| Webhooks | 40 ต่อบัญชี |
| การลบแบบ Bulk | 100 รายการ/คำขอ |
| การค้นหา | ขีดจำกัดอัตราปกติ |
Headers ขีดจำกัดอัตรา
Pipedrive ส่งคืน headers X-RateLimit-Limit, X-RateLimit-Remaining และ X-RateLimit-Reset ใช้ backoff เมื่อ X-RateLimit-Remaining ใกล้ศูนย์
การแก้ไขปัญหา
| ปัญหา | สาเหตุ | วิธีแก้ |
|---|---|---|
401 Unauthorized | API token ไม่ถูกต้อง | สร้าง token ใหม่ใน Pipedrive Settings > API |
403 Forbidden | สิทธิ์บัญชี | ตรวจสอบว่าบัญชีมีสิทธิ์ผู้ดูแลระบบสำหรับการใช้งาน API |
| บุคคลไม่มีอีเมล | ไม่มีอีเมลในบันทึก | กรองบุคคลที่มีอีเมลที่ถูกต้องก่อนซิงค์ |
| ฟิลด์แบบกำหนดเองไม่แมป | คีย์ฟิลด์ไม่ถูกต้อง | ใช้คีย์ฟิลด์ของ Pipedrive (hash) ไม่ใช่ชื่อที่แสดง |
| ไม่ได้รับ Webhooks | ไฟร์วอลล์บล็อก | ตรวจสอบให้แน่ใจว่า URL webhook เข้าถึงได้สาธารณะผ่าน HTTPS |
| บุคคลซ้ำ | บันทึกอีเมลหลายรายการ | ใช้ merge API ของ Pipedrive ก่อนซิงค์ |
429 Too Many Requests | เกินขีดจำกัดอัตรา | ใช้ backoff โดยใช้ header X-RateLimit-Reset |
แนวทางปฏิบัติที่ดีที่สุด
- ใช้ OAuth สำหรับการผลิต - ใช้ OAuth 2.0 แทน API tokens สำหรับแอปพลิเคชันในการผลิต
- ติดตามการเปลี่ยนแปลงขั้นตอนดีล - ใช้ webhooks เพื่อทริกเกอร์ระบบอัตโนมัติ Brevo ในการเปลี่ยนผ่านขั้นตอนไปป์ไลน์
- แมปฟิลด์แบบกำหนดเอง - ใช้คีย์ฟิลด์แบบกำหนดเองของ Pipedrive (ไม่ใช่ชื่อ) สำหรับการแมปฟิลด์ที่เชื่อถือได้
- จัดการ pagination - ใช้พารามิเตอร์
startและlimitตรวจสอบmore_items_in_collection - ใช้ Recents endpoint - Poll
/v1/recentsสำหรับการซิงค์แบบเพิ่มทีละน้อยแทนการส่งออกแบบเต็ม - ลบรายการซ้ำก่อนซิงค์ - รวมบุคคลที่ซ้ำกันใน Pipedrive ก่อนซิงค์กับ Brevo
- ใช้บัญชี sandbox - สร้างบัญชี sandbox สำหรับนักพัฒนาสำหรับการทดสอบการผสานรวม
ความปลอดภัย
- การยืนยันตัวตนด้วย API token - การเข้าถึงตาม token แบบง่ายสำหรับการใช้งานส่วนตัว
- OAuth 2.0 - การเข้าถึงที่ได้รับมอบอำนาจอย่างปลอดภัยสำหรับแอปพลิเคชันบุคคลที่สาม
- HTTPS เท่านั้น - การสื่อสาร API ทั้งหมดต้องการการเข้ารหัส TLS
- Webhook HTTPS - Webhooks ส่งมอบให้กับ endpoints HTTPS เท่านั้น
- การเข้าถึงตามบทบาท - สิทธิ์ Pipedrive เคารพบทบาทผู้ใช้
- รับรอง SOC 2 - Pipedrive รักษาการปฏิบัติตาม SOC 2
- การปฏิบัติตาม GDPR - รองรับคำขอส่งออกและลบข้อมูล