Salesforce konnektor
Salesforce konnektor
Csatlakoztasd a Salesforce CRM-edet a Brevóhoz a Tajo segítségével vállalati szintű kapcsolat-szinkronizáláshoz, lead-kezeléshez, lehetőségkövetéshez és CRM-adatokkal vezérelt marketingautomatizáláshoz.
Áttekintés
| Tulajdonság | Érték |
|---|---|
| Platform | Salesforce |
| Kategória | CRM |
| Telepítés bonyolultsága | Haladó |
| Hivatalos integráció | Igen |
| Szinkronizált adatok | Kapcsolatok, Leadek, Fiókok, Lehetőségek, Események |
| API alap URL | https://yourInstance.salesforce.com/services/data/vXX.0 |
Funkciók
- Kétirányú kapcsolat/lead szinkronizáció – Salesforce kapcsolatok és leadek szinkronizálása Brevo kapcsolatlistákkal
- Lehetőségkövetés – Üzleti fázisok és összegek leképezése bevétel alapú szegmentáláshoz
- Fiókhierarchia – Cégfiókok szinkronizálása fiók alapú marketinghez a Brevóban
- Egyedi objektum-leképezés – Salesforce egyedi objektumok leképezése Brevo attribútumokhoz és eseményekhez
- Kampánytag-szinkronizáció – Salesforce kampánytagok szinkronizálása Brevo listákkal
- Tevékenységkövetés – Feladatok, események és e-mail tevékenységek szinkronizálása az elköteleződési pontszámhoz
- Valós idejű streaming – Salesforce Streaming API használata azonnali adatfrissítésekhez
- SOQL lekérdezés-támogatás – Szinkronizált adatok szűrése egyedi SOQL lekérdezésekkel
Előfeltételek
Mielőtt elkezdenéd, győződj meg róla, hogy rendelkezel:
- Egy Salesforce szervezettel (bármely kiadás API-hozzáféréssel)
- Egy konfigurált Connected App-pal a Salesforce Setupban
- API-hozzáféréssel engedélyezve a Salesforce felhasználói profilodban
- Egy Brevo fiókkal API-hozzáféréssel
- Egy Tajo fiókkal
Hitelesítés
OAuth 2.0 webszerver folyam (ajánlott)
Legjobb éles integrációkhoz felhasználói engedélyezéssel.
# Step 1: Authorizehttps://login.salesforce.com/services/oauth2/authorize? response_type=code& client_id={consumer_key}& redirect_uri={callback_url}
# Step 2: Exchange code for tokenscurl -X POST https://login.salesforce.com/services/oauth2/token \ -d "grant_type=authorization_code" \ -d "code={auth_code}" \ -d "client_id={consumer_key}" \ -d "client_secret={consumer_secret}" \ -d "redirect_uri={callback_url}"Felhasználónév-jelszó folyam
Szerver-szerver integrációkhoz felhasználói beavatkozás nélkül.
curl -X POST https://login.salesforce.com/services/oauth2/token \ -d "grant_type=password" \ -d "client_id={consumer_key}" \ -d "client_secret={consumer_secret}" \ -d "username={username}" \ -d "password={password}{security_token}"Biztonsági token
A Salesforce megköveteli a biztonsági token hozzáfűzését a jelszóhoz a felhasználónév-jelszó folyamnál. A tokent a Setup > My Personal Information > Reset My Security Token menüpontból állíthatod vissza.
Konfiguráció
Alapbeállítás
connectors: salesforce: enabled: true instance_url: "https://yourorg.my.salesforce.com" api_version: "v59.0" auth: type: oauth2 consumer_key: "${SF_CONSUMER_KEY}" consumer_secret: "${SF_CONSUMER_SECRET}" refresh_token: "${SF_REFRESH_TOKEN}"
# Data sync options sync: contacts: true leads: true accounts: true opportunities: true campaigns: true
# Sync direction direction: salesforce_to_brevo
# Brevo list assignment lists: all_leads: 15 qualified_leads: 16 customers: 17Mezőleképezés
Képezd le a Salesforce mezőket Brevo kapcsolat-attribútumokhoz:
Alapértelmezett leképezések
| Parameter | Type | Description |
|---|---|---|
Email required | string | Kapcsolat/Lead e-mail (egyedi azonosító a Brevóban) |
FirstName optional | string | Leképezve a FIRSTNAME attribútumra a Brevóban |
LastName optional | string | Leképezve a LASTNAME attribútumra a Brevóban |
Phone optional | string | Leképezve az SMS attribútumra WhatsApp/SMS üzenetküldéshez |
Account.Name optional | string | Kapcsolódó fiók/cég neve |
LeadSource optional | string | Lead megszerzési forrása |
StageName optional | string | Lehetőség fázisa az üzletkövetéshez |
OwnerId optional | string | Hozzárendelt értékesítési képviselő az irányításhoz |
Egyedi mezőleképezés
field_mapping: # Standard fields Email: email FirstName: FIRSTNAME LastName: LASTNAME Phone: SMS
# CRM fields LeadSource: LEAD_SOURCE Lead_Score__c: LEAD_SCORE Account.Name: COMPANY_NAME Account.Industry: INDUSTRY
# Opportunity fields Amount: DEAL_VALUE StageName: DEAL_STAGE CloseDate: EXPECTED_CLOSE_DATE
# Custom fields Preferred_Channel__c: PREFERRED_CHANNEL Customer_Tier__c: VIP_TIERAPI végpontok
REST API erőforrások
| Módszer | Végpont | Leírás |
|---|---|---|
GET | /services/data/vXX.0/sobjects/Contact | Kapcsolatok lekérdezése |
POST | /services/data/vXX.0/sobjects/Contact | Kapcsolat létrehozása |
PATCH | /services/data/vXX.0/sobjects/Contact/{id} | Kapcsolat frissítése |
GET | /services/data/vXX.0/sobjects/Lead | Leadek lekérdezése |
GET | /services/data/vXX.0/sobjects/Account | Fiókok lekérdezése |
GET | /services/data/vXX.0/sobjects/Opportunity | Lehetőségek lekérdezése |
GET | /services/data/vXX.0/query?q={SOQL} | SOQL lekérdezés végrehajtása |
POST | /services/data/vXX.0/composite/sobjects | Kötegelt létrehozás/frissítés |
Bulk API
| Módszer | Végpont | Leírás |
|---|---|---|
POST | /services/data/vXX.0/jobs/ingest | Tömeges betöltési feladat létrehozása |
PUT | /services/data/vXX.0/jobs/ingest/{jobId}/batches | Köteg adatok feltöltése |
GET | /services/data/vXX.0/jobs/ingest/{jobId} | Feladat állapotának ellenőrzése |
Streaming API
| Végpont | Leírás |
|---|---|
/cometd/XX.0 | CometD hosszú lekérdezés valós idejű eseményekhez |
| PushTopic | Rekordváltozásokra való feliratkozás SOQL alapú témákon |
| Change Data Capture | Részletes mező szintű változások streamelése |
| Platform Events | Egyedi eseményvezérelt architektúra |
Események
Rekord-események (Change Data Capture)
| Esemény | Kiváltó ok | Használati eset |
|---|---|---|
ContactChangeEvent | Kapcsolat létrehozva/frissítve/törölve | Valós idejű kapcsolat-szinkronizáció |
LeadChangeEvent | Lead létrehozva/frissítve/konvertálva | Lead életciklus-követés |
OpportunityChangeEvent | Lehetőség fázisa megváltozott | Üzleti pipeline-automatizálás |
AccountChangeEvent | Fiókrekord módosítva | Céges adatok szinkronizációja |
Platform-események
| Esemény | Kiváltó ok | Használati eset |
|---|---|---|
Lead_Converted__e | Lead konvertálva kapcsolattá | Konverzió utáni gondozás |
Deal_Won__e | Lehetőség lezárva-megnyerve | Ügyfél onboarding folyam |
Deal_Lost__e | Lehetőség lezárva-elveszítve | Visszaszerzési kampányok |
Kódpéldák
A konnektor inicializálása
import { TajoClient } from '@tajo/sdk';
const tajo = new TajoClient({ apiKey: process.env.TAJO_API_KEY, brevoApiKey: process.env.BREVO_API_KEY});
// Connect Salesforceawait tajo.connectors.connect('salesforce', { instanceUrl: 'https://yourorg.my.salesforce.com', consumerKey: process.env.SF_CONSUMER_KEY, consumerSecret: process.env.SF_CONSUMER_SECRET, refreshToken: process.env.SF_REFRESH_TOKEN});Kapcsolatok szinkronizálása SOQL szűrővel
// Sync only qualified leads from Salesforceawait tajo.connectors.sync('salesforce', { type: 'filtered', resources: ['leads'], filter: "SELECT Id, Email, FirstName, LastName, LeadScore__c FROM Lead WHERE Status = 'Qualified' AND Email != null", brevoListId: 16});
// Check sync statusconst status = await tajo.connectors.status('salesforce');console.log(status);// {// connected: true,// lastSync: '2024-01-15T10:30:00Z',// contactsSynced: 18400,// leadsSynced: 7200,// opportunitiesSynced: 3100// }Valós idejű streaming
// Subscribe to Salesforce Change Data Captureawait tajo.connectors.stream('salesforce', { channels: [ '/data/ContactChangeEvent', '/data/LeadChangeEvent', '/data/OpportunityChangeEvent' ], handler: async (event) => { console.log(`Change detected: ${event.entity} ${event.changeType}`); // Automatically synced to Brevo by Tajo }});Ráta-korlátok
A Salesforce REST API korlátai a kiadástól és a licencszámtól függenek:
| Kiadás | API kérések 24 óránként |
|---|---|
| Developer | 15 000 |
| Enterprise | 1 000 felhasználói licencenként (min. 15 000) |
| Unlimited | 5 000 felhasználói licencenként (min. 15 000) |
| Performance | 5 000 felhasználói licencenként (min. 15 000) |
További korlátok:
- Egyidejű API korlát: 25 hosszan futó kérés
- Bulk API: 15 000 köteg 24 óránként
- Streaming API: 2 000 esemény naponta (növelhető)
- Composite API: 25 alrequeszt kompozit kérésenként
API-használat figyelése
Figyeld az API-használatodat a Salesforce Setup > System Overview menüpontban. A Tajo a Bulk API-t használja nagyobb szinkronizálásokhoz az API korlátok megóvása érdekében.
Hibaelhárítás
Gyakori problémák
| Probléma | Ok | Megoldás |
|---|---|---|
| INVALID_SESSION_ID | Token lejárt | OAuth token automatikus frissítése |
| REQUEST_LIMIT_EXCEEDED | Napi API korlát elérve | Használj Bulk API-t vagy csökkentsd a szinkronizálás gyakoriságát |
| FIELD_INTEGRITY_EXCEPTION | Kötelező mező hiányzik | Képezd le az összes kötelező mezőt a konfigurációban |
| DUPLICATES_DETECTED | Duplikációs szabályok aktívak | Konfiguráld a duplikáció-kezelési beállításokat |
| INSUFFICIENT_ACCESS | Hiányzó objektum-engedélyek | Engedélyezd az API-hozzáférést a Salesforce profilban |
Hibakeresési mód
Engedélyezd a részletes naplózást:
connectors: salesforce: debug: true log_level: verbose log_api_calls: trueKapcsolat tesztelése
tajo connectors test salesforce# ✓ OAuth token valid# ✓ Contacts accessible# ✓ Leads accessible# ✓ Accounts accessible# ✓ Opportunities accessible# ✓ Bulk API enabledLegjobb gyakorlatok
- Használj Bulk API-t nagyobb szinkronizálásokhoz – Váltj Bulk API 2.0-ra 2 000 rekord feletti adatkészleteknél
- Implementáld a Change Data Capture-t – Használj CDC-t valós idejű szinkronizáláshoz lekérdezés helyett
- Csak a szükséges mezőket képezd le – Csökkentsd az API-használatot csak a szükséges mezők szinkronizálásával
- Kezeld a token frissítést – Implementálj automatikus OAuth token frissítési logikát
- Használj kompozit kéréseket – Kombináld a kapcsolódó API hívásokat a kérések számának csökkentéséhez
- Először tesztelj sandbox-ban – Salesforce sandbox szervezetet használj éles telepítés előtt
Biztonság
- OAuth 2.0 – Iparági szabvány szerinti engedélyezés több grant típussal
- IP korlátozások – A Salesforce támogatja a bejelentkezési IP tartományokat és a megbízható IP beállításokat
- TLS 1.2+ – Minden API kommunikáció legalább TLS 1.2 titkosítással
- Mező szintű biztonság – Részletes mező hozzáférés-vezérlés profilonként
- Munkamenet-kezelés – Konfigurálható munkamenet-lejárat és egyidejű munkamenet-korlátok