HubSpot کنیکٹر
HubSpot کنیکٹر
دو طرفہ رابطہ سنک، ڈیل ٹریکنگ، مصروفیت ڈیٹا، اور دونوں پلیٹ فارمز پر متحدہ مارکیٹنگ آٹومیشن کے لیے Tajo کے ذریعے اپنے HubSpot CRM کو Brevo سے منسلک کریں۔
جائزہ
| خاصیت | قدر |
|---|---|
| پلیٹ فارم | HubSpot |
| زمرہ | CRM |
| سیٹ اپ کی پیچیدگی | درمیانی |
| آفیشل انٹیگریشن | ہاں |
| سنک شدہ ڈیٹا | رابطے، کمپنیاں، ڈیلز، ٹکٹس، ایونٹس |
| API بنیادی URL | https://api.hubapi.com |
خصوصیات
- دو طرفہ رابطہ سنک - HubSpot اور Brevo کے درمیان رابطوں کو ریئل ٹائم میں سنک رکھیں
- ڈیل پائپ لائن ٹریکنگ - آمدنی پر مبنی سیگمنٹیشن کے لیے ڈیل مراحل اور اقدار سنک کریں
- کمپنی ڈیٹا سنک - رابطوں کو کمپنی ریکارڈز اور firmographic ڈیٹا سے منسلک کریں
- ٹکٹ انٹیگریشن - گاہک کی صحت کی اسکورنگ کے لیے سپورٹ ٹکٹس ٹریک کریں
- مصروفیت ٹریکنگ - ای میل اوپن، کلکس، میٹنگز، کالز، اور نوٹس سنک کریں
- کسٹم آبجیکٹ سپورٹ - HubSpot کسٹم آبجیکٹس کو Brevo خصوصیات پر میپ کریں
- ورک فلو ٹرگرز - Brevo آٹومیشن ٹرگر کرنے کے لیے HubSpot لائف سائیکل مرحلے کی تبدیلیاں استعمال کریں
- Webhook ایونٹس - CRM ڈیٹا تبدیلیوں کے لیے ریئل ٹائم نوٹیفکیشنز
شرائط
شروع کرنے سے پہلے، یقینی بنائیں کہ آپ کے پاس ہے:
- HubSpot اکاؤنٹ (Free, Starter, Professional, یا Enterprise)
- مطلوبہ اسکوپس کے ساتھ HubSpot پرائیویٹ ایپ یا OAuth ایپ
- API رسائی کے ساتھ Brevo اکاؤنٹ
- Tajo اکاؤنٹ
تصدیق
پرائیویٹ ایپ ایکسیس ٹوکن (تجویز کردہ)
گرانولر اسکوپ کنٹرول کے ساتھ براہ راست API رسائی کے لیے HubSpot میں ایک پرائیویٹ ایپ بنائیں۔
- HubSpot Settings > Integrations > Private Apps پر جائیں
- ایک نئی پرائیویٹ ایپ بنائیں
- مطلوبہ اسکوپس ترتیب دیں
- ایکسیس ٹوکن کاپی کریں
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 استعمال کریں جن کے لیے صارف کی اجازت درکار ہوتی ہے۔
# Authorization URLhttps://app.hubspot.com/oauth/authorize?client_id={client_id}&scope=crm.objects.contacts.read&redirect_uri={redirect_uri}مطلوبہ اسکوپس
crm.objects.contacts.readcrm.objects.contacts.writecrm.objects.companies.readcrm.objects.deals.readcrm.objects.deals.writecrm.objects.custom.readcrm.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 | تفویض کردہ سیلز مالک 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: SEGMENTAPI اینڈ پوائنٹس
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 | کمپنی ڈیٹا اپ ڈیٹ | Firmographic سنک |
کوڈ کی مثالیں
کنیکٹر کو انیشیلائز کریں
import { TajoClient } from '@tajo/sdk';
const tajo = new TajoClient({ apiKey: process.env.TAJO_API_KEY, brevoApiKey: process.env.BREVO_API_KEY});
// Connect HubSpotawait tajo.connectors.connect('hubspot', { accessToken: process.env.HUBSPOT_ACCESS_TOKEN});رابطہ سنک چلائیں
// Full bidirectional syncawait tajo.connectors.sync('hubspot', { type: 'full', resources: ['contacts', 'companies', 'deals'], direction: 'bidirectional', since: '2023-01-01'});
// Check sync statusconst status = await tajo.connectors.status('hubspot');console.log(status);// {// connected: true,// lastSync: '2024-01-15T10:30:00Z',// contactsSynced: 34200,// companiesSynced: 5100,// dealsSynced: 2340// }Webhook ایونٹس کو سنبھالیں
// Handle HubSpot webhook notificationsapp.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 فی پرائیویٹ ایپ یا OAuth ایپ شرح کی حدود لاگو کرتا ہے:
| پلان | شرح کی حد | برسٹ حد |
|---|---|---|
| Free/Starter | 100 درخواستیں/10 سیکنڈ | 150 درخواستیں/10 سیکنڈ |
| Professional | 150 درخواستیں/10 سیکنڈ | 200 درخواستیں/10 سیکنڈ |
| Enterprise | 200 درخواستیں/10 سیکنڈ | 250 درخواستیں/10 سیکنڈ |
| API ایڈ آن | 200 درخواستیں/10 سیکنڈ | 250 درخواستیں/10 سیکنڈ |
اضافی حدود:
- سرچ API: 5 درخواستیں/سیکنڈ فی ایپ
- بیچ آپریشنز: 100 ریکارڈز فی بیچ درخواست
- روزانہ حد: 500,000 درخواستیں/دن (OAuth ایپس)
شرح کی حد ہینڈلنگ
حدود تجاوز ہونے پر HubSpot 429 Too Many Requests جواب دیتا ہے۔ Exponential backoff استعمال کریں اور X-HubSpot-RateLimit-* ہیڈرز کی نگرانی کریں۔
ٹربل شوٹنگ
عام مسائل
| مسئلہ | وجہ | حل |
|---|---|---|
| 401 Unauthorized | میعاد ختم یا غلط ٹوکن | پرائیویٹ ایپ ٹوکن دوبارہ بنائیں یا OAuth ٹوکن ریفریش کریں |
| رابطہ سنک نہیں ہوا | ای میل خصوصیت غائب | HubSpot رابطوں کو Brevo سنک کے لیے ای میل درکار ہے |
| ڈپلیکیٹ رابطے | کوئی ڈی ڈپلیکیشن قاعدہ نہیں | HubSpot میں مرج قواعد ترتیب دیں |
| Webhook موصول نہیں ہوا | سبسکرپشن فعال نہیں | Webhook سبسکرپشنز دوبارہ رجسٹر کریں |
| خصوصیت میپ نہیں ہوئی | کسٹم خصوصیت نہیں بنائی گئی | پہلے HubSpot میں خصوصیت بنائیں |
ڈیبگ موڈ
تفصیلی لاگنگ فعال کریں:
connectors: hubspot: debug: true log_level: verbose log_webhooks: trueکنکشن ٹیسٹ کریں
tajo connectors test hubspot# ✓ API connection successful# ✓ Contacts readable# ✓ Companies readable# ✓ Deals readable# ✓ Webhooks registeredبہترین طرز عمل
- API کیز کی بجائے پرائیویٹ ایپس استعمال کریں - API کیز متروک ہیں؛ بہتر سیکیورٹی کے لیے پرائیویٹ ایپس استعمال کریں
- دو طرفہ سنک کو احتیاط سے نافذ کریں - سنک سورس کو ٹریک کرکے لامتناہی لوپس سے بچیں
- لائف سائیکل مراحل میپ کریں - Brevo میں رابطوں کو سیگمنٹ کرنے کے لیے HubSpot لائف سائیکل مراحل استعمال کریں
- بیچ API درخواستیں - شرح کی حدود کے اندر رہنے کے لیے بلک آپریشنز کے لیے بیچ اینڈ پوائنٹس استعمال کریں
- Webhook ڈیلیوری کی نگرانی کریں - ری ٹرائی لاجک اور ڈیڈ لیٹر ہینڈلنگ ترتیب دیں
- انکریمنٹل سنک استعمال کریں - صرف تبدیل شدہ ریکارڈز کو
lastmodifieddateخصوصیت کا استعمال کرتے ہوئے سنک کریں
سیکیورٹی
- پرائیویٹ ایپ ٹوکنز - گرانولر اجازتوں کے ساتھ اسکوپڈ ایکسیس ٹوکنز
- OAuth 2.0 - ریفریش ٹوکن روٹیشن کے ساتھ صنعتی معیار کی اجازت
- Webhook دستخط - HMAC پر مبنی دستخط کی توثیق (v3)
- TLS انکرپشن - تمام API مواصلات ٹرانزٹ میں انکرپٹڈ
- اسکوپڈ اجازتیں - فی انٹیگریشن کم از کم مطلوبہ اسکوپ رسائی