---
title: "Salesforce konektor"
description: "Kompletný sprievodca integráciou Salesforce CRM na synchronizáciu leadov, kontaktov, účtov, príležitostí a vlastných objektov s Brevo cez Tajo."
url: https://tajo.io/sk/docs/connectors/crm/salesforce/
markdown: https://tajo.io/sk/docs/connectors/crm/salesforce.md
lang: sk-SK
robots: noindex
---

Požiadajte o skorý prístup

Zadajte svoje meno a pracovnú e-mailovú adresu. Pošleme vám odkaz na potvrdenie žiadosti o prístup k Tajo.

# Salesforce konektor

Stav konektora: Plánované Zatiaľ nevytvorené. Tajo tento konektor dnes neprevádzkuje.

| Zdrojové pole | Cieľové pole | Ukážková hodnota |
| --- | --- | --- |
| `record.id` | `source_id` | `record_1042` |
| `record.updated_at` | `updated_at` | `2026-10-18T08:00:00Z` |
| `record.value` | `value` | `sample_value` |

Prepoj svoj Salesforce CRM s Brevo cez Tajo pre enterprise synchronizáciu kontaktov, správu leadov, sledovanie príležitostí a marketingovú automatizáciu poháňanú dátami z CRM.

## Prehľad

| Vlastnosť | Hodnota |
| --- | --- |
| **Platforma** | Salesforce |
| **Kategória** | CRM |
| **Zložitosť nastavenia** | Pokročilé |
| **Oficiálna integrácia** | Nie |
| **Synchronizované dáta** | Kontakty, Leady, Účty, Príležitosti, Udalosti |
| **API Base URL** | `https://yourInstance.salesforce.com/services/data/vXX.0` |

## Funkcie

- **Obojsmerná synchronizácia kontaktov/leadov** - Synchronizuj kontakty a leady Salesforce so zoznamami kontaktov v Brevo
- **Sledovanie príležitostí** - Namapuj fázy a sumy obchodov pre segmentáciu podľa príjmov
- **Hierarchia účtov** - Synchronizuj firemné účty pre account-based marketing v Brevo
- **Mapovanie vlastných objektov** - Namapuj vlastné objekty Salesforce na atribúty a udalosti v Brevo
- **Synchronizácia členov kampane** - Synchronizuj členov kampaní Salesforce so zoznamami v Brevo
- **Sledovanie aktivít** - Synchronizuj úlohy, udalosti a e-mailové aktivity pre hodnotenie zapojenia
- **Streamovanie v reálnom čase** - Použi Streaming API Salesforce pre okamžité aktualizácie dát
- **Podpora SOQL dopytov** - Filtruj synchronizované dáta pomocou vlastných SOQL dopytov

## Predpoklady

Predtým, než začneš, uisti sa, že máš:

1. Salesforce org (akékoľvek vydanie s API prístupom)
2. Nakonfigurovanú Connected App v Salesforce Setup
3. API prístup povolený pre tvoj profil používateľa Salesforce
4. Brevo účet s API prístupom
5. Tajo účet

## Autentifikácia

### OAuth 2.0 Web Server Flow (odporúčané)

Najlepšie pre produkčné integrácie s autorizáciou používateľa.

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

### Username-Password Flow

Pre server-to-server integrácie bez interakcie používateľa.

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

Bezpečnostný token

Salesforce vyžaduje pripojenie bezpečnostného tokenu k heslu pri použití username-password flow. Resetuj token cez Setup > My Personal Information > Reset My Security Token.

## Konfigurácia

### Základné nastavenie

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

### Mapovanie polí

Namapuj polia Salesforce na atribúty kontaktov v Brevo:

#### Predvolené mapovania

| Parameter | Type | Description |
| --- | --- | --- |
| `Email` required | string | E-mail kontaktu/leadu (unikátny identifikátor pre Brevo) |
| `FirstName` optional | string | Mapuje sa na atribút FIRSTNAME v Brevo |
| `LastName` optional | string | Mapuje sa na atribút LASTNAME v Brevo |
| `Phone` optional | string | Mapuje sa na atribút SMS pre správy WhatsApp/SMS |
| `Account.Name` optional | string | Názov priradeného účtu/spoločnosti |
| `LeadSource` optional | string | Zdroj akvizície leadu |
| `StageName` optional | string | Fáza príležitosti pre sledovanie obchodov |
| `OwnerId` optional | string | Priradený obchodný zástupca pre smerovanie |

#### Mapovanie vlastných polí

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

## API endpointy

### REST API zdroje

| Metóda | Endpoint | Popis |
| --- | --- | --- |
| `GET` | `/services/data/vXX.0/sobjects/Contact` | Dopyt kontaktov |
| `POST` | `/services/data/vXX.0/sobjects/Contact` | Vytvorenie kontaktu |
| `PATCH` | `/services/data/vXX.0/sobjects/Contact/{id}` | Aktualizácia kontaktu |
| `GET` | `/services/data/vXX.0/sobjects/Lead` | Dopyt leadov |
| `GET` | `/services/data/vXX.0/sobjects/Account` | Dopyt účtov |
| `GET` | `/services/data/vXX.0/sobjects/Opportunity` | Dopyt príležitostí |
| `GET` | `/services/data/vXX.0/query?q={SOQL}` | Vykonanie SOQL dopytu |
| `POST` | `/services/data/vXX.0/composite/sobjects` | Hromadné vytvorenie/aktualizácia |

### Bulk API

