HubSpot Konektor

HubSpot Konektor

Povežite svoj HubSpot CRM s Brevom putem Taja za dvosmjernu sinkronizaciju kontakata, praćenje poslova, angažmanske podatke i unificiranu marketinšku automatizaciju na obje platforme.

Pregled

SvojstvoVrijednost
PlatformaHubSpot
KategorijaCRM
Složenost postavljanjaSrednje
Službena integracijaDa
Sinkronizirani podaciKontakti, Tvrtke, Poslovi, Tiketi, Događaji
Osnovni URL API-jahttps://api.hubapi.com

Značajke

  • Dvosmjerna sinkronizacija kontakata - Zadržite kontakte sinkroniziranim između HubSpota i Breva u stvarnom vremenu
  • Praćenje prodajnog cjevovoda - Sinkronizirajte faze i vrijednosti poslova za segmentaciju temeljenu na prihodima
  • Sinkronizacija podataka o tvrtkama - Povežite kontakte s evidencijama tvrtki i firmografskim podacima
  • Integracija tiketa - Pratite tikete za podršku radi ocjenjivanja zdravlja korisnika
  • Praćenje angažmana - Sinkronizirajte otvaranja e-pošte, klikove, sastanke, pozive i bilješke
  • Podrška za prilagođene objekte - Mapirajte prilagođene HubSpot objekte na atribute Breva
  • Okidači tijekova rada - Koristite promjene životnog ciklusa u HubSpotu za pokretanje automatizacija u Brevu
  • Webhook događaji - Obavijesti u stvarnom vremenu o promjenama CRM podataka

Preduvjeti

Prije nego što počnete, osigurajte da imate:

  1. HubSpot račun (Besplatni, Starter, Professional ili Enterprise)
  2. HubSpot privatnu aplikaciju ili OAuth aplikaciju s potrebnim opsezima
  3. Brevo račun s API pristupom
  4. Tajo račun

Autentifikacija

Token za pristup privatnoj aplikaciji (Preporučeno)

Stvorite privatnu aplikaciju u HubSpotu za izravan API pristup s granularnom kontrolom opsega.

  1. Idite na HubSpot Postavke > Integracije > Privatne aplikacije
  2. Stvorite novu privatnu aplikaciju
  3. Konfigurirajte potrebne opsege
  4. Kopirajte token za pristup
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

Koristite OAuth 2.0 za integracije s više računa koje zahtijevaju korisničku autorizaciju.

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

Potrebni opsezi

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 konfiguracija

connectors:
hubspot:
enabled: true
access_token: "${HUBSPOT_ACCESS_TOKEN}"
# Opcije sinkronizacije podataka
sync:
contacts: true
companies: true
deals: true
tickets: true
engagements: true
# Smjer sinkronizacije
direction: bidirectional # ili 'hubspot_to_brevo' | 'brevo_to_hubspot'
# Dodjela popisa u Brevu
lists:
all_contacts: 10
qualified_leads: 11
customers: 12

Mapiranje polja

Mapirajte HubSpot svojstva na atribute kontakata u Brevu:

Zadana mapiranja

Parameter Type Description
email required
string

E-mail kontakta (primarni identifikator)

firstname optional
string

Mapira se na atribut FIRSTNAME u Brevu

lastname optional
string

Mapira se na atribut LASTNAME u Brevu

phone optional
string

Mapira se na atribut SMS za WhatsApp/SMS

company optional
string

Naziv povezane tvrtke

lifecyclestage optional
string

Faza životnog ciklusa u HubSpotu (pretplatnik, lead, MQL, SQL, klijent)

hs_lead_status optional
string

Status kvalifikacije leada

hubspot_owner_id optional
string

ID dodijeljenog prodajnog vlasnika

Mapiranje prilagođenih svojstava

field_mapping:
# Standardna polja
email: email
firstname: FIRSTNAME
lastname: LASTNAME
phone: SMS
# CRM polja
lifecyclestage: LIFECYCLE_STAGE
hs_lead_status: LEAD_STATUS
company: COMPANY_NAME
# Metrike poslova
hs_total_deal_value: DEAL_VALUE
num_associated_deals: DEAL_COUNT
# Prilagođena svojstva
preferred_channel: PREFERRED_CHANNEL
customer_segment: SEGMENT

API krajnje točke

CRM objekti

MetodaKrajnja točkaOpis
GET/crm/v3/objects/contactsPopis kontakata
POST/crm/v3/objects/contactsStvaranje kontakta
PATCH/crm/v3/objects/contacts/{id}Ažuriranje kontakta
GET/crm/v3/objects/companiesPopis tvrtki
GET/crm/v3/objects/dealsPopis poslova
POST/crm/v3/objects/dealsStvaranje posla
GET/crm/v3/objects/ticketsPopis tiketa

Asocijacije

MetodaKrajnja točkaOpis
GET/crm/v4/objects/{objectType}/{objectId}/associations/{toObjectType}Dohvaćanje asocijacija
PUT/crm/v4/objects/{objectType}/{objectId}/associations/{toObjectType}/{toObjectId}Stvaranje asocijacije

Angažmani

