---
title: "Notion Connector"
description: "Popoln vodnik za integracijo Notion za sinhronizacijo baz podatkov, strani in vsebine delovnega okolja z Brevo prek Tajo."
url: https://tajo.io/sl/docs/connectors/custom/notion/
markdown: https://tajo.io/sl/docs/connectors/custom/notion.md
lang: sl-SI
robots: noindex
---

Zaprosite za zgodnji dostop

Vnesite svoje ime in službeni e-poštni naslov. Poslali vam bomo povezavo za potrditev zahteve za dostop do Taja.

# Notion Connector

Stanje konektorja: Načrtovano Še ni izdelano. Tajo danes ne poganja tega konektorja.

| Izvorno polje | Ciljno polje | Vzorčna vrednost |
| --- | --- | --- |
| `record.id` | `source_id` | `record_1042` |
| `record.updated_at` | `updated_at` | `2026-10-18T08:00:00Z` |
| `record.value` | `value` | `sample_value` |

Poveži svoje delovno okolje Notion z Brevo za marketinške tokove, ki temeljijo na vsebini, sinhronizacijo CRM baz podatkov in avtomatska obvestila prek Tajo.

## Pregled

| Lastnost | Vrednost |
| --- | --- |
| **Platforma** | Notion |
| **Kategorija** | Po meri |
| **Zahtevnost nastavitve** | Enostavna |
| **Uradna integracija** | Ne |
| **Sinhronizirani podatki** | Baze podatkov, strani, uporabniki |
| **Tip API** | REST API |
| **Avtentikacija** | Notranji integracijski žeton / OAuth 2.0 |
| **Osnovni URL** | `https://api.notion.com` |
| **Različica API** | `2022-06-28` (prek glave `Notion-Version`) |

## Funkcionalnosti

- **Sinhronizacija baz podatkov** – sinhronizacija vnosov baz podatkov Notion s stiki in seznami Brevo
- **Most za CRM** – uporabi baze podatkov Notion kot lahek CRM, sinhroniziran z Brevo
- **Obvestila o vsebini** – sproži kampanje Brevo, ko so strani Notion objavljene
- **Preslikava lastnosti** – preslikaj lastnosti baze podatkov Notion v atribute stikov Brevo
- **Spremljanje strani** – sledi posodobitvam strani in jih posreduj kot dogodke Brevo
- **Sinhronizacija imenika uporabnikov** – sinhronizacija članov delovnega okolja Notion s stiki Brevo

## Predpogoji

Preden začneš, se prepričaj, da imaš:

1. Delovno okolje Notion z administratorskim dostopom
2. Notranjo integracijo ali OAuth aplikacijo Notion
3. Strani baz podatkov, ki so deljene z integracijo
4. Brevo račun z dostopom do API
5. Tajo račun z aktivno naročnino

## Avtentikacija

Notion podpira dve metodi avtentikacije.

### Možnost 1: Notranja integracija (priporočeno za eno delovno okolje)

