HubSpot कनेक्टर

HubSpot कनेक्टर

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

अवलोकन

गुणमान
प्लेटफ़ॉर्मHubSpot
श्रेणीCRM
सेटअप जटिलतामध्यम
आधिकारिक इंटीग्रेशनहां
सिंक किया गया डेटाकॉन्टैक्ट्स, कंपनियां, डील्स, टिकट्स, इवेंट्स
API Base URLhttps://api.hubapi.com

विशेषताएं

  • द्विदिशीय कॉन्टैक्ट सिंक - HubSpot और Brevo के बीच कॉन्टैक्ट्स को रीयल-टाइम में सिंक रखें
  • डील पाइपलाइन ट्रैकिंग - राजस्व-आधारित सेगमेंटेशन के लिए डील स्टेज और मान सिंक करें
  • कंपनी डेटा सिंक - कॉन्टैक्ट्स को कंपनी रिकॉर्ड्स और फर्मोग्राफिक डेटा से जोड़ें
  • टिकट इंटीग्रेशन - ग्राहक स्वास्थ्य स्कोरिंग के लिए सपोर्ट टिकट ट्रैक करें
  • एंगेजमेंट ट्रैकिंग - ईमेल ओपन, क्लिक, मीटिंग्स, कॉल्स, और नोट्स सिंक करें
  • कस्टम ऑब्जेक्ट समर्थन - HubSpot कस्टम ऑब्जेक्ट्स को Brevo एट्रिब्यूट्स में मैप करें
  • वर्कफ़्लो ट्रिगर्स - Brevo ऑटोमेशन ट्रिगर करने के लिए HubSpot लाइफसाइकल स्टेज परिवर्तनों का उपयोग करें
  • वेबहुक इवेंट्स - CRM डेटा परिवर्तनों के लिए रीयल-टाइम सूचनाएं

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

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

  1. एक HubSpot खाता (Free, Starter, Professional, या Enterprise)
  2. आवश्यक स्कोप्स के साथ एक HubSpot private app या OAuth app
  3. API एक्सेस वाला एक Brevo खाता
  4. एक Tajo खाता

प्रमाणीकरण

Private App Access Token (अनुशंसित)

ग्रैन्युलर स्कोप नियंत्रण के साथ सीधे API एक्सेस के लिए HubSpot में एक private app बनाएं।

  1. HubSpot Settings > Integrations > Private Apps पर जाएं
  2. एक नया private app बनाएं
  3. आवश्यक स्कोप्स कॉन्फ़िगर करें
  4. access token कॉपी करें
Terminal window
curl -X GET "https://api.hubapi.com/crm/v3/objects/contacts" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json"

OAuth 2.0

उपयोगकर्ता प्राधिकरण की आवश्यकता वाले मल्टी-अकाउंट इंटीग्रेशन के लिए OAuth 2.0 का उपयोग करें।

Terminal window
# Authorization URL
https://app.hubspot.com/oauth/authorize?client_id={client_id}&scope=crm.objects.contacts.read&redirect_uri={redirect_uri}

आवश्यक स्कोप्स

crm.objects.contacts.read
crm.objects.contacts.write
crm.objects.companies.read
crm.objects.deals.read
crm.objects.deals.write
crm.objects.custom.read
crm.schemas.custom.read

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

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

connectors:
hubspot:
enabled: true
access_token: "${HUBSPOT_ACCESS_TOKEN}"
# Data sync options
sync:
contacts: true
companies: true
deals: true
tickets: true
engagements: true
# Sync direction
direction: bidirectional # or 'hubspot_to_brevo' | 'brevo_to_hubspot'
# List assignment in Brevo
lists:
all_contacts: 10
qualified_leads: 11
customers: 12

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

HubSpot प्रॉपर्टीज़ को Brevo कॉन्टैक्ट एट्रिब्यूट्स में मैप करें:

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

Parameter Type Description
email required
string

कॉन्टैक्ट ईमेल (प्राथमिक पहचानकर्ता)

firstname optional
string

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

lastname optional
string

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

phone optional
string

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

company optional
string

संबद्ध कंपनी का नाम

lifecyclestage optional
string

HubSpot लाइफसाइकल स्टेज (subscriber, lead, MQL, SQL, customer)

hs_lead_status optional
string

लीड योग्यता स्थिति

hubspot_owner_id optional
string

असाइन किया गया sales owner ID

कस्टम प्रॉपर्टी मैपिंग

