Salesforce कनेक्टर

Salesforce कनेक्टर

एंटरप्राइज़-ग्रेड कॉन्टैक्ट सिंक्रोनाइज़ेशन, लीड प्रबंधन, अवसर ट्रैकिंग, और अपने CRM डेटा द्वारा संचालित मार्केटिंग ऑटोमेशन के लिए Tajo के माध्यम से अपने Salesforce CRM को Brevo से कनेक्ट करें।

अवलोकन

गुणमान
प्लेटफ़ॉर्मSalesforce
श्रेणीCRM
सेटअप जटिलताउन्नत
आधिकारिक इंटीग्रेशनहां
सिंक किया गया डेटाकॉन्टैक्ट्स, लीड्स, अकाउंट्स, अवसर, इवेंट्स
API Base URLhttps://yourInstance.salesforce.com/services/data/vXX.0

विशेषताएं

  • द्विदिशीय कॉन्टैक्ट/लीड सिंक - Salesforce कॉन्टैक्ट्स और लीड्स को Brevo कॉन्टैक्ट लिस्ट्स के साथ सिंक करें
  • अवसर ट्रैकिंग - राजस्व-आधारित सेगमेंटेशन के लिए डील स्टेज और राशि मैप करें
  • अकाउंट पदानुक्रम - Brevo में अकाउंट-आधारित मार्केटिंग के लिए कंपनी अकाउंट्स सिंक करें
  • कस्टम ऑब्जेक्ट मैपिंग - Salesforce कस्टम ऑब्जेक्ट्स को Brevo एट्रिब्यूट्स और इवेंट्स में मैप करें
  • अभियान सदस्य सिंक - Salesforce अभियान सदस्यों को Brevo लिस्ट्स के साथ सिंक करें
  • गतिविधि ट्रैकिंग - एंगेजमेंट स्कोरिंग के लिए टास्क, इवेंट, और ईमेल गतिविधियों को सिंक करें
  • रीयल-टाइम स्ट्रीमिंग - तत्काल डेटा अपडेट के लिए Salesforce Streaming API का उपयोग करें
  • SOQL क्वेरी समर्थन - कस्टम SOQL क्वेरीज़ के साथ सिंक किए गए डेटा को फ़िल्टर करें

पूर्वावश्यकताएं

शुरू करने से पहले, सुनिश्चित करें कि आपके पास है:

  1. एक Salesforce org (API एक्सेस वाला कोई भी संस्करण)
  2. Salesforce Setup में कॉन्फ़िगर किया गया एक Connected App
  3. आपके Salesforce उपयोगकर्ता प्रोफ़ाइल के लिए API एक्सेस सक्षम
  4. API एक्सेस वाला एक Brevo खाता
  5. एक Tajo खाता

प्रमाणीकरण

OAuth 2.0 Web Server Flow (अनुशंसित)

उपयोगकर्ता प्राधिकरण के साथ प्रोडक्शन इंटीग्रेशन्स के लिए सबसे अच्छा।

Terminal window
# 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

बिना उपयोगकर्ता इंटरैक्शन वाले सर्वर-टू-सर्वर इंटीग्रेशन्स के लिए।

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

सुरक्षा टोकन

Salesforce को username-password flow के लिए आपके पासवर्ड में आपका security token जोड़ने की आवश्यकता होती है। Setup > My Personal Information > Reset My Security Token से अपना टोकन रीसेट करें।

कॉन्फ़िगरेशन

बुनियादी सेटअप

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

फ़ील्ड मैपिंग

Salesforce फ़ील्ड्स को Brevo कॉन्टैक्ट एट्रिब्यूट्स में मैप करें:

डिफ़ॉल्ट मैपिंग्स

Parameter Type Description
Email required
string

कॉन्टैक्ट/लीड ईमेल (Brevo के लिए विशिष्ट पहचानकर्ता)

FirstName optional
string

Brevo में FIRSTNAME एट्रिब्यूट से मैप होता है

LastName optional
string

Brevo में LASTNAME एट्रिब्यूट से मैप होता है

Phone optional
string

WhatsApp/SMS मैसेजिंग के लिए SMS एट्रिब्यूट से मैप होता है

Account.Name optional
string

संबद्ध अकाउंट/कंपनी का नाम

LeadSource optional
string

लीड अधिग्रहण स्रोत

StageName optional
string

डील ट्रैकिंग के लिए अवसर स्टेज

OwnerId optional
string

रूटिंग के लिए असाइन किया गया sales rep

कस्टम फ़ील्ड मैपिंग

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 एंडपॉइंट्स

REST API संसाधन

मेथडएंडपॉइंटविवरण
GET/services/data/vXX.0/sobjects/Contactकॉन्टैक्ट्स क्वेरी करें
POST/services/data/vXX.0/sobjects/Contactएक कॉन्टैक्ट बनाएं
PATCH/services/data/vXX.0/sobjects/Contact/{id}एक कॉन्टैक्ट अपडेट करें
GET/services/data/vXX.0/sobjects/Leadलीड्स क्वेरी करें
GET/services/data/vXX.0/sobjects/Accountअकाउंट्स क्वेरी करें
GET/services/data/vXX.0/sobjects/Opportunityअवसर क्वेरी करें
GET/services/data/vXX.0/query?q={SOQL}SOQL क्वेरी निष्पादित करें
POST/services/data/vXX.0/composite/sobjectsबैच क्रिएट/अपडेट

Bulk API

मेथडएंडपॉइंटविवरण
POST/services/data/vXX.0/jobs/ingestबल्क ingest जॉब बनाएं
PUT/services/data/vXX.0/jobs/ingest/{jobId}/batchesबैच डेटा अपलोड करें
GET/services/data/vXX.0/jobs/ingest/{jobId}जॉब स्थिति जांचें

