Salesforce Konektor

Salesforce Konektor

Povežite svoj Salesforce CRM s Brevom putem Taja za sinkronizaciju kontakata poslovne razine, upravljanje leadovima, praćenje mogućnosti i marketinšku automatizaciju pokretanu podacima iz CRM-a.

Pregled

SvojstvoVrijednost
PlatformaSalesforce
KategorijaCRM
Složenost postavljanjaNapredno
Službena integracijaDa
Sinkronizirani podaciKontakti, Leadovi, Računi, Mogućnosti, Događaji
Osnovni URL API-jahttps://yourInstance.salesforce.com/services/data/vXX.0

Značajke

  • Dvosmjerna sinkronizacija kontakata/leadova - Sinkronizirajte Salesforce kontakte i leadove s Brevo popisima kontakata
  • Praćenje mogućnosti - Mapirajte faze i iznose poslova za segmentaciju temeljenu na prihodima
  • Hijerarhija računa - Sinkronizirajte poslovne račune za marketing temeljen na računima u Brevu
  • Mapiranje prilagođenih objekata - Mapirajte Salesforce prilagođene objekte na Brevo atribute i događaje
  • Sinkronizacija članova kampanje - Sinkronizirajte članove Salesforce kampanja s Brevo popisima
  • Praćenje aktivnosti - Sinkronizirajte zadatke, događaje i aktivnosti e-pošte za ocjenjivanje angažmana
  • Streaming u stvarnom vremenu - Koristite Salesforce Streaming API za trenutna ažuriranja podataka
  • Podrška za SOQL upite - Filtrirajte sinkronizirane podatke prilagođenim SOQL upitima

Preduvjeti

Prije nego što počnete, osigurajte da imate:

  1. Salesforce org (bilo koje izdanje s API pristupom)
  2. Konfiguriranu Connected App u Salesforce Setupu
  3. API pristup omogućen za vaš Salesforce korisnički profil
  4. Brevo račun s API pristupom
  5. Tajo račun

Autentifikacija

OAuth 2.0 Web Server Flow (Preporučeno)

Najbolje za produkcijske integracije s korisničkom autorizacijom.

Terminal window
# Korak 1: Autorizacija
https://login.salesforce.com/services/oauth2/authorize?
response_type=code&
client_id={consumer_key}&
redirect_uri={callback_url}
# Korak 2: Razmjena koda za tokene
curl -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}"

Username-Password Flow

Za server-to-server integracije bez korisničke interakcije.

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

Sigurnosni token

Salesforce zahtijeva dodavanje sigurnosnog tokena lozinki za username-password flow. Resetirajte token u Postavke > Moje osobne informacije > Resetiraj moj sigurnosni token.

Konfiguracija

Osnovna konfiguracija

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}"
# Opcije sinkronizacije podataka
sync:
contacts: true
leads: true
accounts: true
opportunities: true
campaigns: true
# Smjer sinkronizacije
direction: salesforce_to_brevo
# Dodjela popisa u Brevu
lists:
all_leads: 15
qualified_leads: 16
customers: 17

Mapiranje polja

Mapirajte Salesforce polja na atribute kontakata u Brevu:

Zadana mapiranja

Parameter Type Description
Email required
string

E-mail kontakta/leada (jedinstveni identifikator za Brevo)

FirstName optional
string

Mapira se na atribut FIRSTNAME u Brevu

LastName optional
string

Mapira se na atribut LASTNAME u Brevu

Phone optional
string

Mapira se na atribut SMS za WhatsApp/SMS poruke

Account.Name optional
string

Naziv povezanog računa/tvrtke

LeadSource optional
string

Izvor akvizicije leada

StageName optional
string

Faza mogućnosti za praćenje poslova

OwnerId optional
string

Dodijeljeni prodajni predstavnik za usmjeravanje

Mapiranje prilagođenih polja

field_mapping:
# Standardna polja
Email: email
FirstName: FIRSTNAME
LastName: LASTNAME
Phone: SMS
# CRM polja
LeadSource: LEAD_SOURCE
Lead_Score__c: LEAD_SCORE
Account.Name: COMPANY_NAME
Account.Industry: INDUSTRY
# Polja mogućnosti
Amount: DEAL_VALUE
StageName: DEAL_STAGE
CloseDate: EXPECTED_CLOSE_DATE
# Prilagođena polja
Preferred_Channel__c: PREFERRED_CHANNEL
Customer_Tier__c: VIP_TIER

API krajnje točke

REST API resursi

MetodaKrajnja točkaOpis
GET/services/data/vXX.0/sobjects/ContactUpit kontakata
POST/services/data/vXX.0/sobjects/ContactStvaranje kontakta
PATCH/services/data/vXX.0/sobjects/Contact/{id}Ažuriranje kontakta
GET/services/data/vXX.0/sobjects/LeadUpit leadova
GET/services/data/vXX.0/sobjects/AccountUpit računa
GET/services/data/vXX.0/sobjects/OpportunityUpit mogućnosti
GET/services/data/vXX.0/query?q={SOQL}Izvođenje SOQL upita
POST/services/data/vXX.0/composite/sobjectsSkupno stvaranje/ažuriranje

Bulk API

MetodaKrajnja točkaOpis
POST/services/data/vXX.0/jobs/ingestStvaranje skupnog posla za unos
PUT/services/data/vXX.0/jobs/ingest/{jobId}/batchesUčitavanje skupnih podataka
GET/services/data/vXX.0/jobs/ingest/{jobId}Provjera statusa posla

Streaming API

