Коннектор Pipedrive

Коннектор Pipedrive

Подключите Pipedrive к Brevo через Tajo, чтобы объединить вашу воронку продаж с маркетинговой автоматизацией. Синхронизируйте контакты, сделки, организации и активности, чтобы запускать кампании жизненного цикла по изменениям стадий CRM.

Обзор

СвойствоЗначение
ПлатформаPipedrive
КатегорияCRM
Сложность настройкиЛёгкая
Официальная интеграцияНет
Синхронизируемые данныеPersons, Deals, Organizations, Activities
Доступные навыки8

Возможности

  • Синхронизация контактов, двусторонняя синхронизация persons Pipedrive с контактами Brevo
  • Отслеживание стадий сделок, запускайте автоматизации Brevo по изменениям стадий воронки
  • Синхронизация организаций, сопоставляйте организации Pipedrive с атрибутами компаний Brevo
  • Отслеживание активностей, пересылайте активности Pipedrive (звонки, письма, встречи) как события Brevo
  • Кастомные поля, сопоставляйте кастомные поля Pipedrive с атрибутами контакта Brevo
  • Отчётность по воронке, получайте данные воронки сделок для маркетинговой атрибуции
  • Синхронизация лидов, импортируйте лиды Pipedrive в Brevo для взращивающих кампаний
  • Автоматизация через вебхуки, обновления в реальном времени через вебхуки Pipedrive

Предварительные требования

Прежде чем начать, убедитесь, что у вас есть:

  1. Аккаунт Pipedrive с правами администратора
  2. API-токен Pipedrive (находится в Settings > Personal preferences > API)
  3. Для OAuth-приложений: зарегистрированное приложение Pipedrive с Client ID и Client Secret
  4. Аккаунт Brevo с доступом к API
  5. Аккаунт Tajo с учётными данными API

Аутентификация

API-токен

Самый простой метод аутентификации. Найдите API-токен в Pipedrive в разделе Settings > Personal preferences > API.

Terminal window
curl "https://api.pipedrive.com/v1/persons?api_token=YOUR_API_TOKEN"

OAuth 2.0 (рекомендуется для приложений)

Для продакшен-приложений используйте OAuth 2.0:

Terminal window
# Authorization URL
https://oauth.pipedrive.com/oauth/authorize?client_id=CLIENT_ID&redirect_uri=REDIRECT_URI
# Token exchange
curl -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"

После получения токена доступа:

Terminal window
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

Сопоставление полей Person

Сопоставьте поля person 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

Конфигурация вебхуков

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

МетодЭндпоинтОписание
GET/v1/personsСписок persons
POST/v1/personsСоздать person
PUT/v1/persons/{id}Обновить person
DELETE/v1/persons/{id}Удалить person
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Создать вебхук
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 account
await tajo.connectors.connect('pipedrive', {
apiToken: process.env.PIPEDRIVE_API_TOKEN,
companyDomain: 'yourcompany'
});

Синхронизация persons в Brevo

// Fetch persons from Pipedrive
const 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 updates
app.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 organizations
const query = encodeURIComponent('[email protected]');
const 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

Ограничения скорости

ТарифЛимитДетали
Essential80 запросов/10 секНа API-токен
Advanced100 запросов/10 секНа API-токен
Professional200 запросов/10 секНа API-токен
Power200 запросов/10 секНа API-токен
Enterprise400 запросов/10 секНа API-токен
OAuth-приложения80 запросов/2 секНа токен доступа

Дополнительные ограничения:

РесурсЛимит
На страницуМаксимум 500 записей
Вебхуки40 на аккаунт
Массовое удаление100 объектов/запрос
ПоискСтандартные лимиты

Заголовки лимитов

Pipedrive возвращает заголовки X-RateLimit-Limit, X-RateLimit-Remaining и X-RateLimit-Reset. Реализуйте задержку, когда X-RateLimit-Remaining приближается к нулю.

Устранение неполадок

ПроблемаПричинаРешение
401 UnauthorizedНедействительный API-токенПерегенерируйте токен в Pipedrive Settings > API
403 ForbiddenРазрешения аккаунтаУбедитесь, что у аккаунта есть права администратора для использования API
У persons нет emailВ записи нет emailФильтруйте persons с валидным email перед синхронизацией
Кастомные поля не сопоставляютсяНеверный ключ поляИспользуйте ключ поля Pipedrive (hash), а не отображаемое имя
Вебхуки не приходятБлокировка файрволомУбедитесь, что URL вебхука публично доступен по HTTPS
Дубликаты personsНесколько записей с одним emailИспользуйте API объединения Pipedrive перед синхронизацией
429 Too Many RequestsПревышен лимит запросовРеализуйте задержку с использованием заголовка X-RateLimit-Reset

Лучшие практики

  1. Используйте OAuth для продакшена, предпочитайте OAuth 2.0 вместо API-токенов для продакшен-приложений
  2. Отслеживайте изменения стадий сделок, используйте вебхуки для запуска автоматизаций Brevo при переходах стадий
  3. Сопоставляйте кастомные поля, используйте ключи кастомных полей Pipedrive (не названия) для надёжного сопоставления
  4. Обрабатывайте пагинацию, используйте параметры start и limit; проверяйте more_items_in_collection
  5. Используйте эндпоинт Recents, опрашивайте /v1/recents для инкрементальных синхронизаций вместо полных выгрузок
  6. Выполняйте дедупликацию перед синхронизацией, объединяйте дубликаты persons в Pipedrive перед синхронизацией в Brevo
  7. Используйте sandbox-аккаунты, создавайте sandbox для разработчиков для тестирования интеграций

Безопасность

  • Аутентификация через API-токен, простой доступ на основе токена для личного использования
  • OAuth 2.0, безопасный делегированный доступ для сторонних приложений
  • Только HTTPS, все API-коммуникации требуют TLS-шифрования
  • Вебхуки по HTTPS, вебхуки доставляются только на HTTPS-эндпоинты
  • Доступ по ролям, разрешения Pipedrive учитывают роли пользователей
  • Сертификация SOC 2, Pipedrive поддерживает соответствие SOC 2
  • Соответствие GDPR, поддерживает запросы на экспорт и удаление данных

Связанные ресурсы

Subscribe to updates

developer-docs

Drop your email or phone number — we'll send you what matters next.

AI-ассистент

Привет! Спрашивайте меня о документации.

Начните бесплатно с Brevo