field_mapping:
# Standard fields
email: email
firstname: FIRSTNAME
lastname: LASTNAME
phone: SMS
# CRM fields
lifecyclestage: LIFECYCLE_STAGE
hs_lead_status: LEAD_STATUS
company: COMPANY_NAME
# Deal metrics
hs_total_deal_value: DEAL_VALUE
num_associated_deals: DEAL_COUNT
# Custom properties
preferred_channel: PREFERRED_CHANNEL
customer_segment: SEGMENT

API एंडपॉइंट्स

CRM ऑब्जेक्ट्स

मेथडएंडपॉइंटविवरण
GET/crm/v3/objects/contactsकॉन्टैक्ट्स सूचीबद्ध करें
POST/crm/v3/objects/contactsएक कॉन्टैक्ट बनाएं
PATCH/crm/v3/objects/contacts/{id}एक कॉन्टैक्ट अपडेट करें
GET/crm/v3/objects/companiesकंपनियां सूचीबद्ध करें
GET/crm/v3/objects/dealsडील्स सूचीबद्ध करें
POST/crm/v3/objects/dealsएक डील बनाएं
GET/crm/v3/objects/ticketsटिकट्स सूचीबद्ध करें

एसोसिएशन्स

मेथडएंडपॉइंटविवरण
GET/crm/v4/objects/{objectType}/{objectId}/associations/{toObjectType}एसोसिएशन्स प्राप्त करें
PUT/crm/v4/objects/{objectType}/{objectId}/associations/{toObjectType}/{toObjectId}एसोसिएशन बनाएं

एंगेजमेंट्स

मेथडएंडपॉइंटविवरण
GET/crm/v3/objects/callsकॉल एंगेजमेंट्स सूचीबद्ध करें
GET/crm/v3/objects/emailsईमेल एंगेजमेंट्स सूचीबद्ध करें
GET/crm/v3/objects/meetingsमीटिंग्स सूचीबद्ध करें
GET/crm/v3/objects/notesनोट्स सूचीबद्ध करें
GET/crm/v3/objects/tasksटास्क्स सूचीबद्ध करें

इवेंट्स

कॉन्टैक्ट इवेंट्स

इवेंटट्रिगरउपयोग मामला
contact.creationनया कॉन्टैक्ट बनाया गयास्वागत फ़्लो ट्रिगर
contact.propertyChangeकॉन्टैक्ट प्रॉपर्टी अपडेटएट्रिब्यूट सिंक
contact.mergeकॉन्टैक्ट्स मर्ज हुएडुप्लिकेट हैंडलिंग
contact.deletionकॉन्टैक्ट हटाया गयाBrevo में क्लीनअप

डील इवेंट्स

इवेंटट्रिगरउपयोग मामला
deal.creationनई डील बनाई गईसेल्स सूचना
deal.propertyChangeडील स्टेज बदलापाइपलाइन ऑटोमेशन
deal.deletionडील हटाई गईराजस्व रिपोर्टिंग

कंपनी इवेंट्स

इवेंटट्रिगरउपयोग मामला
company.creationनई कंपनी जोड़ी गईअकाउंट-आधारित मार्केटिंग
company.propertyChangeकंपनी डेटा अपडेटफर्मोग्राफिक सिंक

कोड उदाहरण

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

import { TajoClient } from '@tajo/sdk';
const tajo = new TajoClient({
apiKey: process.env.TAJO_API_KEY,
brevoApiKey: process.env.BREVO_API_KEY
});
// Connect HubSpot
await tajo.connectors.connect('hubspot', {
accessToken: process.env.HUBSPOT_ACCESS_TOKEN
});

कॉन्टैक्ट सिंक चलाएं

// Full bidirectional sync
await tajo.connectors.sync('hubspot', {
type: 'full',
resources: ['contacts', 'companies', 'deals'],
direction: 'bidirectional',
since: '2023-01-01'
});
// Check sync status
const status = await tajo.connectors.status('hubspot');
console.log(status);
// {
// connected: true,
// lastSync: '2024-01-15T10:30:00Z',
// contactsSynced: 34200,
// companiesSynced: 5100,
// dealsSynced: 2340
// }

वेबहुक इवेंट्स हैंडल करें

// Handle HubSpot webhook notifications
app.post('/webhooks/hubspot', async (req, res) => {
const signature = req.get('X-HubSpot-Signature-v3');
// Verify webhook signature
if (!verifyHubSpotSignature(req.body, signature)) {
return res.status(401).send('Unauthorized');
}
for (const event of req.body) {
await tajo.connectors.handleWebhook('hubspot', {
eventType: event.subscriptionType,
objectId: event.objectId,
propertyName: event.propertyName,
propertyValue: event.propertyValue
});
}
res.status(200).send('OK');
});

