Konektor HubSpot
Konektor HubSpot
Propojte svůj HubSpot CRM s Brevo přes Tajo pro obousměrnou synchronizaci kontaktů, sledování obchodů, data o zapojení a jednotnou marketingovou automatizaci na obou platformách.
Přehled
| Vlastnost | Hodnota |
|---|---|
| Platforma | HubSpot |
| Kategorie | CRM |
| Složitost nastavení | Střední |
| Oficiální integrace | Ano |
| Synchronizovaná data | Kontakty, Společnosti, Obchody, Tikety, Události |
| Základní URL API | https://api.hubapi.com |
Funkce
- Obousměrná synchronizace kontaktů – Udržujte kontakty synchronizované mezi HubSpotem a Brevo v reálném čase
- Sledování obchodního procesu – Synchronizujte fáze a hodnoty obchodů pro segmentaci na základě výnosů
- Synchronizace firemních dat – Přiřazujte kontakty k firemním záznamům a firmografickým datům
- Integrace tiketů – Sledujte podporové tikety pro hodnocení zdraví zákazníka
- Sledování zapojení – Synchronizujte otevření e-mailů, kliknutí, schůzky, hovory a poznámky
- Podpora vlastních objektů – Mapujte vlastní objekty HubSpotu na atributy Brevo
- Spouštěče pracovních postupů – Použijte změny životního cyklu v HubSpotu ke spuštění automatizací Brevo
- Webhookové události – Oznámení v reálném čase o změnách dat CRM
Předpoklady
Než začnete, ujistěte se, že máte:
- Účet HubSpot (Free, Starter, Professional nebo Enterprise)
- Privátní aplikaci nebo OAuth aplikaci HubSpot s požadovanými oprávněními
- Účet Brevo s přístupem k API
- Účet Tajo
Ověření
Přístupový token privátní aplikace (doporučeno)
Vytvořte privátní aplikaci v HubSpotu pro přímý přístup k API s podrobným řízením oprávnění.
- Přejděte do HubSpot Nastavení > Integrace > Privátní aplikace
- Vytvořte novou privátní aplikaci
- Nakonfigurujte požadované oprávnění
- Zkopírujte přístupový token
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
Použijte OAuth 2.0 pro integrace s více účty, které vyžadují autorizaci uživatele.
# Autorizační URLhttps://app.hubspot.com/oauth/authorize?client_id={client_id}&scope=crm.objects.contacts.read&redirect_uri={redirect_uri}Požadovaná oprávnění
crm.objects.contacts.readcrm.objects.contacts.writecrm.objects.companies.readcrm.objects.deals.readcrm.objects.deals.writecrm.objects.custom.readcrm.schemas.custom.readKonfigurace
Základní nastavení
connectors: hubspot: enabled: true access_token: "${HUBSPOT_ACCESS_TOKEN}"
# Možnosti synchronizace dat sync: contacts: true companies: true deals: true tickets: true engagements: true
# Směr synchronizace direction: bidirectional # nebo 'hubspot_to_brevo' | 'brevo_to_hubspot'
# Přiřazení seznamů v Brevo lists: all_contacts: 10 qualified_leads: 11 customers: 12Mapování polí
Mapujte vlastnosti HubSpotu na atributy kontaktů Brevo:
Výchozí mapování
| Parameter | Type | Description |
|---|---|---|
email required | string | E-mail kontaktu (primární identifikátor) |
firstname optional | string | Mapuje se na atribut FIRSTNAME v Brevo |
lastname optional | string | Mapuje se na atribut LASTNAME v Brevo |
phone optional | string | Mapuje se na atribut SMS pro WhatsApp/SMS |
company optional | string | Název přidružené společnosti |
lifecyclestage optional | string | Fáze životního cyklu HubSpotu (odběratel, lead, MQL, SQL, zákazník) |
hs_lead_status optional | string | Stav kvalifikace leadu |
hubspot_owner_id optional | string | ID přiřazeného obchodního vlastníka |
Mapování vlastních vlastností
field_mapping: # Standardní pole email: email firstname: FIRSTNAME lastname: LASTNAME phone: SMS
# Pole CRM lifecyclestage: LIFECYCLE_STAGE hs_lead_status: LEAD_STATUS company: COMPANY_NAME
# Metriky obchodů hs_total_deal_value: DEAL_VALUE num_associated_deals: DEAL_COUNT
# Vlastní vlastnosti preferred_channel: PREFERRED_CHANNEL customer_segment: SEGMENTKoncové body API
Objekty CRM
| Metoda | Koncový bod | Popis |
|---|---|---|
GET | /crm/v3/objects/contacts | Výpis kontaktů |
POST | /crm/v3/objects/contacts | Vytvoření kontaktu |
PATCH | /crm/v3/objects/contacts/{id} | Aktualizace kontaktu |
GET | /crm/v3/objects/companies | Výpis společností |
GET | /crm/v3/objects/deals | Výpis obchodů |
POST | /crm/v3/objects/deals | Vytvoření obchodu |
GET | /crm/v3/objects/tickets | Výpis tiketů |
Asociace
| Metoda | Koncový bod | Popis |
|---|---|---|
GET | /crm/v4/objects/{objectType}/{objectId}/associations/{toObjectType} | Získání asociací |
PUT | /crm/v4/objects/{objectType}/{objectId}/associations/{toObjectType}/{toObjectId} | Vytvoření asociace |
Zapojení
| Metoda | Koncový bod | Popis |
|---|---|---|
GET | /crm/v3/objects/calls | Výpis hovorů |
GET | /crm/v3/objects/emails | Výpis e-mailů |
GET | /crm/v3/objects/meetings | Výpis schůzek |
GET | /crm/v3/objects/notes | Výpis poznámek |
GET | /crm/v3/objects/tasks | Výpis úkolů |
Události
Události kontaktů
| Událost | Spouštěč | Případ použití |
|---|---|---|
contact.creation | Vytvořen nový kontakt | Spuštění uvítacího toku |
contact.propertyChange | Aktualizována vlastnost kontaktu | Synchronizace atributů |
contact.merge | Kontakty sloučeny | Zpracování deduplikace |
contact.deletion | Kontakt smazán | Úklid v Brevo |
Události obchodů
| Událost | Spouštěč | Případ použití |
|---|---|---|
deal.creation | Vytvořen nový obchod | Prodejní oznámení |
deal.propertyChange | Změněna fáze obchodu | Automatizace pipeline |
deal.deletion | Obchod odstraněn | Reporting výnosů |
Události společností
| Událost | Spouštěč | Případ použití |
|---|---|---|
company.creation | Přidána nová společnost | Marketing na základě účtu |
company.propertyChange | Aktualizována data společnosti | Synchronizace firmografických dat |
Příklady kódu
Inicializace konektoru
import { TajoClient } from '@tajo/sdk';
const tajo = new TajoClient({ apiKey: process.env.TAJO_API_KEY, brevoApiKey: process.env.BREVO_API_KEY});
// Připojení HubSpotuawait tajo.connectors.connect('hubspot', { accessToken: process.env.HUBSPOT_ACCESS_TOKEN});Spuštění synchronizace kontaktů
// Plná obousměrná synchronizaceawait tajo.connectors.sync('hubspot', { type: 'full', resources: ['contacts', 'companies', 'deals'], direction: 'bidirectional', since: '2023-01-01'});
// Kontrola stavu synchronizaceconst status = await tajo.connectors.status('hubspot');console.log(status);// {// connected: true,// lastSync: '2024-01-15T10:30:00Z',// contactsSynced: 34200,// companiesSynced: 5100,// dealsSynced: 2340// }Zpracování webhookových událostí
// Zpracování webhookových oznámení HubSpotuapp.post('/webhooks/hubspot', async (req, res) => { const signature = req.get('X-HubSpot-Signature-v3');
// Ověření podpisu webhooku 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');});Omezení rychlosti
HubSpot aplikuje omezení rychlosti na privátní nebo OAuth aplikace:
| Plán | Omezení rychlosti | Burstové omezení |
|---|---|---|
| Free/Starter | 100 požadavků/10 sekund | 150 požadavků/10 sekund |
| Professional | 150 požadavků/10 sekund | 200 požadavků/10 sekund |
| Enterprise | 200 požadavků/10 sekund | 250 požadavků/10 sekund |
| Doplněk API | 200 požadavků/10 sekund | 250 požadavků/10 sekund |
Další omezení:
- Search API: 5 požadavků/sekundu na aplikaci
- Dávkové operace: 100 záznamů na dávkový požadavek
- Denní limit: 500 000 požadavků/den (OAuth aplikace)
Zpracování omezení rychlosti
HubSpot vrací odpověď 429 Too Many Requests, když jsou překročeny limity. Použijte exponenciální zpětné odběrání a sledujte hlavičky X-HubSpot-RateLimit-*.
Řešení problémů
Časté problémy
| Problém | Příčina | Řešení |
|---|---|---|
| 401 Unauthorized | Expirovaný nebo neplatný token | Obnovte token privátní aplikace nebo aktualizujte OAuth token |
| Kontakt nesynchronizován | Chybějící vlastnost e-mailu | Kontakty HubSpotu vyžadují e-mail pro synchronizaci s Brevo |
| Duplicitní kontakty | Žádné pravidlo deduplikace | Nakonfigurujte pravidla sloučení v HubSpotu |
| Webhook nepřijat | Předplatné není aktivní | Znovu zaregistrujte webhookové předplatné |
| Vlastnost není mapována | Vlastní vlastnost nevytvořena | Nejprve vytvořte vlastnost v HubSpotu |
Režim ladění
Povolte podrobné protokolování:
connectors: hubspot: debug: true log_level: verbose log_webhooks: trueTest připojení
tajo connectors test hubspot# ✓ Připojení API úspěšné# ✓ Kontakty čitelné# ✓ Společnosti čitelné# ✓ Obchody čitelné# ✓ Webhooky zaregistroványOsvědčené postupy
- Používejte privátní aplikace místo API klíčů – API klíče jsou zastaralé; používejte privátní aplikace pro lepší zabezpečení
- Implementujte obousměrnou synchronizaci opatrně – Vyhněte se nekonečným smyčkám sledováním zdroje synchronizace
- Mapujte fáze životního cyklu – Použijte fáze životního cyklu HubSpotu k segmentaci kontaktů v Brevo
- Dávkujte API požadavky – Používejte dávkové koncové body pro hromadné operace v rámci limitů rychlosti
- Sledujte doručení webhooků – Nastavte logiku opakování a zpracování nedoručených zpráv
- Používejte přírůstkovou synchronizaci – Synchronizujte pouze změněné záznamy pomocí vlastnosti
lastmodifieddate
Zabezpečení
- Tokeny privátních aplikací – Oprávněné přístupové tokeny s podrobnými oprávněními
- OAuth 2.0 – Průmyslově standardní autorizace s rotací obnovovacích tokenů
- Podpisy webhooků – Ověření podpisu na základě HMAC (v3)
- Šifrování TLS – Veškerá komunikace API šifrována při přenosu
- Oprávnění s omezeným rozsahem – Minimální požadovaný přístup k oprávněním na integraci