HubSpot konnektor
HubSpot konnektor
Csatlakoztasd a HubSpot CRM-edet a Brevóhoz a Tajo segítségével kétirányú kapcsolat-szinkronizációhoz, üzletkövetéshez, elköteleződési adatokhoz és egységes marketingautomatizáláshoz mindkét platformon.
Áttekintés
| Tulajdonság | Érték |
|---|---|
| Platform | HubSpot |
| Kategória | CRM |
| Telepítés bonyolultsága | Közepes |
| Hivatalos integráció | Igen |
| Szinkronizált adatok | Kapcsolatok, Cégek, Üzletek, Jegyek, Események |
| API alap URL | https://api.hubapi.com |
Funkciók
- Kétirányú kapcsolat-szinkronizáció – Tartsd szinkronban a kapcsolatokat a HubSpot és a Brevo között valós időben
- Üzleti pipeline-követés – Szinkronizáld az üzleti fázisokat és értékeket bevétel alapú szegmentáláshoz
- Cégadatok szinkronizálása – Kapcsold össze a kapcsolatokat céges nyilvántartásokkal és firmográfiai adatokkal
- Jegyintegráció – Kövesd a support jegyeket az ügyfél egészségi pontszámához
- Elköteleződés-követés – Szinkronizáld az e-mail megnyitásokat, kattintásokat, találkozókat, hívásokat és megjegyzéseket
- Egyedi objektum-támogatás – Képezd le a HubSpot egyedi objektumokat Brevo attribútumokhoz
- Workflow-triggerek – Használd a HubSpot életciklus-fázis változásait Brevo automatizálások indításához
- Webhook-események – Valós idejű értesítések CRM-adatok változásairól
Előfeltételek
Mielőtt elkezdenéd, győződj meg róla, hogy rendelkezel:
- Egy HubSpot fiókkal (Ingyenes, Starter, Professional vagy Enterprise)
- Egy HubSpot privát alkalmazással vagy OAuth alkalmazással a szükséges hatókörökkel
- Egy Brevo fiókkal API-hozzáféréssel
- Egy Tajo fiókkal
Hitelesítés
Privát alkalmazás hozzáférési token (ajánlott)
Hozz létre privát alkalmazást a HubSpot-ban közvetlen API-hozzáféréshez részletes hatókör-vezérléssel.
- Menj a HubSpot Beállítások > Integrációk > Privát alkalmazások menüpontra
- Hozz létre egy új privát alkalmazást
- Konfiguráld a szükséges hatóköröket
- Másold ki a hozzáférési tokent
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
Használd az OAuth 2.0-t olyan multi-fiókos integrációkhoz, amelyek felhasználói engedélyezést igényelnek.
# Authorization URLhttps://app.hubspot.com/oauth/authorize?client_id={client_id}&scope=crm.objects.contacts.read&redirect_uri={redirect_uri}Szükséges hatókörök
crm.objects.contacts.readcrm.objects.contacts.writecrm.objects.companies.readcrm.objects.deals.readcrm.objects.deals.writecrm.objects.custom.readcrm.schemas.custom.readKonfiguráció
Alapbeállítás
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: 12Mezőleképezés
Képezd le a HubSpot tulajdonságokat Brevo kapcsolat-attribútumokhoz:
Alapértelmezett leképezések
| Parameter | Type | Description |
|---|---|---|
email required | string | Kapcsolat e-mail (elsődleges azonosító) |
firstname optional | string | Leképezve a FIRSTNAME attribútumra a Brevóban |
lastname optional | string | Leképezve a LASTNAME attribútumra a Brevóban |
phone optional | string | Leképezve az SMS attribútumra WhatsApphoz/SMS-hez |
company optional | string | Kapcsolódó cég neve |
lifecyclestage optional | string | HubSpot életciklus-fázis (subscriber, lead, MQL, SQL, customer) |
hs_lead_status optional | string | Lead minősítési státusz |
hubspot_owner_id optional | string | Hozzárendelt értékesítési tulajdonos azonosítója |
Egyedi tulajdonság-leképezés
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 végpontok
CRM objektumok
| Módszer | Végpont | Leírás |
|---|---|---|
GET | /crm/v3/objects/contacts | Kapcsolatok listázása |
POST | /crm/v3/objects/contacts | Kapcsolat létrehozása |
PATCH | /crm/v3/objects/contacts/{id} | Kapcsolat frissítése |
GET | /crm/v3/objects/companies | Cégek listázása |
GET | /crm/v3/objects/deals | Üzletek listázása |
POST | /crm/v3/objects/deals | Üzlet létrehozása |
GET | /crm/v3/objects/tickets | Jegyek listázása |
Kapcsolatok
| Módszer | Végpont | Leírás |
|---|---|---|
GET | /crm/v4/objects/{objectType}/{objectId}/associations/{toObjectType} | Kapcsolatok lekérése |
PUT | /crm/v4/objects/{objectType}/{objectId}/associations/{toObjectType}/{toObjectId} | Kapcsolat létrehozása |
Elköteleződések
| Módszer | Végpont | Leírás |
|---|---|---|
GET | /crm/v3/objects/calls | Hívás-elköteleződések listázása |
GET | /crm/v3/objects/emails | E-mail elköteleződések listázása |
GET | /crm/v3/objects/meetings | Találkozók listázása |
GET | /crm/v3/objects/notes | Megjegyzések listázása |
GET | /crm/v3/objects/tasks | Feladatok listázása |
Események
Kapcsolat-események
| Esemény | Kiváltó ok | Használati eset |
|---|---|---|
contact.creation | Új kapcsolat létrehozva | Üdvözlő folyam indítása |
contact.propertyChange | Kapcsolat tulajdonsága frissítve | Attribútum-szinkronizáció |
contact.merge | Kapcsolatok összevonva | Deduplikáció-kezelés |
contact.deletion | Kapcsolat törölve | Cleanup a Brevóban |
Üzlet-események
| Esemény | Kiváltó ok | Használati eset |
|---|---|---|
deal.creation | Új üzlet létrehozva | Értékesítési értesítés |
deal.propertyChange | Üzleti fázis megváltozott | Pipeline-automatizálás |
deal.deletion | Üzlet eltávolítva | Bevételi riporting |
Cég-események
| Esemény | Kiváltó ok | Használati eset |
|---|---|---|
company.creation | Új cég hozzáadva | Fiók alapú marketing |
company.propertyChange | Céges adatok frissítve | Firmográfiai szinkronizáció |
Kódpéldák
A konnektor inicializálása
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});Kapcsolat-szinkronizáció futtatása
// 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-események kezelése
// 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');});Ráta-korlátok
A HubSpot ráta-korlátokat alkalmaz privát alkalmazásonként vagy OAuth alkalmazásonként:
| Csomag | Ráta-korlát | Burst-korlát |
|---|---|---|
| Free/Starter | 100 kérés/10 másodperc | 150 kérés/10 másodperc |
| Professional | 150 kérés/10 másodperc | 200 kérés/10 másodperc |
| Enterprise | 200 kérés/10 másodperc | 250 kérés/10 másodperc |
| API kiegészítő | 200 kérés/10 másodperc | 250 kérés/10 másodperc |
További korlátok:
- Keresési API: 5 kérés/másodperc alkalmazásonként
- Kötegelt műveletek: 100 rekord kötegelt kérésenként
- Napi korlát: 500 000 kérés/nap (OAuth alkalmazások)
Ráta-korlát kezelése
A HubSpot 429 Too Many Requests választ ad vissza, ha túllépik a korlátokat. Használj exponenciális visszalépést és figyeld az X-HubSpot-RateLimit-* fejléceket.
Hibaelhárítás
Gyakori problémák
| Probléma | Ok | Megoldás |
|---|---|---|
| 401 Unauthorized | Lejárt vagy érvénytelen token | Generáld újra a privát alkalmazás tokenjét vagy frissítsd az OAuth tokent |
| Kapcsolat nem szinkronizálódott | Hiányzó e-mail tulajdonság | A HubSpot kapcsolatok e-mailt igényelnek a Brevo szinkronizáláshoz |
| Duplikált kapcsolatok | Nincs deduplikációs szabály | Konfiguráld az összevonási szabályokat a HubSpot-ban |
| Webhook nem érkezett | Előfizetés nem aktív | Regisztráld újra a webhook-előfizetéseket |
| Tulajdonság nem lett leképezve | Egyedi tulajdonság nincs létrehozva | Először hozd létre a tulajdonságot a HubSpot-ban |
Hibakeresési mód
Engedélyezd a részletes naplózást:
connectors: hubspot: debug: true log_level: verbose log_webhooks: trueKapcsolat tesztelése
tajo connectors test hubspot# ✓ API connection successful# ✓ Contacts readable# ✓ Companies readable# ✓ Deals readable# ✓ Webhooks registeredLegjobb gyakorlatok
- Használj privát alkalmazásokat API kulcsok helyett – Az API kulcsok elavultak; privát alkalmazásokat használj jobb biztonságért
- Gondosan implementáld a kétirányú szinkronizációt – Kerüld a végtelen ciklusokat a szinkronizáció forrásának követésével
- Képezd le az életciklus-fázisokat – Használd a HubSpot életciklus-fázisokat a kapcsolatok szegmentálásához a Brevóban
- Kötegeld az API kéréseket – Használj kötegelt végpontokat tömeges műveletekhez a ráta-korlátokon belül maradva
- Figyeld a webhook-kézbesítést – Állíts be újrapróbálkozási logikát és halott levél-kezelést
- Használj növekményes szinkronizációt – Csak a megváltozott rekordokat szinkronizáld a
lastmodifieddatetulajdonság segítségével
Biztonság
- Privát alkalmazás tokenek – Hatókörrel korlátozott hozzáférési tokenek részletes engedélyekkel
- OAuth 2.0 – Iparági szabvány szerinti engedélyezés refresh token rotációval
- Webhook aláírások – HMAC alapú aláírás-ellenőrzés (v3)
- TLS titkosítás – Minden API kommunikáció titkosítva az átvitel során
- Hatókörrel korlátozott engedélyek – Minimálisan szükséges hatókör-hozzáférés integrációnként