---
title: "Salesforce Connector"
description: "Popoln vodnik za integracijo Salesforce CRM za sinhronizacijo potencialnih kupcev, stikov, računov, priložnosti in objektov po meri z Brevo prek Tajo."
url: https://tajo.io/sl/docs/connectors/crm/salesforce/
markdown: https://tajo.io/sl/docs/connectors/crm/salesforce.md
lang: sl-SI
robots: noindex
---

Zaprosite za zgodnji dostop

Vnesite svoje ime in službeni e-poštni naslov. Poslali vam bomo povezavo za potrditev zahteve za dostop do Taja.

# Salesforce Connector

Stanje konektorja: Načrtovano Še ni izdelano. Tajo danes ne poganja tega konektorja.

| Izvorno polje | Ciljno polje | Vzorčna vrednost |
| --- | --- | --- |
| `record.id` | `source_id` | `record_1042` |
| `record.updated_at` | `updated_at` | `2026-10-18T08:00:00Z` |
| `record.value` | `value` | `sample_value` |

Poveži svoj Salesforce CRM z Brevo prek Tajo za sinhronizacijo stikov na ravni podjetij, upravljanje potencialnih kupcev, sledenje priložnostim in marketinško avtomatizacijo na osnovi podatkov CRM.

## Pregled

| Lastnost | Vrednost |
| --- | --- |
| **Platforma** | Salesforce |
| **Kategorija** | CRM |
| **Zahtevnost nastavitve** | Napredna |
| **Uradna integracija** | Ne |
| **Sinhronizirani podatki** | Stiki, potencialni kupci, računi, priložnosti, dogodki |
| **Osnovni URL API** | `https://yourInstance.salesforce.com/services/data/vXX.0` |

## Funkcionalnosti

- **Dvosmerna sinhronizacija stikov/potencialnih kupcev** – sinhronizacija stikov in potencialnih kupcev Salesforce s seznami stikov Brevo
- **Sledenje priložnostim** – preslikaj faze poslov in zneske za segmentacijo na podlagi prihodkov
- **Hierarhija računov** – sinhronizacija računov podjetij za marketing na osnovi računov v Brevo
- **Preslikava objektov po meri** – preslikaj objekte po meri Salesforce v atribute in dogodke Brevo
- **Sinhronizacija članov kampanje** – sinhronizacija članov kampanje Salesforce s seznami Brevo
- **Sledenje aktivnostim** – sinhronizacija nalog, dogodkov in e-mail aktivnosti za ocenjevanje angažiranosti
- **Pretakanje v realnem času** – uporabi Streaming API Salesforce za takojšnje posodobitve podatkov
- **Podpora za poizvedbe SOQL** – filtriraj sinhronizirane podatke z lastnimi poizvedbami SOQL

## Predpogoji

Preden začneš, se prepričaj, da imaš:

1. Salesforce org (katera koli izdaja z dostopom do API)
2. Konfigurirana Connected App v Salesforce Setup
3. Dostop do API omogočen za tvoj profil Salesforce
4. Brevo račun z dostopom do API
5. Tajo račun

## Avtentikacija

### OAuth 2.0 Web Server Flow (priporočeno)

Najboljše za produkcijske integracije s pooblastilom uporabnika.

```bash
# Step 1: Authorize
https://login.salesforce.com/services/oauth2/authorize?
  response_type=code&
  client_id={consumer_key}&
  redirect_uri={callback_url}

# Step 2: Exchange code for tokens
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}"
```

### Tok z uporabniškim imenom in geslom

Za integracije med strežniki brez interakcije z uporabnikom.

```bash
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}"
```

Varnostni žeton

Salesforce zahteva, da geslu pripneš varnostni žeton za tok z uporabniškim imenom in geslom. Ponastavi žeton v Setup > My Personal Information > Reset My Security Token.

## Konfiguracija

### Osnovna nastavitev

```yaml
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: 17
```

### Preslikava polj

Preslikaj polja Salesforce v atribute stikov Brevo:

#### Privzete preslikave

