---
title: "Notion Konektor"
description: "Kompletan vodič za integraciju Notiona za sinkronizaciju baza podataka, stranica i sadržaja radnog prostora s Brevom putem Taja."
url: https://tajo.io/hr/docs/connectors/custom/notion/
markdown: https://tajo.io/hr/docs/connectors/custom/notion.md
lang: hr-HR
robots: noindex
---

Zatražite rani pristup

Unesite ime i poslovnu adresu e-pošte. Poslat ćemo vam poveznicu za potvrdu zahtjeva za pristup Taju.

# Notion Konektor

Status konektora: Planirano Još nije izrađeno. Tajo danas ne pokreće ovaj konektor.

| Izvorno polje | Odredišno polje | Primjer vrijednosti |
| --- | --- | --- |
| `record.id` | `source_id` | `record_1042` |
| `record.updated_at` | `updated_at` | `2026-10-18T08:00:00Z` |
| `record.value` | `value` | `sample_value` |

Povežite svoj Notion radni prostor s Brevom za marketinške tijekove rada pokretane sadržajem, sinkronizaciju CRM baze podataka i automatizirane obavijesti putem Taja.

## Pregled

| Svojstvo | Vrijednost |
| --- | --- |
| **Platforma** | Notion |
| **Kategorija** | Prilagođeno |
| **Složenost postavljanja** | Jednostavno |
| **Službena integracija** | Ne |
| **Sinkronizirani podaci** | Baze podataka, Stranice, Korisnici |
| **Vrsta API-ja** | REST API |
| **Autentifikacija** | Internal Integration Token / OAuth 2.0 |
| **Osnovni URL** | `https://api.notion.com` |
| **Verzija API-ja** | `2022-06-28` (putem zaglavlja `Notion-Version`) |

## Značajke

- **Sinkronizacija baze podataka** - Sinkronizirajte unose Notion baze podataka s Brevo kontaktima i popisima
- **CRM most** - Koristite Notion baze podataka kao lagani CRM, sinkroniziran s Brevom
- **Obavijesti o sadržaju** - Pokrećite Brevo kampanje kada su Notion stranice objavljene
- **Mapiranje svojstava** - Mapirajte Notion svojstva baze podataka na Brevo atribute kontakata
- **Praćenje stranica** - Pratite ažuriranja stranica i prosljeđujte kao Brevo događaje
- **Sinkronizacija korisničkog direktorija** - Sinkronizirajte članove Notion radnog prostora s Brevo kontaktima

## Preduvjeti

Prije nego što počnete, osigurajte da imate:

1. Notion radni prostor s administratorskim pristupom
2. Notion internu integraciju ili OAuth aplikaciju
3. Stranice baze podataka dijeljene s integracijom
4. Brevo račun s API pristupom
5. Tajo račun s aktivnom pretplatom

## Autentifikacija

Notion podržava dvije metode autentifikacije.

### Opcija 1: Interna integracija (Preporučeno za jedan radni prostor)

