---
title: "Конектор Notion"
description: "Пълно ръководство за интеграция с Notion за синхронизация на бази данни, страници и съдържание на работното пространство с Brevo чрез Tajo."
url: https://tajo.io/bg/docs/connectors/custom/notion/
markdown: https://tajo.io/bg/docs/connectors/custom/notion.md
lang: bg-BG
robots: noindex
---

Заявете ранен достъп

Въведете собственото си име и служебен имейл адрес. Ще ви изпратим връзка за потвърждение на заявката за достъп до Tajo.

# Конектор Notion

Статус на конектора: Планиран Все още не е изграден. Tajo не изпълнява този конектор днес.

| Поле източник | Целево поле | Примерна стойност |
| --- | --- | --- |
| `record.id` | `source_id` | `record_1042` |
| `record.updated_at` | `updated_at` | `2026-10-18T08:00:00Z` |
| `record.value` | `value` | `sample_value` |

Свържете вашето работно пространство в Notion с Brevo за маркетингови работни потоци, задвижвани от съдържание, синхронизация на CRM бази данни и автоматизирани известия чрез Tajo.

## Преглед

| Свойство | Стойност |
| --- | --- |
| **Платформа** | Notion |
| **Категория** | Персонализирана |
| **Сложност на настройка** | Лесна |
| **Официална интеграция** | Не |
| **Синхронизирани данни** | Бази данни, страници, потребители |
| **Тип на API** | REST API |
| **Автентикация** | Internal Integration Token / OAuth 2.0 |
| **Base URL** | `https://api.notion.com` |
| **Версия на API** | `2022-06-28` (чрез `Notion-Version` header) |

## Функции

- **Синхронизация на бази данни** – Синхронизирайте записи от бази данни в Notion към контакти и списъци в Brevo
- **CRM мост** – Използвайте бази данни в Notion като лек CRM, синхронизиран с Brevo
- **Известия за съдържание** – Задействайте кампании в Brevo, когато страници в Notion бъдат публикувани
- **Мапване на свойства** – Мапвайте свойства на бази данни в Notion към атрибути на контактите в Brevo
- **Мониторинг на страници** – Проследявайте обновления на страници и препращайте като събития в Brevo
- **Синхронизация на потребителска директория** – Синхронизирайте членовете на работното пространство в Notion с контактите в Brevo

## Предварителни условия

Преди да започнете, уверете се, че имате:

1. Работно пространство в Notion с админ достъп
2. Вътрешна интеграция в Notion или OAuth приложение
3. Страници с бази данни, споделени с интеграцията
4. Акаунт в Brevo с API достъп
5. Акаунт в Tajo с активен абонамент

## Автентикация

Notion поддържа два метода на автентикация.

### Опция 1: Вътрешна интеграция (препоръчително за едно работно пространство)

