HubSpot Connector

HubSpot Connector

Poveži svoj HubSpot CRM z Brevo prek Tajo za dvosmerno sinhronizacijo stikov, sledenje poslom, podatke o angažiranosti in enotno marketinško avtomatizacijo na obeh platformah.

Pregled

LastnostVrednost
PlatformaHubSpot
KategorijaCRM
Zahtevnost nastavitveSrednja
Uradna integracijaDa
Sinhronizirani podatkiStiki, podjetja, posli, zahtevki, dogodki
Osnovni URL APIhttps://api.hubapi.com

Funkcionalnosti

  • Dvosmerna sinhronizacija stikov – stiki so sinhronizirani med HubSpot in Brevo v realnem času
  • Sledenje prodajnim fazam – sinhronizacija faz poslov in vrednosti za segmentacijo na podlagi prihodkov
  • Sinhronizacija podatkov o podjetjih – poveži stike z zapisi podjetij in firmografskimi podatki
  • Integracija zahtevkov – sledi zahtevkom za podporo za ocenjevanje zdravja strank
  • Sledenje angažiranosti – sinhronizacija odpiranj e-mailov, klikov, sestankov, klicev in opomb
  • Podpora za objekte po meri – preslikaj objekte po meri HubSpot v atribute Brevo
  • Sprožilci delovnih tokov – uporabi spremembe faze življenjskega cikla HubSpot za sprožanje avtomatizacij Brevo
  • Webhook dogodki – obvestila v realnem času ob spremembah podatkov v CRM

Predpogoji

Preden začneš, se prepričaj, da imaš:

  1. Račun HubSpot (Free, Starter, Professional ali Enterprise)
  2. Zasebno ali OAuth aplikacijo HubSpot z zahtevanimi obsegi
  3. Brevo račun z dostopom do API
  4. Tajo račun

Avtentikacija

Žeton za dostop zasebne aplikacije (priporočeno)

Ustvari zasebno aplikacijo v HubSpot za neposreden dostop do API z natančnim nadzorom obsegov.

  1. Pojdi na HubSpot Settings > Integrations > Private Apps
  2. Ustvari novo zasebno aplikacijo
  3. Nastavi zahtevane obsege
  4. Kopiraj žeton za dostop
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

Uporabi OAuth 2.0 za integracije z več računi, ki zahtevajo pooblastilo uporabnika.

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

Zahtevani obsegi

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

Konfiguracija

Osnovna nastavitev

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

Preslikava polj

Preslikaj lastnosti HubSpot v atribute stikov Brevo:

Privzete preslikave

Parameter Type Description
email required
string

E-mail stika (primarni identifikator)

firstname optional
string

Preslika se v atribut FIRSTNAME v Brevo

lastname optional
string

Preslika se v atribut LASTNAME v Brevo

phone optional
string

Preslika se v atribut SMS za WhatsApp/SMS

company optional
string

Ime povezanega podjetja

lifecyclestage optional
string

Faza življenjskega cikla HubSpot (subscriber, lead, MQL, SQL, customer)

hs_lead_status optional
string

Status kvalifikacije potencialnega kupca

hubspot_owner_id optional
string

ID dodeljenega lastnika prodaje

Preslikava lastnosti po meri

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

Končne točke API

CRM objekti

MetodaKončna točkaOpis
GET/crm/v3/objects/contactsSeznam stikov
POST/crm/v3/objects/contactsUstvari stik
PATCH/crm/v3/objects/contacts/{id}Posodobi stik
GET/crm/v3/objects/companiesSeznam podjetij
GET/crm/v3/objects/dealsSeznam poslov
POST/crm/v3/objects/dealsUstvari posel
GET/crm/v3/objects/ticketsSeznam zahtevkov

Asociacije

MetodaKončna točkaOpis
GET/crm/v4/objects/{objectType}/{objectId}/associations/{toObjectType}Pridobi asociacije
PUT/crm/v4/objects/{objectType}/{objectId}/associations/{toObjectType}/{toObjectId}Ustvari asociacijo

Angažiranosti

MetodaKončna točkaOpis
GET/crm/v3/objects/callsSeznam klicev
GET/crm/v3/objects/emailsSeznam e-mail angažiranosti
GET/crm/v3/objects/meetingsSeznam sestankov
GET/crm/v3/objects/notesSeznam opomb
GET/crm/v3/objects/tasksSeznam nalog

