---
title: "Conector HubSpot"
description: "Ghid complet de integrare HubSpot CRM pentru sincronizarea contactelor, companiilor, ofertelor, tichetelor și datelor de marketing cu Brevo prin Tajo."
url: https://tajo.io/ro/docs/connectors/crm/hubspot/
markdown: https://tajo.io/ro/docs/connectors/crm/hubspot.md
lang: ro-RO
robots: noindex
---

Solicită acces anticipat

Introduceți prenumele și adresa de e-mail profesională. Vă vom trimite un link pentru a confirma cererea de acces la Tajo.

# Conector HubSpot

Starea conectorului: În lucru În construcție. Încă neverificat.

| Câmp sursă | Câmp destinație | Valoare exemplu |
| --- | --- | --- |
| `record.id` | `source_id` | `record_1042` |
| `record.updated_at` | `updated_at` | `2026-10-18T08:00:00Z` |
| `record.value` | `value` | `sample_value` |

Conectați HubSpot CRM la Brevo prin Tajo pentru sincronizare bidirecțională a contactelor, urmărirea ofertelor, date de implicare și automatizare de marketing unificată pe ambele platforme.

## Prezentare generală

| Proprietate | Valoare |
| --- | --- |
| **Platformă** | HubSpot |
| **Categorie** | CRM |
| **Complexitate configurare** | Medie |
| **Integrare oficială** | Nu |
| **Date sincronizate** | Contacte, Companii, Oferte, Tichete, Evenimente |
| **URL de bază API** | `https://api.hubapi.com` |

## Funcționalități

- **Sincronizare bidirecțională a contactelor** - Mențineți contactele sincronizate între HubSpot și Brevo în timp real
- **Urmărire pipeline oferte** - Sincronizați etapele și valorile ofertelor pentru segmentare bazată pe venituri
- **Sincronizare date companie** - Asociați contactele cu înregistrările companiei și datele firmografice
- **Integrare tichete** - Urmăriți tichetele de suport pentru evaluarea stării clientului
- **Urmărire implicare** - Sincronizați deschideri de e-mail, clicuri, întâlniri, apeluri și notițe
- **Suport obiecte personalizate** - Mapați obiectele personalizate HubSpot la atributele Brevo
- **Declanșatoare de flux de lucru** - Utilizați schimbările de etapă din ciclul de viață HubSpot pentru a declanșa automatizările Brevo
- **Evenimente webhook** - Notificări în timp real pentru modificările datelor CRM

## Cerințe preliminare

Înainte de a începe, asigurați-vă că aveți:

1. Un cont HubSpot (Free, Starter, Professional sau Enterprise)
2. O aplicație privată sau OAuth HubSpot cu scopurile necesare
3. Un cont Brevo cu acces API
4. Un cont Tajo

## Autentificare

### Token de acces aplicație privată (Recomandat)

Creați o aplicație privată în HubSpot pentru acces direct la API cu control granular al scopurilor.

1. Accesați HubSpot Settings > Integrations > Private Apps
2. Creați o nouă aplicație privată
3. Configurați scopurile necesare
4. Copiați tokenul de acces

