---
title: "Konektor Salesforce"
description: "Kompletny przewodnik integracji Salesforce CRM do synchronizacji leadów, kontaktów, kont, szans sprzedaży i obiektów niestandardowych z Brevo przez Tajo."
url: https://tajo.io/pl/docs/connectors/crm/salesforce/
markdown: https://tajo.io/pl/docs/connectors/crm/salesforce.md
lang: pl-PL
robots: noindex
---

Poproś o wcześniejszy dostęp

Podaj imię i firmowy adres e-mail. Wyślemy Ci link potwierdzający prośbę o dostęp do Tajo.

# Konektor Salesforce

Status konektora: Planowany Jeszcze niezbudowany. Tajo nie uruchamia dziś tego konektora.

| Pole źródłowe | Pole docelowe | Przykładowa wartość |
| --- | --- | --- |
| `record.id` | `source_id` | `record_1042` |
| `record.updated_at` | `updated_at` | `2026-10-18T08:00:00Z` |
| `record.value` | `value` | `sample_value` |

Połącz swój Salesforce CRM z Brevo przez Tajo, aby uzyskać synchronizację kontaktów klasy enterprise, zarządzanie leadami, śledzenie szans sprzedaży i automatyzację marketingu opartą na danych CRM.

## Przegląd

| Właściwość | Wartość |
| --- | --- |
| **Platforma** | Salesforce |
| **Kategoria** | CRM |
| **Poziom konfiguracji** | Zaawansowany |
| **Integracja oficjalna** | Nie |
| **Synchronizowane dane** | Kontakty, Leady, Konta, Szanse sprzedaży, Zdarzenia |
| **Bazowy URL API** | `https://yourInstance.salesforce.com/services/data/vXX.0` |

## Funkcje

- **Dwukierunkowa synchronizacja kontaktów/leadów** - Synchronizuj kontakty i leady Salesforce z listami kontaktów Brevo
- **Śledzenie szans sprzedaży** - Mapuj etapy i kwoty transakcji dla segmentacji opartej na przychodach
- **Hierarchia kont** - Synchronizuj konta firmowe dla marketingu opartego na kontach w Brevo
- **Mapowanie obiektów niestandardowych** - Mapuj obiekty niestandardowe Salesforce na atrybuty i zdarzenia Brevo
- **Synchronizacja członków kampanii** - Synchronizuj członków kampanii Salesforce z listami Brevo
- **Śledzenie aktywności** - Synchronizuj zadania, zdarzenia i aktywności e-mailowe dla oceny zaangażowania
- **Streaming w czasie rzeczywistym** - Używaj Salesforce Streaming API dla natychmiastowych aktualizacji danych
- **Obsługa zapytań SOQL** - Filtruj synchronizowane dane niestandardowymi zapytaniami SOQL

## Wymagania wstępne

Zanim zaczniesz, upewnij się, że masz:

1. Organizację Salesforce (dowolna edycja z dostępem do API)
2. Skonfigurowaną aplikację Connected App w konfiguracji Salesforce
3. Dostęp do API włączony dla profilu użytkownika Salesforce
4. Konto Brevo z dostępem do API
5. Konto Tajo

## Uwierzytelnianie

### Przepływ Web Server OAuth 2.0 (zalecane)

Najlepszy dla integracji produkcyjnych z autoryzacją użytkownika.

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

### Przepływ Username-Password

Dla integracji serwer-serwer bez interakcji użytkownika.

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

Token bezpieczeństwa

Salesforce wymaga dołączenia tokenu bezpieczeństwa do hasła w przepływie username-password. Zresetuj token z Setup > My Personal Information > Reset My Security Token.

## Konfiguracja

### Podstawowa konfiguracja

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

### Mapowanie pól

Mapuj pola Salesforce na atrybuty kontaktów Brevo:

#### Domyślne mapowania