1. Pojdi na [notion.so/my-integrations](https://www.notion.so/my-integrations)
2. Klikni **New integration**
3. Poimenuj jo “Tajo Integration”
4. Izberi svoje delovno okolje
5. Nastavi zmogljivosti:

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

User Capabilities:
  Read user information: ✓
```

6. Kopiraj **Internal Integration Secret** (začne se z `ntn_`)

Zahtevano deljenje strani

Notranje integracije imajo dostop samo do strani in baz podatkov, ki so z njimi eksplicitno deljene. Vsako ciljno bazo podatkov deli z integracijo prek menija ”…” > “Connections” > izberi svojo integracijo.

### Možnost 2: OAuth 2.0 (javne integracije)

Za integracije, ki pokrivajo več delovnih okolij, uporabi tok OAuth 2.0:

1. Registriraj svojo integracijo kot javno integracijo
2. Preusmeri uporabnike na: `https://api.notion.com/v1/oauth/authorize?client_id=...`
3. Zamenjaj kodo za žeton za dostop na `/v1/oauth/token`

### Povezava s Tajo

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

## Konfiguracija

### Osnovna nastavitev

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

### Preslikava polj

Preslikaj lastnosti baze podatkov Notion v atribute stikov 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
```

## Končne točke API

Tajo se integrira z naslednjimi končnimi točkami Notion API:

| Končna točka | Metoda | Namen |
| --- | --- | --- |
| `/v1/databases/{id}/query` | POST | Poizvedba po vnosih baze podatkov |
| `/v1/databases/{id}` | GET | Pridobi shemo baze podatkov |
| `/v1/pages` | POST | Ustvari novo stran |
| `/v1/pages/{id}` | GET | Pridobi lastnosti strani |
| `/v1/pages/{id}` | PATCH | Posodobi lastnosti strani |
| `/v1/blocks/{id}/children` | GET | Pridobi podrejene bloke |
| `/v1/users` | GET | Seznam vseh uporabnikov delovnega okolja |
| `/v1/users/{id}` | GET | Pridobi uporabnika |
| `/v1/search` | POST | Iskanje po delovnem okolju |

## Primeri kode

### Inicializacija konektorja

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

### Sinhronizacija baze podatkov z 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
// }
```

### Poizvedba in filtriranje

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

### Ustvarjanje strani iz événement 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() } }
      }
    });
  }
});
```

## Omejitve hitrosti

Notion uveljavi omejitve hitrosti na integracijo:

| Vrsta omejitve | Vrednost |
| --- | --- |
| **Omejitev hitrosti** | 3 zahtevki na sekundo na integracijo |
| **Omejitev za sunke** | Kratki sunki so dovoljeni, nato pride do omejevanja |
| **Velikost strani** | Največ 100 elementov na paginirani zahtevek |

Paginacija na osnovi kazalca

Notion uporablja paginacijo na osnovi kazalca. Tajo to obravnava samodejno in z iteracijo prek vseh strani z parametrom `next_cursor` do `has_more` = `false`.

Notion vrne `429 Too Many Requests`, ko so omejitve hitrosti prekoračene, z glavo `Retry-After`.

## Odpravljanje težav

### Pogoste težave

| Težava | Vzrok | Rešitev |
| --- | --- | --- |
| 401 Unauthorized | Neveljaven ali potekel žeton | Obnovi integracijski žeton |
| 403 Forbidden | Stran ni deljena z integracijo | Deli stran/bazo podatkov z integracijo prek Connections |
| 404 Object not found | Napačen ID baze podatkov ali ni deljeno | Potrdi ID baze podatkov in nastavitve deljenja |
| Manjkajo lastnosti | Neujemanje sheme | Znova sinhronizira shemo baze podatkov in posodobi preslikavo polj |
| Prekoračena omejitev hitrosti | Preveč hitrih zahtevkov | Zmanjšaj pogostost sinhronizacije ali velikost paketa |

### Način odpravljanja napak

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

### Preizkus povezave

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

## Najboljše prakse

1. **Eksplicitno deli baze podatkov** – notranje integracije vidijo samo deljeno vsebino
2. **Uporabi poizvedbe po bazi podatkov namesto iskanja** – poizvedbe so hitrejše in zanesljivejše za znane baze podatkov
3. **Skrbno preslikaj vrste lastnosti** – Notion ima veliko vrst lastnosti; ujemi jih z vrstami atributov Brevo
4. **Obravnavaj paginacijo** – vedno iteriraj skozi vse strani kazalca za popolne podatke
5. **Sinhronizacija postopoma** – za sinhronizacijo samo spremenjenih vnosov uporabi filtre `last_edited_time`
6. **Nastavi urnik anketiranja** – Notion ne podpira webhookov izvorno; anketiraj v rednih intervalih

## Varnost

- **Avtentikacija z žetonom prinosnika** – integracijske skrivnosti in OAuth žetoni
- **Samo HTTPS** – vsa komunikacija API šifrirana prek TLS 1.2+
- **Obsegani dostop** – integracije imajo dostop samo do eksplicitno deljene vsebine
- **OAuth 2.0** – varen tok avtorizacije za javne integracije
- **Šifrirano shranjevanje** – žetoni šifrirani v mirovanju v Tajo
- **Izolacija delovnega okolja** – vsaka integracija je omejena na eno delovno okolje

## Povezani viri

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