1. Отидете на [notion.so/my-integrations](https://www.notion.so/my-integrations)
2. Щракнете върху **New integration**
3. Наименувайте я “Tajo Integration”
4. Изберете вашето работно пространство
5. Настройте възможности:

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

User Capabilities:
  Read user information: ✓
```

6. Копирайте **Internal Integration Secret** (започва с `ntn_`)

Изисква се споделяне на страници

Вътрешните интеграции имат достъп само до страници и бази данни, споделени изрично с тях. Споделете всяка целева база данни с вашата интеграция чрез меню ”…” > “Connections” > изберете вашата интеграция.

### Опция 2: OAuth 2.0 (публични интеграции)

За интеграции, обслужващи множество работни пространства, използвайте OAuth 2.0 потока:

1. Регистрирайте вашата интеграция като публична интеграция
2. Пренасочете потребителите към: `https://api.notion.com/v1/oauth/authorize?client_id=...`
3. Разменете кода за access token на `/v1/oauth/token`

### Свързване към Tajo

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

## Конфигурация

### Основна настройка

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

### Мапване на полета

Мапвайте свойства на бази данни в Notion към атрибути на контактите в 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
```

## API крайни точки

Tajo се интегрира със следните Notion API крайни точки:

| Endpoint | Method | Цел |
| --- | --- | --- |
| `/v1/databases/{id}/query` | POST | Заявка на записи от база данни |
| `/v1/databases/{id}` | GET | Извличане на схема на база данни |
| `/v1/pages` | POST | Създаване на нова страница |
| `/v1/pages/{id}` | GET | Извличане на свойства на страница |
| `/v1/pages/{id}` | PATCH | Обновяване на свойства на страница |
| `/v1/blocks/{id}/children` | GET | Извличане на блокови children |
| `/v1/users` | GET | Списък на всички потребители в работното пространство |
| `/v1/users/{id}` | GET | Извличане на потребител |
| `/v1/search` | POST | Търсене в работното пространство |

## Примери за код

### Инициализация на конектора

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

### Синхронизация на база данни към 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
// }
```

### Заявка и филтриране

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

### Създаване на страница от 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() } }
      }
    });
  }
});
```

## Лимити на заявки

Notion налага лимити на заявките за всяка интеграция:

| Тип лимит | Стойност |
| --- | --- |
| **Rate limit** | 3 заявки в секунда за интеграция |
| **Burst limit** | Позволени кратки изблици, след което throttling |
| **Размер на страница** | Максимум 100 елемента на пагинирана заявка |

Пагинация на базата на курсор

Notion използва пагинация на базата на курсор. Tajo се справя с това автоматично, итерирайки през всички страници чрез параметъра `next_cursor`, докато `has_more` върне `false`.

Notion връща `429 Too Many Requests`, когато лимитите на заявките бъдат превишени, с header `Retry-After`.

## Отстраняване на проблеми

### Често срещани проблеми

| Проблем | Причина | Решение |
| --- | --- | --- |
| 401 Unauthorized | Невалиден или изтекъл токен | Генерирайте нов интеграционен токен |
| 403 Forbidden | Страницата не е споделена с интеграцията | Споделете страница/база данни с интеграцията чрез Connections |
| 404 Object not found | Неправилно ID на база данни или не е споделена | Проверете ID на базата данни и настройките за споделяне |
| Липсващи свойства | Несъответствие на схемата | Ресинхронизирайте схемата на базата данни и обновете мапването на полета |
| Надвишен лимит на заявките | Твърде много бързи заявки | Намалете честотата или размера на batch-ове |

### Debug режим

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

### Тестване на връзката

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

## Най-добри практики

1. **Споделяйте базите данни изрично** – Вътрешните интеграции виждат само споделено съдържание
2. **Използвайте database queries вместо search** – Заявките са по-бързи и по-надеждни за известни бази данни
3. **Мапвайте типовете на свойствата внимателно** – Notion има много типове свойства; съпоставете ги към типовете на атрибутите в Brevo
4. **Обработвайте пагинацията** – Винаги итерирайте през всички курсорни страници за пълни данни
5. **Синхронизирайте инкрементално** – Използвайте филтри `last_edited_time`, за да синхронизирате само променени записи
6. **Настройте график за допитване** – Notion не поддържа webhooks нативно; допитвайте на редовни интервали

## Сигурност

- **Bearer Token автентикация** – Интеграционни тайни и OAuth токени
- **Само HTTPS** – Цялата API комуникация е криптирана чрез TLS 1.2+
- **Обхванат достъп** – Интеграциите имат достъп само до изрично споделено съдържание
- **OAuth 2.0** – Сигурен поток за оторизация за публични интеграции
- **Криптирано съхранение** – Токените са криптирани в покой в Tajo
- **Изолация на работното пространство** – Всяка интеграция е обхваната към едно работно пространство

## Свързани ресурси

- [Конектор Airtable](https://tajo.io/bg/docs/connectors/custom/airtable)
- [Конектор GitHub](https://tajo.io/bg/docs/connectors/custom/github)
- [Конектор Linear](https://tajo.io/bg/docs/connectors/custom/linear)
- [Brevo Contacts API](https://tajo.io/bg/docs/contact-management)