दर सीमाएं

HubSpot private app या OAuth app के अनुसार दर सीमाएं लागू करता है:

प्लानदर सीमाबर्स्ट सीमा
Free/Starter100 अनुरोध/10 सेकंड150 अनुरोध/10 सेकंड
Professional150 अनुरोध/10 सेकंड200 अनुरोध/10 सेकंड
Enterprise200 अनुरोध/10 सेकंड250 अनुरोध/10 सेकंड
API add-on200 अनुरोध/10 सेकंड250 अनुरोध/10 सेकंड

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

  • Search API: 5 अनुरोध/सेकंड प्रति ऐप
  • बैच ऑपरेशन्स: प्रति बैच अनुरोध 100 रिकॉर्ड्स
  • दैनिक सीमा: 500,000 अनुरोध/दिन (OAuth ऐप्स)

दर सीमा हैंडलिंग

जब सीमाएं पार हो जाती हैं तो HubSpot 429 Too Many Requests प्रतिक्रिया देता है। एक्सपोनेंशियल बैकऑफ का उपयोग करें और X-HubSpot-RateLimit-* हेडर्स की निगरानी करें।

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

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

समस्याकारणसमाधान
401 Unauthorizedसमाप्त या अमान्य टोकनprivate app टोकन पुन: जनरेट करें या OAuth टोकन रीफ्रेश करें
कॉन्टैक्ट सिंक नहीं हुआईमेल प्रॉपर्टी गायबHubSpot कॉन्टैक्ट्स के लिए Brevo सिंक हेतु ईमेल आवश्यक है
डुप्लिकेट कॉन्टैक्ट्सकोई डिडुप्लीकेशन नियम नहींHubSpot में मर्ज नियम कॉन्फ़िगर करें
वेबहुक प्राप्त नहीं हुआसब्सक्रिप्शन सक्रिय नहींवेबहुक सब्सक्रिप्शन पुनः पंजीकृत करें
प्रॉपर्टी मैप नहीं हुईकस्टम प्रॉपर्टी नहीं बनाई गईपहले HubSpot में प्रॉपर्टी बनाएं

डीबग मोड

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

connectors:
hubspot:
debug: true
log_level: verbose
log_webhooks: true

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

Terminal window
tajo connectors test hubspot
# ✓ API connection successful
# ✓ Contacts readable
# ✓ Companies readable
# ✓ Deals readable
# ✓ Webhooks registered

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

  1. API keys के बजाय private apps का उपयोग करें - API keys अप्रचलित हैं; बेहतर सुरक्षा के लिए private apps का उपयोग करें
  2. द्विदिशीय सिंक सावधानी से लागू करें - सिंक स्रोत ट्रैक करके अनंत लूप से बचें
  3. लाइफसाइकल स्टेज मैप करें - Brevo में कॉन्टैक्ट्स को सेगमेंट करने के लिए HubSpot लाइफसाइकल स्टेज का उपयोग करें
  4. बैच API अनुरोध - दर सीमाओं के भीतर रहने के लिए बल्क ऑपरेशन्स के लिए बैच एंडपॉइंट्स का उपयोग करें
  5. वेबहुक डिलीवरी की निगरानी करें - रीट्राई लॉजिक और डेड लेटर हैंडलिंग सेट करें
  6. इंक्रीमेंटल सिंक का उपयोग करें - lastmodifieddate प्रॉपर्टी का उपयोग करके केवल बदले गए रिकॉर्ड्स सिंक करें

सुरक्षा

  • Private App Tokens - ग्रैन्युलर अनुमतियों के साथ स्कोप्ड एक्सेस टोकन
  • OAuth 2.0 - रीफ्रेश टोकन रोटेशन के साथ इंडस्ट्री-स्टैंडर्ड प्राधिकरण
  • वेबहुक सिग्नेचर - HMAC-आधारित सिग्नेचर सत्यापन (v3)
  • TLS एन्क्रिप्शन - ट्रांजिट में सभी API संचार एन्क्रिप्टेड
  • स्कोप्ड अनुमतियां - प्रति इंटीग्रेशन न्यूनतम आवश्यक स्कोप एक्सेस

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

Subscribe to updates

developer-docs

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

AI सहायक

नमस्ते! डॉक्यूमेंटेशन के बारे में कुछ भी पूछें।

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