Конектор Pipedrive
Конектор Pipedrive
Свържете Pipedrive с Brevo чрез Tajo, за да обедините пайплайна на продажбите с маркетинговата автоматизация. Синхронизирайте контакти, сделки, организации и дейности, за да задвижвате кампании по жизнения цикъл, задействани от промени в етапите на CRM.
Преглед
| Свойство | Стойност |
|---|---|
| Платформа | Pipedrive |
| Категория | CRM |
| Сложност на настройка | Лесна |
| Официална интеграция | Не |
| Синхронизирани данни | Лица, сделки, организации, дейности |
| Налични умения | 8 |
Функции
- Синхронизация на контакти – Двупосочна синхронизация на лицата в Pipedrive с контактите в Brevo
- Проследяване на етапите на сделките – Задействайте автоматизации в Brevo въз основа на промени в етапите на пайплайна
- Синхронизация на организации – Мапвайте организациите от Pipedrive към атрибутите на компаниите в Brevo
- Проследяване на дейности – Препращайте дейности от Pipedrive (обаждания, имейли, срещи) като събития в Brevo
- Персонализирани полета – Мапвайте персонализирани полета от Pipedrive към атрибути на контактите в Brevo
- Отчитане на пайплайна – Извличайте данни за пайплайна от сделки за маркетингово атрибутиране
- Синхронизация на лийдове – Импортирайте лийдове от Pipedrive в Brevo за кампании за подхранване
- Webhook автоматизация – Обновявания в реално време чрез Pipedrive webhooks
Предварителни условия
Преди да започнете, уверете се, че имате:
- Акаунт в Pipedrive с администраторски достъп
- Вашия API токен от Pipedrive (намира се в Settings > Personal preferences > API)
- За OAuth приложения: регистрирано Pipedrive приложение с Client ID и Client Secret
- Акаунт в Brevo с API достъп
- Акаунт в Tajo с API идентификационни данни
Автентикация
API токен
Най-простият метод за автентикация. Намерете вашия API токен в Pipedrive в Settings > Personal preferences > API.
curl "https://api.pipedrive.com/v1/persons?api_token=YOUR_API_TOKEN"OAuth 2.0 (препоръчително за приложения)
За продукционни приложения използвайте 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"След получаване на токена за достъп:
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 listWebhook конфигурация
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 крайни точки
| Method | 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
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 токен |
| Advanced | 100 заявки/10 сек | За API токен |
| Professional | 200 заявки/10 сек | За API токен |
| Power | 200 заявки/10 сек | За API токен |
| Enterprise | 400 заявки/10 сек | За API токен |
| OAuth приложения | 80 заявки/2 сек | За токен за достъп |
Допълнителни лимити:
| Ресурс | Лимит |
|---|---|
| На страница | Максимум 500 записа |
| Webhooks | 40 на акаунт |
| Групово изтриване | 100 елемента/заявка |
| Търсене | Стандартни лимити на заявки |
Хедъри за лимит на заявки
Pipedrive връща хедърите X-RateLimit-Limit, X-RateLimit-Remaining и X-RateLimit-Reset. Приложете отлагане, когато X-RateLimit-Remaining се доближава до нула.
Отстраняване на проблеми
| Проблем | Причина | Решение |
|---|---|---|
401 Unauthorized | Невалиден API токен | Генерирайте нов токен в Pipedrive Settings > API |
403 Forbidden | Разрешения на акаунта | Уверете се, че акаунтът има администраторски достъп за API употреба |
| Лица без имейл | Няма имейл в записа | Филтрирайте лицата с валиден имейл преди синхронизация |
| Персонализираните полета не се мапват | Грешен ключ на поле | Използвайте ключа на полето в Pipedrive (хеш), а не показваното име |
| Webhooks не се получават | Firewall блокира | Уверете се, че webhook URL е публично достъпен през HTTPS |
| Дублирани лица | Множество записи с един имейл | Използвайте merge API на Pipedrive преди синхронизация |
429 Too Many Requests | Надвишен лимит на заявките | Приложете отлагане чрез хедъра X-RateLimit-Reset |
Най-добри практики
- Използвайте OAuth в продукция – Предпочитайте OAuth 2.0 пред API токени за продукционни приложения
- Проследявайте промените в етапите на сделките – Използвайте webhooks за задействане на автоматизации в Brevo при преходи между етапи
- Мапвайте персонализирани полета – Използвайте ключовете на персонализираните полета в Pipedrive (а не имената) за надеждно мапване
- Обработвайте пагинацията – Използвайте параметрите
startиlimit; проверявайтеmore_items_in_collection - Използвайте крайната точка Recents – Допитвайте се до
/v1/recentsза инкрементални синхронизации вместо пълни експорти - Дедуплицирайте преди синхронизация – Обединете дублиращи се лица в Pipedrive преди синхронизиране с Brevo
- Използвайте sandbox акаунти – Създайте sandbox акаунт за разработчици за тестване на интеграции
Сигурност
- Автентикация с API токен – Прост достъп на базата на токен за персонална употреба
- OAuth 2.0 – Сигурен делегиран достъп за приложения от трети страни
- Само HTTPS – Цялата API комуникация изисква TLS криптиране
- HTTPS за webhooks – Webhooks се доставят само до HTTPS крайни точки
- Достъп на базата на роли – Разрешенията в Pipedrive зачитат ролите на потребителите
- SOC 2 сертификация – Pipedrive поддържа SOC 2 съответствие
- GDPR съответствие – Поддържа заявки за експорт и изтриване на данни