---
title: "Conector Notion"
description: "Ghid complet de integrare Notion pentru sincronizarea bazelor de date, paginilor și conținutului din spațiul de lucru cu Brevo prin Tajo."
url: https://tajo.io/ro/docs/connectors/custom/notion/
markdown: https://tajo.io/ro/docs/connectors/custom/notion.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 Notion

Starea conectorului: Planificat Încă neconstruit. Tajo nu rulează astăzi acest conector.

| 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 spațiul de lucru Notion la Brevo pentru fluxuri de marketing bazate pe conținut, sincronizarea bazelor de date CRM și notificări automate prin Tajo.

## Prezentare generală

| Proprietate | Valoare |
| --- | --- |
| **Platformă** | Notion |
| **Categorie** | Personalizat |
| **Complexitate configurare** | Ușoară |
| **Integrare oficială** | Nu |
| **Date sincronizate** | Baze de date, Pagini, Utilizatori |
| **Tip API** | REST API |
| **Autentificare** | Token integrare internă / OAuth 2.0 |
| **URL de bază** | `https://api.notion.com` |
| **Versiune API** | `2022-06-28` (prin antetul `Notion-Version`) |

## Funcționalități

- **Sincronizare baze de date** - Sincronizați intrările din bazele de date Notion cu contactele și listele Brevo
- **Punte CRM** - Utilizați bazele de date Notion ca un CRM ușor, sincronizat cu Brevo
- **Notificări de conținut** - Declanșați campanii Brevo când paginile Notion sunt publicate
- **Mapare proprietăți** - Mapați proprietățile bazelor de date Notion la atributele de contact Brevo
- **Monitorizare pagini** - Urmăriți actualizările paginilor și transmiteți-le ca evenimente Brevo
- **Sincronizare director utilizatori** - Sincronizați membrii spațiului de lucru Notion cu contactele Brevo

## Cerințe preliminare

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

1. Un spațiu de lucru Notion cu acces de administrator
2. O integrare internă Notion sau aplicație OAuth
3. Pagini de baze de date partajate cu integrarea
4. Un cont Brevo cu acces API
5. Un cont Tajo cu abonament activ

## Autentificare

Notion suportă două metode de autentificare.

### Opțiunea 1: Integrare internă (Recomandat pentru un singur spațiu de lucru)

