Notion konektor
Prepoj svoj Notion workspace s Brevo pre marketingové workflowy riadené obsahom, synchronizáciu CRM databáz a automatizované notifikácie cez Tajo.
Prehľad
| Vlastnosť | Hodnota |
|---|---|
| Platforma | Notion |
| Kategória | Vlastná |
| Zložitosť nastavenia | Ľahké |
| Oficiálna integrácia | Nie |
| Synchronizované dáta | Databázy, Stránky, Používatelia |
| Typ API | REST API |
| Autentifikácia | Internal Integration Token / OAuth 2.0 |
| Base URL | https://api.notion.com |
| Verzia API | 2022-06-28 (cez hlavičku Notion-Version) |
Funkcie
- Synchronizácia databáz - Synchronizuj záznamy databázy Notion s kontaktmi a zoznamami Brevo
- CRM most - Použi databázy Notion ako ľahké CRM synchronizované s Brevo
- Notifikácie o obsahu - Spúšťaj kampane Brevo pri publikovaní stránok Notion
- Mapovanie vlastností - Namapuj vlastnosti databázy Notion na atribúty kontaktov v Brevo
- Monitorovanie stránok - Sleduj aktualizácie stránok a preposielaj ako udalosti Brevo
- Synchronizácia adresára používateľov - Synchronizuj členov workspace Notion s kontaktmi Brevo
Predpoklady
Predtým, než začneš, uisti sa, že máš:
- Notion workspace s admin prístupom
- Internú integráciu Notion alebo OAuth aplikáciu
- Stránky databázy zdieľané s integráciou
- Brevo účet s API prístupom
- Tajo účet s aktívnym predplatným
Autentifikácia
Notion podporuje dve metódy autentifikácie.
Možnosť 1: Interná integrácia (odporúčané pre jeden workspace)
- Choď na notion.so/my-integrations
- Klikni na New integration
- Pomenuj ho “Tajo Integration”
- Vyber svoj workspace
- Nastav možnosti:
Content Capabilities: Read content: ✓ Update content: ✓ Insert content: ✓
User Capabilities: Read user information: ✓- Skopíruj Internal Integration Secret (začína sa
ntn_)
Zdieľanie stránok je povinné
Interné integrácie môžu pristupovať iba k stránkam a databázam explicitne zdieľaným s nimi. Zdieľaj každú cieľovú databázu so svojou integráciou cez menu ”…” > “Connections” > vyber svoju integráciu.
Možnosť 2: OAuth 2.0 (Verejné integrácie)
Pre integrácie obsluhujúce viacero workspaces použi OAuth 2.0 flow:
- Zaregistruj svoju integráciu ako verejnú integráciu
- Presmeruj používateľov na:
https://api.notion.com/v1/oauth/authorize?client_id=... - Vymeň kód za prístupový token na
/v1/oauth/token
Pripojenie k Tajo
tajo connectors install notion \ --token $NOTION_TOKENKonfigurácia
Základné nastavenie
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: 26Mapovanie polí
Namapuj vlastnosti databázy Notion na atribúty kontaktov v Brevo:
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: TAGSAPI endpointy
Tajo sa integruje s nasledujúcimi endpointmi Notion API:
| Endpoint | Metóda | Účel |
|---|---|---|
/v1/databases/{id}/query | POST | Dopyt na záznamy databázy |
/v1/databases/{id} | GET | Získanie schémy databázy |
/v1/pages | POST | Vytvorenie novej stránky |
/v1/pages/{id} | GET | Získanie vlastností stránky |
/v1/pages/{id} | PATCH | Aktualizácia vlastností stránky |
/v1/blocks/{id}/children | GET | Získanie potomkov bloku |
/v1/users | GET | Zoznam všetkých používateľov workspace |
/v1/users/{id} | GET | Získanie používateľa |
/v1/search | POST | Vyhľadávanie naprieč workspace |
Ukážky kódu
Inicializácia konektora
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});Synchronizácia databázy do Brevo
// Sync a Notion database to a Brevo listawait 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// }Dopyt a filtrovanie
// Query Notion database with filtersconst results = await tajo.connectors.query('notion', { databaseId: 'abc123def456', filter: { property: 'Status', select: { equals: 'Active' } }, sorts: [ { property: 'Last Contact', direction: 'descending' } ]});Vytvorenie stránky z udalosti Brevo
// Create a Notion page when a Brevo contact reaches a milestonetajo.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() } } } }); }});Obmedzenia rýchlosti
Notion uplatňuje obmedzenia rýchlosti na integráciu:
| Typ limitu | Hodnota |
|---|---|
| Rate limit | 3 požiadavky za sekundu na integráciu |
| Burst limit | Krátke burty sú povolené, potom sa throttluje |
| Veľkosť stránky | Max 100 položiek na stránkovanú požiadavku |
Stránkovanie na základe kurzora
Notion používa stránkovanie na základe kurzora. Tajo to spravuje automaticky, iteruje cez všetky stránky pomocou parametra next_cursor, kým has_more nevráti false.
Notion vracia 429 Too Many Requests pri prekročení limitov, s hlavičkou Retry-After.
Riešenie problémov
Bežné problémy
| Problém | Príčina | Riešenie |
|---|---|---|
| 401 Unauthorized | Neplatný alebo vypršaný token | Znovu vygeneruj integration token |
| 403 Forbidden | Stránka nie je zdieľaná s integráciou | Zdieľaj stránku/databázu s integráciou cez Connections |
| 404 Object not found | Nesprávne ID databázy alebo nie je zdieľaná | Overte ID databázy a nastavenia zdieľania |
| Chýbajúce vlastnosti | Nezhoda schémy | Znovu synchronizuj schému databázy a aktualizuj mapovanie polí |
| Prekročenie limitu | Príliš veľa rýchlych požiadaviek | Zredukuj frekvenciu synchronizácie alebo veľkosť dávky |
Debug režim
connectors: notion: debug: true log_level: verbose log_api_calls: trueTest pripojenia
tajo connectors test notion# ✓ API authentication successful# ✓ Database access verified# ✓ User list accessible# ✓ Search operational# ✓ Page creation availableOdporúčané postupy
- Explicitne zdieľaj databázy - Interné integrácie vidia iba zdieľaný obsah
- Použi dopyty na databázy namiesto vyhľadávania - Dopyty sú rýchlejšie a spoľahlivejšie pre známe databázy
- Starostlivo namapuj typy vlastností - Notion má veľa typov vlastností; zosúlaď ich s typmi atribútov Brevo
- Spravuj stránkovanie - Vždy iteruj cez všetky kurzorové stránky pre kompletné dáta
- Synchronizuj inkrementálne - Použi filtre
last_edited_timena synchronizáciu iba zmenených zápisov - Nastav rozvrh pollingu - Notion natívne nepodporuje webhooky; polluj v pravidelných intervaloch
Bezpečnosť
- Bearer Token autentifikácia - Integration secrets a OAuth tokeny
- Iba HTTPS - Všetka API komunikácia šifrovaná cez TLS 1.2+
- Scoped prístup - Integrácie pristupujú iba k explicitne zdieľanému obsahu
- OAuth 2.0 - Bezpečný autorizačný flow pre verejné integrácie
- Šifrované úložisko - Tokeny šifrované v pokoji v Tajo
- Izolácia workspace - Každá integrácia je obmedzená na jeden workspace