Salesforce کنیکٹر
Salesforce کنیکٹر
انٹرپرائز گریڈ رابطہ سنکرونائزیشن، لیڈ مینجمنٹ، موقع ٹریکنگ، اور اپنے CRM ڈیٹا سے چلنے والی مارکیٹنگ آٹومیشن کے لیے Tajo کے ذریعے اپنے Salesforce CRM کو Brevo سے منسلک کریں۔
جائزہ
| خاصیت | قدر |
|---|---|
| پلیٹ فارم | Salesforce |
| زمرہ | CRM |
| سیٹ اپ کی پیچیدگی | ایڈوانسڈ |
| آفیشل انٹیگریشن | ہاں |
| سنک شدہ ڈیٹا | رابطے، لیڈز، اکاؤنٹس، مواقع، ایونٹس |
| API بنیادی URL | https://yourInstance.salesforce.com/services/data/vXX.0 |
خصوصیات
- دو طرفہ رابطہ/لیڈ سنک - Salesforce رابطوں اور لیڈز کو Brevo رابطہ فہرستوں کے ساتھ سنک کریں
- موقع ٹریکنگ - آمدنی پر مبنی سیگمنٹیشن کے لیے ڈیل مراحل اور رقوم میپ کریں
- اکاؤنٹ ہائرارکی - Brevo میں اکاؤنٹ بیسڈ مارکیٹنگ کے لیے کمپنی اکاؤنٹس سنک کریں
- کسٹم آبجیکٹ میپنگ - Salesforce کسٹم آبجیکٹس کو Brevo خصوصیات اور ایونٹس پر میپ کریں
- کمپین ممبر سنک - Salesforce کمپین ممبرز کو Brevo فہرستوں کے ساتھ سنک کریں
- سرگرمی ٹریکنگ - مصروفیت کی اسکورنگ کے لیے ٹاسکس، ایونٹس، اور ای میل سرگرمیاں سنک کریں
- ریئل ٹائم اسٹریمنگ - فوری ڈیٹا اپ ڈیٹس کے لیے Salesforce Streaming API استعمال کریں
- SOQL کوئری سپورٹ - کسٹم SOQL کوئریز کے ساتھ سنک شدہ ڈیٹا کو فلٹر کریں
شرائط
شروع کرنے سے پہلے، یقینی بنائیں کہ آپ کے پاس ہے:
- Salesforce org (API رسائی کے ساتھ کوئی بھی ایڈیشن)
- Salesforce Setup میں تشکیل کردہ Connected App
- آپ کے Salesforce صارف پروفائل کے لیے API رسائی فعال
- API رسائی کے ساتھ Brevo اکاؤنٹ
- Tajo اکاؤنٹ
تصدیق
OAuth 2.0 ویب سرور فلو (تجویز کردہ)
صارف کی اجازت کے ساتھ پروڈکشن انٹیگریشنز کے لیے بہترین۔
# Step 1: Authorizehttps://login.salesforce.com/services/oauth2/authorize? response_type=code& client_id={consumer_key}& redirect_uri={callback_url}
# Step 2: Exchange code for tokenscurl -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}"یوزرنیم-پاس ورڈ فلو
بغیر صارف کی مداخلت کے سرور سے سرور انٹیگریشنز کے لیے۔
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 کو یوزرنیم-پاس ورڈ فلو کے لیے آپ کے پاس ورڈ میں آپ کے سیکیورٹی ٹوکن کو شامل کرنے کی ضرورت ہے۔ اپنا ٹوکن 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 | روٹنگ کے لیے تفویض کردہ سیلز نمائندہ |
کسٹم فیلڈ میپنگ
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_TIERAPI اینڈ پوائنٹس
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 | بلک انجیسٹ جاب بنائیں |
PUT | /services/data/vXX.0/jobs/ingest/{jobId}/batches | بیچ ڈیٹا اپ لوڈ کریں |
GET | /services/data/vXX.0/jobs/ingest/{jobId} | جاب کی حیثیت چیک کریں |
Streaming API
| اینڈ پوائنٹ | تفصیل |
|---|---|
/cometd/XX.0 | ریئل ٹائم ایونٹس کے لیے CometD لانگ پولنگ |
| PushTopic | SOQL پر مبنی ٹاپکس کے ذریعے ریکارڈ تبدیلیوں کو سبسکرائب کریں |
| Change Data Capture | فیلڈ لیول کی باریک تبدیلیوں کو اسٹریم کریں |
| Platform Events | کسٹم ایونٹ سے چلنے والی آرکیٹیکچر |
ایونٹس
ریکارڈ ایونٹس (Change Data Capture)
| ایونٹ | ٹرگر | استعمال کا کیس |
|---|---|---|
ContactChangeEvent | رابطہ بنایا/اپ ڈیٹ/حذف | ریئل ٹائم رابطہ سنک |
LeadChangeEvent | لیڈ بنایا/اپ ڈیٹ/تبدیل | لیڈ لائف سائیکل ٹریکنگ |
OpportunityChangeEvent | موقع کا مرحلہ تبدیل | ڈیل پائپ لائن آٹومیشن |
AccountChangeEvent | اکاؤنٹ ریکارڈ میں ترمیم | کمپنی ڈیٹا سنک |
Platform Events
| ایونٹ | ٹرگر | استعمال کا کیس |
|---|---|---|
Lead_Converted__e | لیڈ رابطے میں تبدیل | کنورژن کے بعد نرچر |
Deal_Won__e | موقع بند جیت | گاہک آن بورڈنگ فلو |
Deal_Lost__e | موقع بند ہار | دوبارہ جیتنے کی مہمات |
کوڈ کی مثالیں
کنیکٹر کو انیشیلائز کریں
import { TajoClient } from '@tajo/sdk';
const tajo = new TajoClient({ apiKey: process.env.TAJO_API_KEY, brevoApiKey: process.env.BREVO_API_KEY});
// Connect Salesforceawait 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 Salesforceawait 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 statusconst 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 Captureawait 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 کی حدود آپ کے ایڈیشن اور لائسنس کاؤنٹ پر منحصر ہیں:
| ایڈیشن | API درخواستیں فی 24 گھنٹے |
|---|---|
| Developer | 15,000 |
| Enterprise | 1,000 فی صارف لائسنس (کم از کم 15,000) |
| Unlimited | 5,000 فی صارف لائسنس (کم از کم 15,000) |
| Performance | 5,000 فی صارف لائسنس (کم از کم 15,000) |
اضافی حدود:
- ہم وقت API حد: 25 طویل درخواستیں
- Bulk API: 15,000 بیچز فی 24 گھنٹے
- Streaming API: 2,000 ایونٹس فی دن (بڑھایا جا سکتا ہے)
- Composite API: 25 ذیلی درخواستیں فی کمپوزٹ درخواست
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 پروفائل میں API رسائی دیں |
ڈیبگ موڈ
تفصیلی لاگنگ فعال کریں:
connectors: salesforce: debug: true log_level: verbose log_api_calls: trueکنکشن ٹیسٹ کریں
tajo connectors test salesforce# ✓ OAuth token valid# ✓ Contacts accessible# ✓ Leads accessible# ✓ Accounts accessible# ✓ Opportunities accessible# ✓ Bulk API enabledبہترین طرز عمل
- بڑے سنک کے لیے Bulk API استعمال کریں - 2,000 سے زیادہ ریکارڈز والے ڈیٹا سیٹس کے لیے Bulk API 2.0 پر سوئچ کریں
- Change Data Capture نافذ کریں - پولنگ کی بجائے ریئل ٹائم سنک کے لیے CDC استعمال کریں
- صرف ضروری فیلڈز میپ کریں - صرف مطلوبہ فیلڈز سنک کرکے API استعمال کم کریں
- ٹوکن ریفریش کو سنبھالیں - خودکار OAuth ٹوکن ریفریش منطق نافذ کریں
- کمپوزٹ درخواستیں استعمال کریں - درخواست کاؤنٹ کم کرنے کے لیے متعلقہ API کالز کو یکجا کریں
- پہلے سینڈ باکس میں ٹیسٹ کریں - پروڈکشن تعیناتی سے پہلے Salesforce سینڈ باکس org استعمال کریں
سیکیورٹی
- OAuth 2.0 - متعدد گرانٹ اقسام کے ساتھ صنعتی معیار کی اجازت
- IP پابندیاں - Salesforce لاگ ان IP رینجز اور معتمد IP سیٹنگز کی حمایت کرتا ہے
- TLS 1.2+ - تمام API مواصلات کم از کم TLS 1.2 کے ساتھ انکرپٹڈ
- فیلڈ لیول سیکیورٹی - فی پروفائل گرانولر فیلڈ رسائی کنٹرول
- سیشن مینجمنٹ - قابل تشکیل سیشن ٹائم آؤٹ اور ہم وقت سیشن حدود