| Parameter | Type | Description |
| --- | --- | --- |
| `Email` required | string | E-mail kontaktu/leada (unikalny identyfikator dla Brevo) |
| `FirstName` optional | string | Mapuje się na atrybut FIRSTNAME w Brevo |
| `LastName` optional | string | Mapuje się na atrybut LASTNAME w Brevo |
| `Phone` optional | string | Mapuje się na atrybut SMS dla wiadomości WhatsApp/SMS |
| `Account.Name` optional | string | Nazwa powiązanego konta/firmy |
| `LeadSource` optional | string | Źródło pozyskania leada |
| `StageName` optional | string | Etap szansy sprzedaży do śledzenia transakcji |
| `OwnerId` optional | string | Przypisany przedstawiciel handlowy do routingu |

#### Niestandardowe mapowanie pól

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

## Endpointy API

### Zasoby REST API

| Metoda | Endpoint | Opis |
| --- | --- | --- |
| `GET` | `/services/data/vXX.0/sobjects/Contact` | Zapytanie o kontakty |
| `POST` | `/services/data/vXX.0/sobjects/Contact` | Utwórz kontakt |
| `PATCH` | `/services/data/vXX.0/sobjects/Contact/{id}` | Aktualizuj kontakt |
| `GET` | `/services/data/vXX.0/sobjects/Lead` | Zapytanie o leady |
| `GET` | `/services/data/vXX.0/sobjects/Account` | Zapytanie o konta |
| `GET` | `/services/data/vXX.0/sobjects/Opportunity` | Zapytanie o szanse sprzedaży |
| `GET` | `/services/data/vXX.0/query?q={SOQL}` | Wykonaj zapytanie SOQL |
| `POST` | `/services/data/vXX.0/composite/sobjects` | Zbiorcze tworzenie/aktualizacja |

### Bulk API

| Metoda | Endpoint | Opis |
| --- | --- | --- |
| `POST` | `/services/data/vXX.0/jobs/ingest` | Utwórz zadanie importu zbiorczego |
| `PUT` | `/services/data/vXX.0/jobs/ingest/{jobId}/batches` | Prześlij dane wsadowe |
| `GET` | `/services/data/vXX.0/jobs/ingest/{jobId}` | Sprawdź status zadania |

### Streaming API

| Endpoint | Opis |
| --- | --- |
| `/cometd/XX.0` | Długie odpytywanie CometD dla zdarzeń w czasie rzeczywistym |
| PushTopic | Subskrybuj zmiany rekordów przez tematy oparte na SOQL |
| Change Data Capture | Strumieniuj szczegółowe zmiany na poziomie pól |
| Platform Events | Niestandardowa architektura sterowana zdarzeniami |

## Zdarzenia

### Zdarzenia rekordów (Change Data Capture)

| Zdarzenie | Wyzwalacz | Zastosowanie |
| --- | --- | --- |
| `ContactChangeEvent` | Kontakt utworzony/zaktualizowany/usunięty | Synchronizacja kontaktów w czasie rzeczywistym |
| `LeadChangeEvent` | Lead utworzony/zaktualizowany/przekonwertowany | Śledzenie cyklu życia leada |
| `OpportunityChangeEvent` | Zmiana etapu szansy sprzedaży | Automatyzacja lejka transakcji |
| `AccountChangeEvent` | Rekord konta zmodyfikowany | Synchronizacja danych firmy |

### Zdarzenia platformy

| Zdarzenie | Wyzwalacz | Zastosowanie |
| --- | --- | --- |
| `Lead_Converted__e` | Lead przekonwertowany na kontakt | Nurturing po konwersji |
| `Deal_Won__e` | Szansa sprzedaży zamknięta-wygrana | Przepływ onboardingu klienta |
| `Deal_Lost__e` | Szansa sprzedaży zamknięta-przegrana | Kampanie win-back |

## Przykłady kodu

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