Krajnja točkaOpis
/cometd/XX.0CometD long-polling za događaje u stvarnom vremenu
PushTopicPretplata na promjene zapisa putem tema temeljenih na SOQL-u
Change Data CaptureStreaming preciznih promjena na razini polja
Platform EventsPrilagođena arhitektura pokretana događajima

Događaji

Događaji zapisa (Change Data Capture)

DogađajOkidačSlučaj upotrebe
ContactChangeEventKontakt stvoren/ažuriran/obrisanSinkronizacija kontakata u stvarnom vremenu
LeadChangeEventLead stvoren/ažuriran/konvertiranPraćenje životnog ciklusa leada
OpportunityChangeEventPromijenjena faza mogućnostiAutomatizacija cjevovoda poslova
AccountChangeEventIzmijenjen zapis računaSinkronizacija podataka tvrtke

Platform Events

DogađajOkidačSlučaj upotrebe
Lead_Converted__eLead konvertiran u kontaktNjegovanje nakon konverzije
Deal_Won__eMogućnost zaključena-dobitnaTok onboardinga klijenata
Deal_Lost__eMogućnost zaključena-gubitničkaKampanje za povratak

Primjeri koda

Inicijalizacija konektora

import { TajoClient } from '@tajo/sdk';
const tajo = new TajoClient({
apiKey: process.env.TAJO_API_KEY,
brevoApiKey: process.env.BREVO_API_KEY
});
// Povezivanje Salesforcea
await 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
});

Sinkronizacija kontakata s SOQL filtrom

// Sinkronizacija samo kvalificiranih leadova iz Salesforcea
await 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
});
// Provjera statusa sinkronizacije
const status = await tajo.connectors.status('salesforce');
console.log(status);
// {
// connected: true,
// lastSync: '2024-01-15T10:30:00Z',
// contactsSynced: 18400,
// leadsSynced: 7200,
// opportunitiesSynced: 3100
// }

Streaming u stvarnom vremenu

// Pretplata na Salesforce Change Data Capture
await tajo.connectors.stream('salesforce', {
channels: [
'/data/ContactChangeEvent',
'/data/LeadChangeEvent',
'/data/OpportunityChangeEvent'
],
handler: async (event) => {
console.log(`Otkrivena promjena: ${event.entity} ${event.changeType}`);
// Tajo automatski sinkronizira s Brevom
}
});

Ograničenja brzine

Ograničenja Salesforce REST API-ja ovise o vašem izdanju i broju licenci:

IzdanjeAPI zahtjevi po 24 sata
Developer15.000
Enterprise1.000 po korisničkoj licenci (min 15.000)
Unlimited5.000 po korisničkoj licenci (min 15.000)
Performance5.000 po korisničkoj licenci (min 15.000)

Dodatna ograničenja:

  • Ograničenje istovremenih API-ja: 25 dugotrajnih zahtjeva
  • Bulk API: 15.000 serija po 24 sata
  • Streaming API: 2.000 događaja dnevno (može se povećati)
  • Composite API: 25 podzahtjeva po composite zahtjevu

Praćenje korištenja API-ja

Pratite korištenje API-ja u Salesforce Postavke > Pregled sustava. Tajo koristi bulk API za velike sinkronizacije kako bi štedio vaše API limite.

Rješavanje problema

Uobičajeni problemi

ProblemUzrokRješenje
INVALID_SESSION_IDToken je istekaoAutomatski osvježite OAuth token
REQUEST_LIMIT_EXCEEDEDDostignuto dnevno ograničenje API-jaKoristite Bulk API ili smanjite učestalost sinkronizacije
FIELD_INTEGRITY_EXCEPTIONNedostaje obavezno poljeMapirajte sva obavezna polja u konfiguraciji
DUPLICATES_DETECTEDAktivna pravila za duplikateKonfigurirajte postavke upravljanja duplikatima
INSUFFICIENT_ACCESSNedostaju dozvole za objektDodijelite API pristup u Salesforce profilu

Način otklanjanja grešaka

Omogućite opširno zapisivanje:

connectors:
salesforce:
debug: true
log_level: verbose
log_api_calls: true

Testiranje veze

Terminal window
tajo connectors test salesforce
# ✓ OAuth token važeći
# ✓ Kontakti dostupni
# ✓ Leadovi dostupni
# ✓ Računi dostupni
# ✓ Mogućnosti dostupne
# ✓ Bulk API omogućen

Preporučene prakse

  1. Koristite Bulk API za velike sinkronizacije - Prebacite se na Bulk API 2.0 za skupove podataka veće od 2.000 zapisa
  2. Implementirajte Change Data Capture - Koristite CDC za sinkronizaciju u stvarnom vremenu umjesto anketiranja
  3. Mapirajte samo potrebna polja - Smanjite korištenje API-ja sinkroniziranjem samo potrebnih polja
  4. Rukujte osvježavanjem tokena - Implementirajte automatsku logiku osvježavanja OAuth tokena
  5. Koristite composite zahtjeve - Kombinirajte povezane API pozive za smanjenje broja zahtjeva
  6. Prvo testirajte u sandboxu - Koristite Salesforce sandbox org prije produkcijskog postavljanja

Sigurnost

  • OAuth 2.0 - Industrijski standardna autorizacija s višestrukim vrstama dodjele
  • IP ograničenja - Salesforce podržava IP raspone za prijavu i pouzdane IP postavke
  • TLS 1.2+ - Sva API komunikacija šifrirana s minimalnim TLS 1.2
  • Sigurnost na razini polja - Granularna kontrola pristupa poljima po profilu
  • Upravljanje sesijama - Konfigurirani istek sesije i ograničenja istovremenih sesija

Povezani resursi

Subscribe to updates

developer-docs

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

AI asistent

Bok! Pitajte me o dokumentaciji.

Započnite besplatno s Brevo