1. Idite na [notion.so/my-integrations](https://www.notion.so/my-integrations)
2. Kliknite **New integration**
3. Nazovite je “Tajo Integration”
4. Odaberite svoj radni prostor
5. Postavite mogućnosti:

```
Mogućnosti sadržaja:
  Čitanje sadržaja: ✓
  Ažuriranje sadržaja: ✓
  Umetanje sadržaja: ✓

Mogućnosti korisnika:
  Čitanje korisničkih informacija: ✓
```

6. Kopirajte **Internal Integration Secret** (počinje s `ntn_`)

Dijeljenje stranica je obavezno

Interne integracije mogu pristupiti samo stranicama i bazama podataka eksplicitno dijeljenim s njima. Podijelite svaku ciljnu bazu podataka s vašom integracijom putem izbornika ”…” > “Connections” > odaberite svoju integraciju.

### Opcija 2: OAuth 2.0 (Javne integracije)

Za integracije koje opslužuju više radnih prostora, koristite OAuth 2.0 tok:

1. Registrirajte svoju integraciju kao javnu integraciju
2. Preusmjerite korisnike na: `https://api.notion.com/v1/oauth/authorize?client_id=...`
3. Zamijenite kod za token za pristup na `/v1/oauth/token`

### Povezivanje s Tajom

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

## Konfiguracija

### Osnovna konfiguracija

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

### Mapiranje polja

Mapirajte Notion svojstva baze podataka na Brevo atribute kontakata:

```yaml
field_mapping:
  # Notion svojstvo -> Brevo atribut
  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 krajnje točke

Tajo se integrira sa sljedećim Notion API krajnjim točkama:

| Krajnja točka | Metoda | Namjena |
| --- | --- | --- |
| `/v1/databases/{id}/query` | POST | Upit unosa baze podataka |
| `/v1/databases/{id}` | GET | Dohvaćanje sheme baze podataka |
| `/v1/pages` | POST | Stvaranje nove stranice |
| `/v1/pages/{id}` | GET | Dohvaćanje svojstava stranice |
| `/v1/pages/{id}` | PATCH | Ažuriranje svojstava stranice |
| `/v1/blocks/{id}/children` | GET | Dohvaćanje djece bloka |
| `/v1/users` | GET | Popis svih korisnika radnog prostora |
| `/v1/users/{id}` | GET | Dohvaćanje korisnika |
| `/v1/search` | POST | Pretraživanje radnog prostora |

## Primjeri koda

### Inicijalizacija konektora

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

### Sinkronizacija baze podataka s Brevom

```javascript
// Sinkronizacija Notion baze podataka s Brevo popisom
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
// }
```

### Upit i filtriranje

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

### Stvaranje stranice iz Brevo događaja

```javascript
// Stvaranje Notion stranice kada Brevo kontakt dostigne prekretnicu
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() } }
      }
    });
  }
});
```

## Ograničenja brzine

Notion primjenjuje ograničenja brzine po integraciji:

| Vrsta ograničenja | Vrijednost |
| --- | --- |
| **Ograničenje brzine** | 3 zahtjeva po sekundi po integraciji |
| **Ograničenje naglih skokova** | Kratki skokovi dopušteni, zatim ograničeno |
| **Veličina stranice** | Maks. 100 stavki po paginiranom zahtjevu |

Paginacija temeljena na kursoru

Notion koristi paginaciju temeljenu na kursoru. Tajo to automatski rukuje, iterirajući kroz sve stranice koristeći parametar `next_cursor` sve dok `has_more` ne vrati `false`.

Notion vraća `429 Too Many Requests` kada su prekoračena ograničenja brzine, sa zaglavljem `Retry-After`.

## Rješavanje problema

### Uobičajeni problemi

| Problem | Uzrok | Rješenje |
| --- | --- | --- |
| 401 Unauthorized | Nevažeći ili istekli token | Regenerirajte token integracije |
| 403 Forbidden | Stranica nije dijeljena s integracijom | Podijelite stranicu/bazu podataka s integracijom putem Connections |
| 404 Object not found | Netočan ID baze podataka ili nije dijeljen | Provjerite ID baze podataka i postavke dijeljenja |
| Nedostaju svojstva | Nepodudarnost sheme | Ponovo sinkronizirajte shemu baze podataka i ažurirajte mapiranje polja |
| Prekoračeno ograničenje brzine | Previše brzih zahtjeva | Smanjite učestalost sinkronizacije ili veličinu serije |

### Način otklanjanja grešaka

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

### Testiranje veze

```bash
tajo connectors test notion
# ✓ API autentifikacija uspješna
# ✓ Pristup bazi podataka potvrđen
# ✓ Popis korisnika dostupan
# ✓ Pretraživanje operativno
# ✓ Stvaranje stranica dostupno
```

## Preporučene prakse

1. **Eksplicitno dijelite baze podataka** - Interne integracije vide samo dijeljeni sadržaj
2. **Koristite upite baze podataka umjesto pretraživanja** - Upiti su brži i pouzdaniji za poznate baze podataka
3. **Pažljivo mapirajte vrste svojstava** - Notion ima mnogo vrsta svojstava; uskladite ih s Brevo vrstama atributa
4. **Rukujte paginacijom** - Uvijek iterirajte kroz sve stranice kursora za potpune podatke
5. **Sinkronizirajte inkrementalno** - Koristite filtere `last_edited_time` za sinkronizaciju samo promijenjenih unosa
6. **Postavite raspored anketiranja** - Notion nema nativnu podršku za webhookove; anktirajte u redovitim intervalima

## Sigurnost

- **Autentifikacija Bearer tokenom** - Tajne integracije i OAuth tokeni
- **Samo HTTPS** - Sva API komunikacija šifrirana putem TLS 1.2+
- **Opsežni pristup** - Integracije pristupaju samo eksplicitno dijeljenom sadržaju
- **OAuth 2.0** - Siguran tok autorizacije za javne integracije
- **Šifrirano pohranjivanje** - Tokeni šifrirani u mirovanju u Taju
- **Izolacija radnog prostora** - Svaka integracija je ograničena na jedan radni prostor

## Povezani resursi

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