Streaming API

एंडपॉइंटविवरण
/cometd/XX.0रीयल-टाइम इवेंट्स के लिए CometD long-polling
PushTopicSOQL-आधारित विषयों के माध्यम से रिकॉर्ड परिवर्तनों की सदस्यता लें
Change Data Captureफाइन-ग्रेन्ड फ़ील्ड-स्तरीय परिवर्तनों को स्ट्रीम करें
Platform Eventsकस्टम इवेंट-चालित आर्किटेक्चर

इवेंट्स

रिकॉर्ड इवेंट्स (Change Data Capture)

इवेंटट्रिगरउपयोग मामला
ContactChangeEventकॉन्टैक्ट बनाया/अपडेट/हटाया गयारीयल-टाइम कॉन्टैक्ट सिंक
LeadChangeEventलीड बनाया/अपडेट/कन्वर्ट किया गयालीड लाइफसाइकल ट्रैकिंग
OpportunityChangeEventअवसर स्टेज बदलाडील पाइपलाइन ऑटोमेशन
AccountChangeEventअकाउंट रिकॉर्ड संशोधितकंपनी डेटा सिंक

Platform Events

इवेंटट्रिगरउपयोग मामला
Lead_Converted__eलीड कॉन्टैक्ट में कन्वर्टपोस्ट-कन्वर्शन नर्चर
Deal_Won__eअवसर closed-wonग्राहक ऑनबोर्डिंग फ़्लो
Deal_Lost__eअवसर closed-lostWin-back अभियान

कोड उदाहरण

कनेक्टर प्रारंभ करें

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

SOQL फ़िल्टर के साथ कॉन्टैक्ट सिंक

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

रीयल-टाइम स्ट्रीमिंग

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

दर सीमाएं

Salesforce REST API सीमाएं आपके संस्करण और लाइसेंस गणना पर निर्भर करती हैं:

संस्करणप्रति 24 घंटे API अनुरोध
Developer15,000
Enterprise1,000 प्रति user license (न्यूनतम 15,000)
Unlimited5,000 प्रति user license (न्यूनतम 15,000)
Performance5,000 प्रति user license (न्यूनतम 15,000)

अतिरिक्त सीमाएं:

  • समवर्ती API सीमा: 25 लंबे समय तक चलने वाले अनुरोध
  • Bulk API: प्रति 24 घंटे 15,000 बैच
  • Streaming API: प्रति दिन 2,000 इवेंट्स (बढ़ाया जा सकता है)
  • Composite API: प्रति composite request 25 subrequest

API उपयोग निगरानी

Salesforce Setup > System Overview में अपने API उपयोग की निगरानी करें। Tajo आपकी API सीमाओं को संरक्षित करने के लिए बड़े सिंक के लिए bulk API का उपयोग करता है।

समस्या निवारण

सामान्य समस्याएं

समस्याकारणसमाधान
INVALID_SESSION_IDटोकन समाप्तOAuth टोकन स्वचालित रूप से रीफ्रेश करें
REQUEST_LIMIT_EXCEEDEDदैनिक API सीमा पारBulk API का उपयोग करें या सिंक आवृत्ति कम करें
FIELD_INTEGRITY_EXCEPTIONआवश्यक फ़ील्ड गायबकॉन्फ़िगरेशन में सभी आवश्यक फ़ील्ड मैप करें
DUPLICATES_DETECTEDडुप्लिकेट नियम सक्रियडुप्लिकेट हैंडलिंग प्राथमिकताएं कॉन्फ़िगर करें
INSUFFICIENT_ACCESSऑब्जेक्ट अनुमतियां गायबSalesforce profile में API एक्सेस प्रदान करें

डीबग मोड

विस्तृत लॉगिंग सक्षम करें:

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

कनेक्शन परीक्षण करें

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

सर्वोत्तम प्रथाएं

  1. बड़े सिंक के लिए Bulk API का उपयोग करें - 2,000 से अधिक रिकॉर्ड्स के डेटासेट के लिए Bulk API 2.0 पर स्विच करें
  2. Change Data Capture लागू करें - पोलिंग के बजाय रीयल-टाइम सिंक के लिए CDC का उपयोग करें
  3. केवल आवश्यक फ़ील्ड्स मैप करें - केवल आवश्यक फ़ील्ड्स सिंक करके API उपयोग कम करें
  4. टोकन रीफ्रेश हैंडल करें - स्वचालित OAuth टोकन रीफ्रेश लॉजिक लागू करें
  5. composite requests का उपयोग करें - अनुरोध संख्या कम करने के लिए संबंधित API कॉल्स को संयोजित करें
  6. पहले sandbox में परीक्षण करें - प्रोडक्शन डिप्लॉयमेंट से पहले Salesforce sandbox org का उपयोग करें

सुरक्षा

  • OAuth 2.0 - कई grant types के साथ इंडस्ट्री-स्टैंडर्ड प्राधिकरण
  • IP प्रतिबंध - Salesforce login IP ranges और trusted IP सेटिंग्स का समर्थन करता है
  • TLS 1.2+ - न्यूनतम TLS 1.2 के साथ एन्क्रिप्टेड सभी API संचार
  • फ़ील्ड-स्तरीय सुरक्षा - प्रति profile ग्रैन्युलर फ़ील्ड एक्सेस नियंत्रण
  • सत्र प्रबंधन - कॉन्फ़िगर करने योग्य सत्र टाइमआउट और समवर्ती सत्र सीमाएं

संबंधित संसाधन

Subscribe to updates

developer-docs

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

AI Assistant

Hi! Ask me anything about the docs.

Brevo के साथ मुफ्त में शुरू करें