| Metóda | Endpoint | Popis |
| --- | --- | --- |
| `POST` | `/services/data/vXX.0/jobs/ingest` | Vytvorenie hromadnej ingest úlohy |
| `PUT` | `/services/data/vXX.0/jobs/ingest/{jobId}/batches` | Nahranie dávkových dát |
| `GET` | `/services/data/vXX.0/jobs/ingest/{jobId}` | Kontrola stavu úlohy |

### Streaming API

| Endpoint | Popis |
| --- | --- |
| `/cometd/XX.0` | CometD long-polling pre udalosti v reálnom čase |
| PushTopic | Prihlásenie na zmeny záznamov cez SOQL témy |
| Change Data Capture | Streamovanie jemných zmien na úrovni polí |
| Platform Events | Vlastná architektúra riadená udalosťami |

## Udalosti

### Udalosti záznamov (Change Data Capture)

| Udalosť | Trigger | Prípad použitia |
| --- | --- | --- |
| `ContactChangeEvent` | Kontakt vytvorený/aktualizovaný/odstránený | Synchronizácia kontaktov v reálnom čase |
| `LeadChangeEvent` | Lead vytvorený/aktualizovaný/konvertovaný | Sledovanie životného cyklu leadu |
| `OpportunityChangeEvent` | Zmena fázy príležitosti | Automatizácia pipeline obchodov |
| `AccountChangeEvent` | Upravený záznam účtu | Synchronizácia dát spoločnosti |

### Platform Events

| Udalosť | Trigger | Prípad použitia |
| --- | --- | --- |
| `Lead_Converted__e` | Lead konvertovaný na kontakt | Nurture po konverzii |
| `Deal_Won__e` | Príležitosť uzavretá-vyhraná | Flow onboardingu zákazníka |
| `Deal_Lost__e` | Príležitosť uzavretá-prehraná | Win-back kampane |

## Ukážky kódu

### Inicializácia konektora

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

### Synchronizácia kontaktov s SOQL filtrom

```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
// }
```

### Streamovanie v reálnom čase

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

## Obmedzenia rýchlosti

Limity Salesforce REST API závisia od tvojho vydania a počtu licencií:

| Vydanie | API požiadavky za 24 hodín |
| --- | --- |
| Developer | 15 000 |
| Enterprise | 1 000 na používateľskú licenciu (min 15 000) |
| Unlimited | 5 000 na používateľskú licenciu (min 15 000) |
| Performance | 5 000 na používateľskú licenciu (min 15 000) |

Ďalšie limity:

- **Limit súbežných API**: 25 dlhodobých požiadaviek
- **Bulk API**: 15 000 dávok za 24 hodín
- **Streaming API**: 2 000 udalostí za deň (možné zvýšiť)
- **Composite API**: 25 podpožiadaviek na composite požiadavku

Monitorovanie využitia API

Sleduj využitie API v Salesforce Setup > System Overview. Tajo používa Bulk API pre veľké synchronizácie na šetrenie API limitov.

## Riešenie problémov

### Bežné problémy

| Problém | Príčina | Riešenie |
| --- | --- | --- |
| INVALID\_SESSION\_ID | Token vypršal | Automaticky obnov OAuth token |
| REQUEST\_LIMIT\_EXCEEDED | Denný limit API bol dosiahnutý | Použi Bulk API alebo zredukuj frekvenciu synchronizácie |
| FIELD\_INTEGRITY\_EXCEPTION | Chýbajúce povinné pole | Namapuj všetky povinné polia v konfigurácii |
| DUPLICATES\_DETECTED | Aktívne pravidlá pre duplikáty | Nakonfiguruj predvoľby spracovania duplikátov |
| INSUFFICIENT\_ACCESS | Chýbajúce oprávnenia objektu | Udeľ API prístup v profile Salesforce |

### Debug režim

Zapni verbose logovanie:

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

### Test pripojenia

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

## Odporúčané postupy

1. **Použi Bulk API pre veľké synchronizácie** - Prepni na Bulk API 2.0 pre datasety nad 2 000 záznamov
2. **Implementuj Change Data Capture** - Použi CDC pre synchronizáciu v reálnom čase namiesto pollingu
3. **Namapuj iba potrebné polia** - Zredukuj využitie API synchronizáciou iba požadovaných polí
4. **Spravuj obnovu tokenov** - Implementuj automatickú logiku obnovy OAuth tokenov
5. **Použi composite požiadavky** - Kombinuj súvisiace API volania na zníženie počtu požiadaviek
6. **Testuj najprv v sandboxe** - Použi sandbox org Salesforce pred nasadením do produkcie

## Bezpečnosť

- **OAuth 2.0** - Priemyselne štandardná autorizácia s viacerými grant typmi
- **IP obmedzenia** - Salesforce podporuje rozsahy prihlasovacích IP a nastavenia dôveryhodných IP
- **TLS 1.2+** - Všetka API komunikácia šifrovaná s minimálnym TLS 1.2
- **Bezpečnosť na úrovni polí** - Jemná kontrola prístupu k poliam na profil
- **Správa relácií** - Konfigurovateľný timeout relácie a limity súbežných relácií

## Súvisiace zdroje

- [Salesforce REST API dokumentácia](https://developer.salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest/intro_rest.htm)
- [Sprievodca Salesforce Bulk API 2.0](https://developer.salesforce.com/docs/atlas.en-us.api_asynch.meta/api_asynch/asynch_api_intro.htm)
- [HubSpot konektor](https://tajo.io/sk/docs/connectors/crm/hubspot)
- [Customer Sync skill](https://tajo.io/sk/docs/skills/data-sync/customer-sync)
- [Brevo Contacts API](https://tajo.io/sk/docs/contact-management)
