---
title: "Salesforce Konektor"
description: "Kompletan vodič za integraciju Salesforce CRM-a za sinkronizaciju leadova, kontakata, računa, mogućnosti i prilagođenih objekata s Brevom putem Taja."
url: https://tajo.io/hr/docs/connectors/crm/salesforce/
markdown: https://tajo.io/hr/docs/connectors/crm/salesforce.md
lang: hr-HR
robots: noindex
---

Zatražite rani pristup

Unesite ime i poslovnu adresu e-pošte. Poslat ćemo vam poveznicu za potvrdu zahtjeva za pristup Taju.

# Salesforce Konektor

Status konektora: Planirano Još nije izrađeno. Tajo danas ne pokreće ovaj konektor.

| Izvorno polje | Odredišno polje | Primjer vrijednosti |
| --- | --- | --- |
| `record.id` | `source_id` | `record_1042` |
| `record.updated_at` | `updated_at` | `2026-10-18T08:00:00Z` |
| `record.value` | `value` | `sample_value` |

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

| Svojstvo | Vrijednost |
| --- | --- |
| **Platforma** | Salesforce |
| **Kategorija** | CRM |
| **Složenost postavljanja** | Napredno |
| **Službena integracija** | Ne |
| **Sinkronizirani podaci** | Kontakti, Leadovi, Računi, Mogućnosti, Događaji |
| **Osnovni URL API-ja** | `https://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.

```bash
# 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.

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

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

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

    # 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

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

| Metoda | Krajnja točka | Opis |
| --- | --- | --- |
| `GET` | `/services/data/vXX.0/sobjects/Contact` | Upit kontakata |
| `POST` | `/services/data/vXX.0/sobjects/Contact` | Stvaranje kontakta |
| `PATCH` | `/services/data/vXX.0/sobjects/Contact/{id}` | Ažuriranje kontakta |
| `GET` | `/services/data/vXX.0/sobjects/Lead` | Upit leadova |
| `GET` | `/services/data/vXX.0/sobjects/Account` | Upit računa |
| `GET` | `/services/data/vXX.0/sobjects/Opportunity` | Upit mogućnosti |
| `GET` | `/services/data/vXX.0/query?q={SOQL}` | Izvođenje SOQL upita |
| `POST` | `/services/data/vXX.0/composite/sobjects` | Skupno stvaranje/ažuriranje |

### Bulk API

| Metoda | Krajnja točka | Opis |
| --- | --- | --- |
| `POST` | `/services/data/vXX.0/jobs/ingest` | Stvaranje skupnog posla za unos |
| `PUT` | `/services/data/vXX.0/jobs/ingest/{jobId}/batches` | Učitavanje skupnih podataka |
| `GET` | `/services/data/vXX.0/jobs/ingest/{jobId}` | Provjera statusa posla |

### Streaming API

| Krajnja točka | Opis |
| --- | --- |
| `/cometd/XX.0` | CometD long-polling za događaje u stvarnom vremenu |
| PushTopic | Pretplata na promjene zapisa putem tema temeljenih na SOQL-u |
| Change Data Capture | Streaming preciznih promjena na razini polja |
| Platform Events | Prilagođena arhitektura pokretana događajima |

## Događaji

### Događaji zapisa (Change Data Capture)

| Događaj | Okidač | Slučaj upotrebe |
| --- | --- | --- |
| `ContactChangeEvent` | Kontakt stvoren/ažuriran/obrisan | Sinkronizacija kontakata u stvarnom vremenu |
| `LeadChangeEvent` | Lead stvoren/ažuriran/konvertiran | Praćenje životnog ciklusa leada |
| `OpportunityChangeEvent` | Promijenjena faza mogućnosti | Automatizacija cjevovoda poslova |
| `AccountChangeEvent` | Izmijenjen zapis računa | Sinkronizacija podataka tvrtke |

### Platform Events

| Događaj | Okidač | Slučaj upotrebe |
| --- | --- | --- |
| `Lead_Converted__e` | Lead konvertiran u kontakt | Njegovanje nakon konverzije |
| `Deal_Won__e` | Mogućnost zaključena-dobitna | Tok onboardinga klijenata |
| `Deal_Lost__e` | Mogućnost zaključena-gubitnička | Kampanje za povratak |

## Primjeri koda

### Inicijalizacija konektora

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

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

```javascript
// 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:

| Izdanje | API zahtjevi po 24 sata |
| --- | --- |
| Developer | 15.000 |
| Enterprise | 1.000 po korisničkoj licenci (min 15.000) |
| Unlimited | 5.000 po korisničkoj licenci (min 15.000) |
| Performance | 5.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

| Problem | Uzrok | Rješenje |
| --- | --- | --- |
| INVALID\_SESSION\_ID | Token je istekao | Automatski osvježite OAuth token |
| REQUEST\_LIMIT\_EXCEEDED | Dostignuto dnevno ograničenje API-ja | Koristite Bulk API ili smanjite učestalost sinkronizacije |
| FIELD\_INTEGRITY\_EXCEPTION | Nedostaje obavezno polje | Mapirajte sva obavezna polja u konfiguraciji |
| DUPLICATES\_DETECTED | Aktivna pravila za duplikate | Konfigurirajte postavke upravljanja duplikatima |
| INSUFFICIENT\_ACCESS | Nedostaju dozvole za objekt | Dodijelite API pristup u Salesforce profilu |

### Način otklanjanja grešaka

Omogućite opširno zapisivanje:

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

### Testiranje veze

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

- [Salesforce REST API dokumentacija](https://developer.salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest/intro_rest.htm)
- [Vodič za 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/hr/docs/connectors/crm/hubspot)
- [Vještina sinkronizacije korisnika](https://tajo.io/hr/docs/skills/data-sync/customer-sync)
- [Brevo API kontakata](https://tajo.io/hr/docs/contact-management)