1. Accesați [notion.so/my-integrations](https://www.notion.so/my-integrations)
2. Faceți clic pe **New integration**
3. Denumiți-o “Tajo Integration”
4. Selectați spațiul de lucru
5. Setați capabilitățile:

```
Content Capabilities:
  Read content: ✓
  Update content: ✓
  Insert content: ✓

User Capabilities:
  Read user information: ✓
```

6. Copiați **Internal Integration Secret** (începe cu `ntn_`)

Partajare pagini obligatorie

Integrările interne pot accesa doar paginile și bazele de date partajate explicit cu ele. Partajați fiecare bază de date țintă cu integrarea prin meniul ”…” > “Connections” > selectați integrarea.

### Opțiunea 2: OAuth 2.0 (Integrări publice)

Pentru integrări care deservesc mai multe spații de lucru, utilizați fluxul OAuth 2.0:

1. Înregistrați integrarea ca integrare publică
2. Redirecționați utilizatorii la: `https://api.notion.com/v1/oauth/authorize?client_id=...`
3. Schimbați codul pentru un token de acces la `/v1/oauth/token`

### Conectare la Tajo

```bash
tajo connectors install notion \
  --token $NOTION_TOKEN
```

## Configurare

### Configurare de bază

```yaml
connectors:
  notion:
    enabled: true
    api_version: "2022-06-28"

    sync:
      databases: true
      pages: false
      users: true

    databases:
      - id: "abc123def456"
        name: "Customers"
        sync_to_list: 25
      - id: "ghi789jkl012"
        name: "Leads"
        sync_to_list: 26
```

### Mapare câmpuri

Mapați proprietățile bazelor de date Notion la atributele de contact Brevo:

```yaml
field_mapping:
  # Notion property -> Brevo attribute
  Name:
    type: title
    target: FIRSTNAME
  Email:
    type: email
    target: email
  Phone:
    type: phone_number
    target: SMS
  Company:
    type: rich_text
    target: COMPANY
  Status:
    type: select
    target: LEAD_STATUS
  Deal Value:
    type: number
    target: DEAL_VALUE
  Last Contact:
    type: date
    target: LAST_CONTACT_DATE
  Tags:
    type: multi_select
    target: TAGS
```

## Puncte finale API

Tajo se integrează cu următoarele puncte finale ale API-ului Notion:

| Punct final | Metodă | Scop |
| --- | --- | --- |
| `/v1/databases/{id}/query` | POST | Interoghează intrările din baza de date |
| `/v1/databases/{id}` | GET | Recuperează schema bazei de date |
| `/v1/pages` | POST | Creează o pagină nouă |
| `/v1/pages/{id}` | GET | Recuperează proprietățile paginii |
| `/v1/pages/{id}` | PATCH | Actualizează proprietățile paginii |
| `/v1/blocks/{id}/children` | GET | Recuperează elementele copil ale blocului |
| `/v1/users` | GET | Listează toți utilizatorii spațiului de lucru |
| `/v1/users/{id}` | GET | Recuperează un utilizator |
| `/v1/search` | POST | Caută în spațiul de lucru |

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

await tajo.connectors.connect('notion', {
  token: process.env.NOTION_TOKEN
});
```

### Sincronizare bază de date cu Brevo

```javascript
// Sync a Notion database to a Brevo list
await tajo.connectors.sync('notion', {
  type: 'full',
  resources: ['databases'],
  databaseId: 'abc123def456',
  targetList: 25
});

const status = await tajo.connectors.status('notion');
console.log(status);
// {
//   connected: true,
//   lastSync: '2024-03-15T14:30:00Z',
//   databasesSynced: 2,
//   pagesTracked: 1450,
//   usersCount: 32
// }
```

### Interogare și filtrare

```javascript
// Query Notion database with filters
const results = await tajo.connectors.query('notion', {
  databaseId: 'abc123def456',
  filter: {
    property: 'Status',
    select: { equals: 'Active' }
  },
  sorts: [
    { property: 'Last Contact', direction: 'descending' }
  ]
});
```

### Creare pagină din eveniment Brevo

```javascript
// Create a Notion page when a Brevo contact reaches a milestone
tajo.events.on('contact.attribute_updated', async (event) => {
  if (event.attribute === 'LIFECYCLE_STAGE' && event.value === 'customer') {
    await tajo.connectors.create('notion', {
      databaseId: 'ghi789jkl012',
      properties: {
        Name: { title: [{ text: { content: event.contact.name } }] },
        Email: { email: event.contact.email },
        'Converted Date': { date: { start: new Date().toISOString() } }
      }
    });
  }
});
```

## Limite de rată

Notion aplică limite de rată per integrare:

| Tip limită | Valoare |
| --- | --- |
| **Limită de rată** | 3 cereri pe secundă per integrare |
| **Limită burst** | Burst-uri scurte permise, apoi limitare |
| **Dimensiune pagină** | Maxim 100 elemente per cerere paginată |

Paginare bazată pe cursor

Notion utilizează paginare bazată pe cursor. Tajo gestionează automat acest lucru, iterând prin toate paginile folosind parametrul `next_cursor` până când `has_more` returnează `false`.

Notion returnează `429 Too Many Requests` când limitele de rată sunt depășite, cu un antet `Retry-After`.

## Depanare

### Probleme frecvente

| Problemă | Cauză | Soluție |
| --- | --- | --- |
| 401 Neautorizat | Token invalid sau expirat | Regenerați tokenul de integrare |
| 403 Interzis | Pagina nu este partajată cu integrarea | Partajați pagina/baza de date cu integrarea prin Connections |
| 404 Obiect negăsit | ID bază de date incorect sau nepartajat | Verificați ID-ul bazei de date și setările de partajare |
| Proprietăți lipsă | Nepotrivire schemă | Resincronizați schema bazei de date și actualizați maparea câmpurilor |
| Limită de rată depășită | Prea multe cereri rapide | Reduceți frecvența sincronizării sau dimensiunea lotului |

### Modul de depanare

```yaml
connectors:
  notion:
    debug: true
    log_level: verbose
    log_api_calls: true
```

### Testare conexiune

```bash
tajo connectors test notion
# ✓ API authentication successful
# ✓ Database access verified
# ✓ User list accessible
# ✓ Search operational
# ✓ Page creation available
```

## Bune practici

1. **Partajați bazele de date explicit** - Integrările interne văd doar conținutul partajat
2. **Utilizați interogări de baze de date față de căutare** - Interogările sunt mai rapide și mai fiabile pentru bazele de date cunoscute
3. **Mapați tipurile de proprietăți cu atenție** - Notion are multe tipuri de proprietăți; potriviți-le cu tipurile de atribute Brevo
4. **Gestionați paginarea** - Iterați întotdeauna prin toate paginile cu cursor pentru date complete
5. **Sincronizați incremental** - Utilizați filtre `last_edited_time` pentru a sincroniza doar intrările modificate
6. **Configurați un program de interogare** - Notion nu suportă webhook-uri nativ; interogați la intervale regulate

## Securitate

- **Autentificare cu token Bearer** - Secrete de integrare și tokeni OAuth
- **Numai HTTPS** - Toată comunicarea API criptată prin TLS 1.2+
- **Acces cu scop limitat** - Integrările accesează doar conținutul partajat explicit
- **OAuth 2.0** - Flux de autorizare securizat pentru integrări publice
- **Stocare criptată** - Tokenii sunt criptați în repaus în Tajo
- **Izolare spațiu de lucru** - Fiecare integrare este limitată la un singur spațiu de lucru

## Resurse conexe

- [Conector Airtable](https://tajo.io/ro/docs/connectors/custom/airtable)
- [Conector GitHub](https://tajo.io/ro/docs/connectors/custom/github)
- [Conector Linear](https://tajo.io/ro/docs/connectors/custom/linear)
- [API Contacte Brevo](https://tajo.io/ro/docs/contact-management)