| Parameter | Type | Description |
| --- | --- | --- |
| `Email` required | string | E-mail stika/potencialnega kupca (enolični identifikator za Brevo) |
| `FirstName` optional | string | Preslika se v atribut FIRSTNAME v Brevo |
| `LastName` optional | string | Preslika se v atribut LASTNAME v Brevo |
| `Phone` optional | string | Preslika se v atribut SMS za sporočanje WhatsApp/SMS |
| `Account.Name` optional | string | Ime povezanega računa/podjetja |
| `LeadSource` optional | string | Vir pridobivanja potencialnih kupcev |
| `StageName` optional | string | Faza priložnosti za sledenje poslom |
| `OwnerId` optional | string | Dodeljeni prodajni predstavnik za usmerjanje |

#### Preslikava polj po meri

```yaml
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_TIER
```

## Končne točke API

### Viri REST API

| Metoda | Končna točka | Opis |
| --- | --- | --- |
| `GET` | `/services/data/vXX.0/sobjects/Contact` | Poizvedba stikov |
| `POST` | `/services/data/vXX.0/sobjects/Contact` | Ustvari stik |
| `PATCH` | `/services/data/vXX.0/sobjects/Contact/{id}` | Posodobi stik |
| `GET` | `/services/data/vXX.0/sobjects/Lead` | Poizvedba potencialnih kupcev |
| `GET` | `/services/data/vXX.0/sobjects/Account` | Poizvedba računov |
| `GET` | `/services/data/vXX.0/sobjects/Opportunity` | Poizvedba priložnosti |
| `GET` | `/services/data/vXX.0/query?q={SOQL}` | Izvedi poizvedbo SOQL |
| `POST` | `/services/data/vXX.0/composite/sobjects` | Paketno ustvarjanje/posodabljanje |

### Bulk API

| Metoda | Končna točka | Opis |
| --- | --- | --- |
| `POST` | `/services/data/vXX.0/jobs/ingest` | Ustvari paketno opravilo vnosa |
| `PUT` | `/services/data/vXX.0/jobs/ingest/{jobId}/batches` | Naloži paketne podatke |
| `GET` | `/services/data/vXX.0/jobs/ingest/{jobId}` | Preveri status opravila |

### Streaming API

| Končna točka | Opis |
| --- | --- |
| `/cometd/XX.0` | CometD dolgo anketiranje za dogodke v realnem času |
| PushTopic | Naroči se na spremembe zapisov prek tem na osnovi SOQL |
| Change Data Capture | Pretakanje natančnih sprememb na ravni polj |
| Platform Events | Arhitektura, ki temelji na dogodkih po meri |

## Dogodki

### Dogodki zapisov (Change Data Capture)

| Dogodek | Sprožilec | Primer uporabe |
| --- | --- | --- |
| `ContactChangeEvent` | Stik ustvarjen/posodobljen/izbrisan | Sinhronizacija stikov v realnem času |
| `LeadChangeEvent` | Potencialni kupec ustvarjen/posodobljen/konvertiran | Sledenje življenjskemu ciklu potencialnih kupcev |
| `OpportunityChangeEvent` | Spremenjena faza priložnosti | Avtomatizacija prodajnega lijaka |
| `AccountChangeEvent` | Spremenjen zapis računa | Sinhronizacija podatkov podjetja |

### Platform Events

| Dogodek | Sprožilec | Primer uporabe |
| --- | --- | --- |
| `Lead_Converted__e` | Potencialni kupec konvertiran v stik | Negovalna kampanja po konverziji |
| `Deal_Won__e` | Priložnost zaprta-pridobljena | Tok uvajanja stranke |
| `Deal_Lost__e` | Priložnost zaprta-izgubljena | Kampanje za pridobitev nazaj |

## Primeri kode

### Inicializacija konektorja

```javascript
import { TajoClient } from '@tajo/sdk';

const tajo = new TajoClient({
  apiKey: process.env.TAJO_API_KEY,
  brevoApiKey: process.env.BREVO_API_KEY
});

// Connect Salesforce
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
});
```

### Sinhronizacija stikov s filtrom SOQL

```javascript
// Sync only qualified leads from Salesforce
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
});

// Check sync status
const status = await tajo.connectors.status('salesforce');
console.log(status);
// {
//   connected: true,
//   lastSync: '2024-01-15T10:30:00Z',
//   contactsSynced: 18400,
//   leadsSynced: 7200,
//   opportunitiesSynced: 3100
// }
```

