Pipedrive Connector
Pipedrive Connector
Poveži Pipedrive z Brevo prek Tajo, da premostiš prodajni lijak z marketinško avtomatizacijo. Sinhronizacija stikov, poslov, organizacij in aktivnosti za pogon kampanj življenjskega cikla, ki se sprožijo ob spremembi faze v CRM.
Pregled
| Lastnost | Vrednost |
|---|---|
| Platforma | Pipedrive |
| Kategorija | CRM |
| Zahtevnost nastavitve | Enostavna |
| Uradna integracija | Ne |
| Sinhronizirani podatki | Osebe, posli, organizacije, aktivnosti |
| Razpoložljivi Skills | 8 |
Funkcionalnosti
- Sinhronizacija stikov – dvosmerna sinhronizacija oseb Pipedrive s stiki Brevo
- Sledenje fazam poslov – sprožaj avtomatizacije Brevo na podlagi sprememb faze v prodajnem lijaku
- Sinhronizacija organizacij – preslikaj organizacije Pipedrive v atribute podjetja Brevo
- Sledenje aktivnostim – posreduj aktivnosti Pipedrive (klici, e-maili, sestanki) kot dogodke Brevo
- Polja po meri – preslikaj polja po meri Pipedrive v atribute stikov Brevo
- Poročanje o lijaku – pridobi podatke o prodajnem lijaku za marketinško atribucijo
- Sinhronizacija potencialnih kupcev – uvozi potencialne kupce Pipedrive v Brevo za negovalne kampanje
- Webhook avtomatizacija – posodobitve v realnem času prek webhookov Pipedrive
Predpogoji
Preden začneš, se prepričaj, da imaš:
- Pipedrive račun z administratorskim dostopom
- API žeton Pipedrive (najdeš ga v Settings > Personal preferences > API)
- Za OAuth aplikacije: registrirano aplikacijo Pipedrive s Client ID in Client Secret
- Brevo račun z dostopom do API
- Tajo račun s poverilnicami API
Avtentikacija
API žeton
Najenostavnejši način avtentikacije. Najdi API žeton v Pipedrive pod Settings > Personal preferences > API.
curl "https://api.pipedrive.com/v1/persons?api_token=YOUR_API_TOKEN"OAuth 2.0 (priporočeno za aplikacije)
Za produkcijske aplikacije uporabi 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"Po pridobitvi žetona za dostop:
curl "https://api.pipedrive.com/v1/persons" \ -H "Authorization: Bearer ACCESS_TOKEN"Konfiguracija
Osnovna nastavitev
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: 63Preslikava polj osebe
Preslikaj polja osebe Pipedrive v atribute stikov 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_SIZEPreslikava faz poslov
Preslikaj faze prodajnega lijaka Pipedrive na dodelitve seznamov 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 listKonfiguracija webhookov
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"Končne točke API
| Metoda | Končna točka | Opis |
|---|---|---|
GET | /v1/persons | Seznam oseb |
POST | /v1/persons | Ustvari osebo |
PUT | /v1/persons/{id} | Posodobi osebo |
DELETE | /v1/persons/{id} | Izbriši osebo |
GET | /v1/deals | Seznam poslov |
POST | /v1/deals | Ustvari posel |
PUT | /v1/deals/{id} | Posodobi posel |
GET | /v1/organizations | Seznam organizacij |
POST | /v1/organizations | Ustvari organizacijo |
GET | /v1/activities | Seznam aktivnosti |
POST | /v1/activities | Ustvari aktivnost |
GET | /v1/leads | Seznam potencialnih kupcev |
GET | /v1/pipelines | Seznam prodajnih lijakov |
GET | /v1/stages | Seznam faz lijaka |
GET | /v1/itemSearch | Iskanje po vseh elementih |
POST | /v1/webhooks | Ustvari webhook |
GET | /v1/recents | Pridobi nedavno spremenjene elemente |
Primeri kode
Inicializacija konektorja 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'});Sinhronizacija oseb z 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 }Sledenje sprememb faze poslov
// 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');});Iskanje po 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 organizationsOmejitve hitrosti
| Paket | Omejitev | Podrobnosti |
|---|---|---|
| Essential | 80 zahtevkov/10 sek | Na API žeton |
| Advanced | 100 zahtevkov/10 sek | Na API žeton |
| Professional | 200 zahtevkov/10 sek | Na API žeton |
| Power | 200 zahtevkov/10 sek | Na API žeton |
| Enterprise | 400 zahtevkov/10 sek | Na API žeton |
| OAuth aplikacije | 80 zahtevkov/2 sek | Na žeton za dostop |
Dodatne omejitve:
| Vir | Omejitev |
|---|---|
| Na stran | Največ 500 zapisov |
| Webhooks | 40 na račun |
| Množično brisanje | 100 elementov/zahtevek |
| Iskanje | Standardne omejitve hitrosti |
Glave omejitev hitrosti
Pipedrive vrne glave X-RateLimit-Limit, X-RateLimit-Remaining in X-RateLimit-Reset. Implementiraj odlog, ko se X-RateLimit-Remaining bliža nič.
Odpravljanje težav
| Težava | Vzrok | Rešitev |
|---|---|---|
401 Unauthorized | Neveljaven API žeton | Obnovi žeton v Pipedrive Settings > API |
403 Forbidden | Dovoljenja računa | Zagotovi, da ima račun administratorski dostop za API |
| Osebam manjka e-mail | Ni e-maila v zapisu | Filtriraj osebe z veljavnim e-mailom pred sinhronizacijo |
| Polja po meri se ne preslikajo | Napačen ključ polja | Uporabi ključ polja Pipedrive (hash), ne prikazno ime |
| Webhooks niso prejeti | Požarni zid blokira | Zagotovi, da je URL webhooks javno dostopen prek HTTPS |
| Podvojene osebe | Več e-mail zapisov | Uporabi API za združevanje Pipedrive pred sinhronizacijo |
429 Too Many Requests | Prekoračena omejitev hitrosti | Implementiraj odlog z glavo X-RateLimit-Reset |
Najboljše prakse
- Za produkcijo uporabi OAuth – v produkcijskih aplikacijah daj prednost OAuth 2.0 pred API žetoni
- Sledi spremembam faz poslov – z webhooks sproži avtomatizacije Brevo ob prehodih faz lijaka
- Preslikaj polja po meri – za zanesljivo preslikavo polj uporabi ključe polj po meri Pipedrive (ne imen)
- Obravnavaj paginacijo – uporabi parametra
startinlimit; preverimore_items_in_collection - Uporabi končno točko Recents – za postopne sinhronizacije anketiraj
/v1/recentsnamesto polnih izvozov - Dedupliciraj pred sinhronizacijo – v Pipedrive združi podvojene osebe pred sinhronizacijo z Brevo
- Uporabi testne račune – za testiranje integracij ustvari razvojni testni račun
Varnost
- Avtentikacija z API žetonom – enostavni dostop na osnovi žetona za osebno rabo
- OAuth 2.0 – varen delegiran dostop za aplikacije tretjih oseb
- Samo HTTPS – vsa komunikacija API zahteva šifriranje TLS
- Webhook HTTPS – webhooks se dostavljajo samo na HTTPS končne točke
- Dostop na podlagi vlog – dovoljenja Pipedrive upoštevajo vloge uporabnikov
- Certificiran SOC 2 – Pipedrive vzdržuje skladnost s SOC 2
- Skladnost z GDPR – podpira zahteve za izvoz in brisanje podatkov