### Synchronizuj kontakty z filtrem 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
// }
```

### Streaming w czasie rzeczywistym

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

## Limity API

Limity REST API Salesforce zależą od twojej edycji i liczby licencji:

| Edycja | Żądania API na 24 godziny |
| --- | --- |
| Developer | 15 000 |
| Enterprise | 1 000 na licencję użytkownika (min. 15 000) |
| Unlimited | 5 000 na licencję użytkownika (min. 15 000) |
| Performance | 5 000 na licencję użytkownika (min. 15 000) |

Dodatkowe limity:

- **Limit współbieżnych API**: 25 długotrwałych żądań
- **Bulk API**: 15 000 partii na 24 godziny
- **Streaming API**: 2 000 zdarzeń dziennie (można zwiększyć)
- **Composite API**: 25 podzapytań na żądanie złożone

Monitorowanie użycia API

Monitoruj użycie API w Salesforce Setup > System Overview. Tajo używa Bulk API dla dużych synchronizacji, aby oszczędzać limity API.

## Rozwiązywanie problemów

### Typowe problemy

| Problem | Przyczyna | Rozwiązanie |
| --- | --- | --- |
| INVALID\_SESSION\_ID | Token wygasł | Automatycznie odśwież token OAuth |
| REQUEST\_LIMIT\_EXCEEDED | Dzienny limit API przekroczony | Używaj Bulk API lub zmniejsz częstotliwość synchronizacji |
| FIELD\_INTEGRITY\_EXCEPTION | Brak wymaganego pola | Zmapuj wszystkie wymagane pola w konfiguracji |
| DUPLICATES\_DETECTED | Aktywne reguły duplikatów | Skonfiguruj preferencje obsługi duplikatów |
| INSUFFICIENT\_ACCESS | Brak uprawnień do obiektu | Przyznaj dostęp do API w profilu Salesforce |

### Tryb debug

Włącz szczegółowe logowanie:

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

### Test połączenia

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

## Najlepsze praktyki

1. **Używaj Bulk API dla dużych synchronizacji** - Przełącz na Bulk API 2.0 dla zbiorów danych powyżej 2 000 rekordów
2. **Wdrożyj Change Data Capture** - Używaj CDC dla synchronizacji w czasie rzeczywistym zamiast odpytywania
3. **Mapuj tylko potrzebne pola** - Zmniejsz użycie API, synchronizując tylko wymagane pola
4. **Obsługuj odświeżanie tokenów** - Wdrożyj automatyczną logikę odświeżania tokenów OAuth
5. **Używaj żądań złożonych** - Łącz powiązane wywołania API, aby zmniejszyć liczbę żądań
6. **Najpierw testuj w sandbox** - Używaj organizacji sandbox Salesforce przed wdrożeniem produkcyjnym

## Bezpieczeństwo

- **OAuth 2.0** - Branżowy standard autoryzacji z wieloma typami przydziału
- **Ograniczenia IP** - Salesforce obsługuje zakresy IP logowania i zaufane ustawienia IP
- **TLS 1.2+** - Cała komunikacja API zaszyfrowana z minimalnym TLS 1.2
- **Bezpieczeństwo na poziomie pól** - Granularna kontrola dostępu do pól na profil
- **Zarządzanie sesjami** - Konfigurowalne limity czasu sesji i limity sesji współbieżnych

## Powiązane zasoby

- [Dokumentacja Salesforce REST API](https://developer.salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest/intro_rest.htm)
- [Przewodnik Salesforce Bulk API 2.0](https://developer.salesforce.com/docs/atlas.en-us.api_asynch.meta/api_asynch/asynch_api_intro.htm)
- [Konektor HubSpot](https://tajo.io/pl/docs/connectors/crm/hubspot)
- [Skill synchronizacji klientów](https://tajo.io/pl/docs/skills/data-sync/customer-sync)
- [Brevo Contacts API](https://tajo.io/pl/docs/contact-management)