### Pretakanje v realnem času

```javascript
// Subscribe to Salesforce Change Data Capture
await 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
  }
});
```

## Omejitve hitrosti

Omejitve REST API Salesforce so odvisne od izdaje in števila licenc:

| Izdaja | Zahtevki API na 24 ur |
| --- | --- |
| Developer | 15.000 |
| Enterprise | 1.000 na licenco (min. 15.000) |
| Unlimited | 5.000 na licenco (min. 15.000) |
| Performance | 5.000 na licenco (min. 15.000) |

Dodatne omejitve:

- **Sočasna omejitev API**: 25 dolgotrajnih zahtevkov
- **Bulk API**: 15.000 paketov na 24 ur
- **Streaming API**: 2.000 dogodkov na dan (možno povečati)
- **Composite API**: 25 podzahtevkov na sestavljeni zahtevek

Spremljanje porabe API

Spremljaj porabo API v Salesforce Setup > System Overview. Tajo za velike sinhronizacije uporablja Bulk API, da ohrani omejitve API.

## Odpravljanje težav

### Pogoste težave

| Težava | Vzrok | Rešitev |
| --- | --- | --- |
| INVALID\_SESSION\_ID | Žeton je potekel | Samodejno osveži OAuth žeton |
| REQUEST\_LIMIT\_EXCEEDED | Dosežena dnevna omejitev API | Uporabi Bulk API ali zmanjšaj pogostost sinhronizacije |
| FIELD\_INTEGRITY\_EXCEPTION | Manjkajoče obvezno polje | Preslikaj vsa zahtevana polja v konfiguraciji |
| DUPLICATES\_DETECTED | Aktivna pravila podvajanja | Nastavi nastavitve za obravnavo podvojitev |
| INSUFFICIENT\_ACCESS | Manjkajoča dovoljenja za objekt | Dodeli dostop do API v profilu Salesforce |

### Način odpravljanja napak

Omogoči podrobno beleženje:

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

### Preizkus povezave

```bash
tajo connectors test salesforce
# ✓ OAuth token valid
# ✓ Contacts accessible
# ✓ Leads accessible
# ✓ Accounts accessible
# ✓ Opportunities accessible
# ✓ Bulk API enabled
```

## Najboljše prakse

1. **Za velike sinhronizacije uporabi Bulk API** – za nabore podatkov nad 2.000 zapisov preklopi na Bulk API 2.0
2. **Implementiraj Change Data Capture** – za sinhronizacijo v realnem času namesto anketiranja
3. **Preslikaj samo potrebna polja** – zmanjšaj porabo API s sinhronizacijo samo zahtevanih polj
4. **Obravnavaj osvežitev žetona** – implementiraj samodejno logiko za osvežitev OAuth žetona
5. **Uporabi sestavljene zahtevke** – združi sorodne klice API za zmanjšanje števila zahtevkov
6. **Najprej preizkusi v testnem okolju** – pred produkcijsko namestitvijo uporabi testni org Salesforce

## Varnost

- **OAuth 2.0** – industrijski standard za avtorizacijo z več tipi dodelitev
- **Omejitve IP** – Salesforce podpira območja prijavnih IP in nastavitve zaupanja vrednih IP
- **TLS 1.2+** – vsa komunikacija API šifrirana z minimalno različico TLS 1.2
- **Varnost na ravni polj** – natančen nadzor dostopa do polj na profil
- **Upravljanje sej** – nastavljiva časovna omejitev seje in omejitve sočasnih sej

## Povezani viri

- [Salesforce REST API dokumentacija](https://developer.salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest/intro_rest.htm)
- [Vodnik za Salesforce Bulk API 2.0](https://developer.salesforce.com/docs/atlas.en-us.api_asynch.meta/api_asynch/asynch_api_intro.htm)
- [HubSpot Connector](https://tajo.io/sl/docs/connectors/crm/hubspot)
- [Customer Sync Skill](https://tajo.io/sl/docs/skills/data-sync/customer-sync)
- [Brevo Contacts API](https://tajo.io/sl/docs/contact-management)