MetodaKrajnja točkaOpis
GET/crm/v3/objects/callsPopis poziva
GET/crm/v3/objects/emailsPopis e-mailova
GET/crm/v3/objects/meetingsPopis sastanaka
GET/crm/v3/objects/notesPopis bilješki
GET/crm/v3/objects/tasksPopis zadataka

Događaji

Događaji kontakata

DogađajOkidačSlučaj upotrebe
contact.creationStvoren novi kontaktPokretanje toka dobrodošlice
contact.propertyChangeAžurirano svojstvo kontaktaSinkronizacija atributa
contact.mergeKontakti spojeniRukovanje deduplikacijom
contact.deletionKontakt obrisanČišćenje u Brevu

Događaji poslova

DogađajOkidačSlučaj upotrebe
deal.creationStvoren novi posaoObavijest prodaji
deal.propertyChangePromijenjena faza poslaAutomatizacija cjevovoda
deal.deletionPosao uklonjenIzvješćivanje o prihodima

Događaji tvrtki

DogađajOkidačSlučaj upotrebe
company.creationDodana nova tvrtkaMarketing temeljen na računima
company.propertyChangeAžurirani podaci tvrtkeSinkronizacija firmografskih podataka

Primjeri koda

Inicijalizacija konektora

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

Pokretanje sinkronizacije kontakata

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

Rukovanje Webhook događajima

// Rukovanje webhook obavijestima HubSpota
app.post('/webhooks/hubspot', async (req, res) => {
const signature = req.get('X-HubSpot-Signature-v3');
// Verifikacija webhook potpisa
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');
});

Ograničenja brzine

HubSpot primjenjuje ograničenja brzine po privatnoj ili OAuth aplikaciji:

PlanOgraničenje brzineOgraničenje naglih skokova
Besplatni/Starter100 zahtjeva/10 sekundi150 zahtjeva/10 sekundi
Professional150 zahtjeva/10 sekundi200 zahtjeva/10 sekundi
Enterprise200 zahtjeva/10 sekundi250 zahtjeva/10 sekundi
API dodatak200 zahtjeva/10 sekundi250 zahtjeva/10 sekundi

Dodatna ograničenja:

  • Search API: 5 zahtjeva/sekundi po aplikaciji
  • Skupne operacije: 100 zapisa po skupnom zahtjevu
  • Dnevno ograničenje: 500.000 zahtjeva/dan (OAuth aplikacije)

Rukovanje ograničenjima brzine

HubSpot vraća odgovor 429 Too Many Requests kada su prekoračena ograničenja. Koristite eksponencijalni povratak i pratite zaglavlja X-HubSpot-RateLimit-*.

Rješavanje problema

Uobičajeni problemi

ProblemUzrokRješenje
401 UnauthorizedIstekao ili nevažeći tokenRegenerirajte token privatne aplikacije ili osvježite OAuth token
Kontakt nije sinkroniziranNedostaje svojstvo e-pošteHubSpot kontakti zahtijevaju e-mail za sinkronizaciju s Brevom
Duplikati kontakataNema pravila deduplikacijeKonfigurirajte pravila spajanja u HubSpotu
Webhook nije primljenPretplata nije aktivnaPonovo registrirajte webhook pretplate
Svojstvo nije mapiranoPrilagođeno svojstvo nije stvorenoPrvo stvorite svojstvo u HubSpotu

Način otklanjanja grešaka

Omogućite opširno zapisivanje:

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

Testiranje veze

Terminal window
tajo connectors test hubspot
# ✓ API veza uspješna
# ✓ Kontakti čitljivi
# ✓ Tvrtke čitljive
# ✓ Poslovi čitljivi
# ✓ Webhooks registrirani

Preporučene prakse

  1. Koristite privatne aplikacije umjesto API ključeva - API ključevi su zastarjeli; koristite privatne aplikacije za bolju sigurnost
  2. Pažljivo implementirajte dvosmjernu sinkronizaciju - Izbjegavajte beskonačne petlje praćenjem izvora sinkronizacije
  3. Mapirajte faze životnog ciklusa - Koristite faze životnog ciklusa HubSpota za segmentaciju kontakata u Brevu
  4. Skupni API zahtjevi - Koristite skupne krajnje točke za masovne operacije kako biste ostali u granicama
  5. Pratite isporuku webhookova - Postavite logiku ponovnog pokušaja i rukovanje mrtvim pismima
  6. Koristite inkrementalnu sinkronizaciju - Sinkronizirajte samo promijenjene zapise koristeći svojstvo lastmodifieddate

Sigurnost

  • Tokeni privatnih aplikacija - Opsežni tokeni za pristup s granularnim dozvolama
  • OAuth 2.0 - Industrijski standardna autorizacija s rotacijom tokena za osvježavanje
  • Webhook potpisi - Verifikacija potpisa temeljena na HMAC-u (v3)
  • TLS enkripcija - Sva API komunikacija šifrirana u tranzitu
  • Opsežne dozvole - Minimalni potrebni pristup opsegu po integraciji

Povezani resursi

Subscribe to updates

developer-docs

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

AI asistent

Bok! Pitajte me o dokumentaciji.

Započnite besplatno s Brevo