```bash
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

Utilizați OAuth 2.0 pentru integrări cu mai multe conturi care necesită autorizarea utilizatorului.

```bash
# URL de autorizare
https://app.hubspot.com/oauth/authorize?client_id={client_id}&scope=crm.objects.contacts.read&redirect_uri={redirect_uri}
```

#### Scopuri necesare

```
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
```

## Configurare

### Configurare de bază

```yaml
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
```

### Mapare câmpuri

Mapați proprietățile HubSpot la atributele de contact Brevo:

#### Mapări implicite

| Parameter | Type | Description |
| --- | --- | --- |
| `email` required | string | E-mailul contactului (identificator principal) |
| `firstname` optional | string | Mapează la atributul FIRSTNAME în Brevo |
| `lastname` optional | string | Mapează la atributul LASTNAME în Brevo |
| `phone` optional | string | Mapează la atributul SMS pentru WhatsApp/SMS |
| `company` optional | string | Numele companiei asociate |
| `lifecyclestage` optional | string | Etapa din ciclul de viață HubSpot (abonat, lead, MQL, SQL, client) |
| `hs_lead_status` optional | string | Statusul de calificare al lead-ului |
| `hubspot_owner_id` optional | string | ID-ul responsabilului de vânzări atribuit |

#### Mapare proprietăți personalizate

```yaml
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
```

## Puncte finale API

### Obiecte CRM

| Metodă | Punct final | Descriere |
| --- | --- | --- |
| `GET` | `/crm/v3/objects/contacts` | Listează contacte |
| `POST` | `/crm/v3/objects/contacts` | Creează un contact |
| `PATCH` | `/crm/v3/objects/contacts/{id}` | Actualizează un contact |
| `GET` | `/crm/v3/objects/companies` | Listează companii |
| `GET` | `/crm/v3/objects/deals` | Listează oferte |
| `POST` | `/crm/v3/objects/deals` | Creează o ofertă |
| `GET` | `/crm/v3/objects/tickets` | Listează tichete |

### Asocieri

| Metodă | Punct final | Descriere |
| --- | --- | --- |
| `GET` | `/crm/v4/objects/{objectType}/{objectId}/associations/{toObjectType}` | Obține asocierile |
| `PUT` | `/crm/v4/objects/{objectType}/{objectId}/associations/{toObjectType}/{toObjectId}` | Creează asociere |

### Implicare

| Metodă | Punct final | Descriere |
| --- | --- | --- |
| `GET` | `/crm/v3/objects/calls` | Listează apeluri |
| `GET` | `/crm/v3/objects/emails` | Listează e-mailuri |
| `GET` | `/crm/v3/objects/meetings` | Listează întâlniri |
| `GET` | `/crm/v3/objects/notes` | Listează notițe |
| `GET` | `/crm/v3/objects/tasks` | Listează sarcini |

## Evenimente

### Evenimente de contact

| Eveniment | Declanșator | Caz de utilizare |
| --- | --- | --- |
| `contact.creation` | Contact nou creat | Declanșare flux de bun venit |
| `contact.propertyChange` | Proprietate contact actualizată | Sincronizare atribute |
| `contact.merge` | Contacte combinate | Gestionare deduplicare |
| `contact.deletion` | Contact șters | Curățare în Brevo |

### Evenimente de ofertă

| Eveniment | Declanșator | Caz de utilizare |
| --- | --- | --- |
| `deal.creation` | Ofertă nouă creată | Notificare de vânzări |
| `deal.propertyChange` | Etapă ofertă schimbată | Automatizare pipeline |
| `deal.deletion` | Ofertă eliminată | Raportare venituri |

### Evenimente de companie

| Eveniment | Declanșator | Caz de utilizare |
| --- | --- | --- |
| `company.creation` | Companie nouă adăugată | Marketing bazat pe cont |
| `company.propertyChange` | Date companie actualizate | Sincronizare firmografică |

## Exemple de cod

### Inițializare conector

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

### Executare sincronizare contacte

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

### Gestionare evenimente webhook

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

## Limite de rată

HubSpot aplică limite de rată per aplicație privată sau OAuth:

| Plan | Limită de rată | Limită burst |
| --- | --- | --- |
| Free/Starter | 100 cereri/10 secunde | 150 cereri/10 secunde |
| Professional | 150 cereri/10 secunde | 200 cereri/10 secunde |
| Enterprise | 200 cereri/10 secunde | 250 cereri/10 secunde |
| Add-on API | 200 cereri/10 secunde | 250 cereri/10 secunde |

Limite suplimentare:

- **API Căutare**: 5 cereri/secundă per aplicație
- **Operații în lot**: 100 înregistrări per cerere în lot
- **Limită zilnică**: 500.000 cereri/zi (aplicații OAuth)

Gestionarea limitelor de rată

HubSpot returnează un răspuns `429 Too Many Requests` când limitele sunt depășite. Utilizați backoff exponențial și monitorizați anteturile `X-HubSpot-RateLimit-*`.

## Depanare

### Probleme frecvente

| Problemă | Cauză | Soluție |
| --- | --- | --- |
| 401 Neautorizat | Token expirat sau invalid | Regenerați tokenul aplicației private sau actualizați tokenul OAuth |
| Contact nesincronizat | Proprietate e-mail lipsă | Contactele HubSpot necesită un e-mail pentru sincronizare cu Brevo |
| Contacte duplicate | Fără regulă de deduplicare | Configurați regulile de combinare în HubSpot |
| Webhook neprimit | Abonament inactiv | Reînregistrați abonamentele webhook |
| Proprietate nemapată | Proprietate personalizată necreată | Creați mai întâi proprietatea în HubSpot |

### Modul de depanare

Activați jurnalizarea verbosă:

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

### Testare conexiune

```bash
tajo connectors test hubspot
# ✓ API connection successful
# ✓ Contacts readable
# ✓ Companies readable
# ✓ Deals readable
# ✓ Webhooks registered
```

## Bune practici

1. **Utilizați aplicații private în loc de chei API** - Cheile API sunt deprecate; utilizați aplicații private pentru securitate sporită
2. **Implementați sincronizarea bidirecțională cu atenție** - Evitați buclele infinite prin urmărirea sursei de sincronizare
3. **Mapați etapele ciclului de viață** - Utilizați etapele ciclului de viață HubSpot pentru a segmenta contactele în Brevo
4. **Grupați cererile API** - Utilizați punctele finale batch pentru operații în bloc pentru a rămâne în limitele de rată
5. **Monitorizați livrarea webhook** - Configurați logica de reîncercare și gestionarea mesajelor nelivrate
6. **Utilizați sincronizarea incrementală** - Sincronizați doar înregistrările modificate folosind proprietatea `lastmodifieddate`

## Securitate

- **Tokeni pentru aplicații private** - Tokeni de acces cu scopuri cu permisiuni granulare
- **OAuth 2.0** - Autorizare standard industrie cu rotație token de reîmprospătare
- **Semnături webhook** - Verificare semnătură bazată pe HMAC (v3)
- **Criptare TLS** - Toată comunicarea API criptată în tranzit
- **Permisiuni cu scop limitat** - Acces minim necesar per integrare

## Resurse conexe

- [Documentație API HubSpot](https://developers.hubspot.com/docs/api/overview)
- [Ghid de autentificare HubSpot](https://developers.hubspot.com/docs/api/working-with-oauth)
- [Conector Salesforce](https://tajo.io/ro/docs/connectors/crm/salesforce)
- [Skill Sincronizare clienți](https://tajo.io/ro/docs/skills/data-sync/customer-sync)
- [API Contacte Brevo](https://tajo.io/ro/docs/contact-management)