Dogodki

Dogodki stikov

DogodekSprožilecPrimer uporabe
contact.creationUstvarjen nov stikSprožilec pozdravnega toka
contact.propertyChangePosodobljena lastnost stikaSinhronizacija atributov
contact.mergeStiki združeniObravnava deduplikacije
contact.deletionStik izbrisanČiščenje v Brevo

Dogodki poslov

DogodekSprožilecPrimer uporabe
deal.creationUstvarjen nov poselObvestilo prodaji
deal.propertyChangeSpremenjena faza poslaAvtomatizacija prodajnega lijaka
deal.deletionPosel odstranjenPoročanje o prihodkih

Dogodki podjetij

DogodekSprožilecPrimer uporabe
company.creationDodano novo podjetjeMarketing na podlagi računov
company.propertyChangePosodobljeni podatki podjetjaSinhronizacija firmografije

Primeri kode

Inicializacija konektorja

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

Zagon sinhronizacije stikov

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

Obravnava webhook dogodkov

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

Omejitve hitrosti

HubSpot uveljavi omejitve hitrosti glede na zasebno ali OAuth aplikacijo:

PaketOmejitev hitrostiOmejitev za sunke
Free/Starter100 zahtevkov/10 sekund150 zahtevkov/10 sekund
Professional150 zahtevkov/10 sekund200 zahtevkov/10 sekund
Enterprise200 zahtevkov/10 sekund250 zahtevkov/10 sekund
API dodatek200 zahtevkov/10 sekund250 zahtevkov/10 sekund

Dodatne omejitve:

  • Search API: 5 zahtevkov/sekundo na aplikacijo
  • Paketne operacije: 100 zapisov na paketni zahtevek
  • Dnevna omejitev: 500.000 zahtevkov/dan (OAuth aplikacije)

Ravnanje z omejitvami hitrosti

HubSpot vrne odgovor 429 Too Many Requests, ko so omejitve prekoračene. Uporabi eksponentni odlog in spremljaj glave X-HubSpot-RateLimit-*.

Odpravljanje težav

Pogoste težave

TežavaVzrokRešitev
401 UnauthorizedPotekel ali neveljaven žetonObnovi žeton zasebne aplikacije ali osveži OAuth žeton
Stik ni sinhroniziranManjka lastnost e-mailHubSpot stiki zahtevajo e-mail za sinhronizacijo z Brevo
Podvojeni stikiBrez pravila deduplikacijeNastavi pravila združevanja v HubSpot
Webhook ni prejetNaročnina ni aktivnaZnova registriraj naročnine na webhooks
Lastnost ni preslikanaLastnost po meri ni ustvarjenaNajprej ustvari lastnost v HubSpot

Način odpravljanja napak

Omogoči podrobno beleženje:

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

Preizkus povezave

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

Najboljše prakse

  1. Uporabi zasebne aplikacije namesto API ključev – API ključi so zastareli; za boljšo varnost uporabi zasebne aplikacije
  2. Previdno implementiraj dvostransko sinhronizacijo – prepreči neskončne zanke s sledenjem viru sinhronizacije
  3. Preslikaj faze življenjskega cikla – z njimi segmentiraj stike v Brevo
  4. Paketni API zahtevki – za množične operacije uporabi paketne končne točke
  5. Spremljaj dostavo webhookov – nastavi logiko ponovnih poskusov in obravnavo napak
  6. Uporabi postopno sinhronizacijo – sinhronizacija samo spremenjenih zapisov z lastnostjo lastmodifieddate

Varnost

  • Žetoni zasebnih aplikacij – žetoni z omejenim dostopom in natančnimi dovoljenji
  • OAuth 2.0 – industrijski standard za avtorizacijo z rotacijo žetona za osvežitev
  • Podpisi webhookov – preverjanje podpisa na osnovi HMAC (v3)
  • TLS šifriranje – vsa komunikacija API je šifrirana med prenosom
  • Obsegana dovoljenja – minimalen zahtevan dostop do obsegov na integracijo

Povezani viri

Subscribe to updates

developer-docs

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

AI pomočnik

Živjo! Vprašajte me o dokumentaciji.

Začnite brezplačno z Brevo