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
PlatformaNotion
KategóriaVlastná
Zložitosť nastaveniaĽahké
Oficiálna integráciaNie
Synchronizované dátaDatabázy, Stránky, Používatelia
Typ APIREST API
AutentifikáciaInternal Integration Token / OAuth 2.0
Base URLhttps://api.notion.com
Verzia API2022-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áš:

  1. Notion workspace s admin prístupom
  2. Internú integráciu Notion alebo OAuth aplikáciu
  3. Stránky databázy zdieľané s integráciou
  4. Brevo účet s API prístupom
  5. 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)

  1. Choď na notion.so/my-integrations
  2. Klikni na New integration
  3. Pomenuj ho “Tajo Integration”
  4. Vyber svoj workspace
  5. Nastav možnosti:
Content Capabilities:
Read content: ✓
Update content: ✓
Insert content: ✓
User Capabilities:
Read user information: ✓
  1. 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:

  1. Zaregistruj svoju integráciu ako verejnú integráciu
  2. Presmeruj používateľov na: https://api.notion.com/v1/oauth/authorize?client_id=...
  3. Vymeň kód za prístupový token na /v1/oauth/token

Pripojenie k Tajo

Terminal window
tajo connectors install notion \
--token $NOTION_TOKEN

Konfigurá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: 26

Mapovanie 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: TAGS

API endpointy

Tajo sa integruje s nasledujúcimi endpointmi Notion API:

EndpointMetódaÚčel
/v1/databases/{id}/queryPOSTDopyt na záznamy databázy
/v1/databases/{id}GETZískanie schémy databázy
/v1/pagesPOSTVytvorenie novej stránky
/v1/pages/{id}GETZískanie vlastností stránky
/v1/pages/{id}PATCHAktualizácia vlastností stránky
/v1/blocks/{id}/childrenGETZískanie potomkov bloku
/v1/usersGETZoznam všetkých používateľov workspace
/v1/users/{id}GETZískanie používateľa
/v1/searchPOSTVyhľ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 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
// }

Dopyt a filtrovanie

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

Vytvorenie stránky z udalosti Brevo

// 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() } }
}
});
}
});

Obmedzenia rýchlosti

Notion uplatňuje obmedzenia rýchlosti na integráciu:

Typ limituHodnota
Rate limit3 požiadavky za sekundu na integráciu
Burst limitKrátke burty sú povolené, potom sa throttluje
Veľkosť stránkyMax 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émPríčinaRiešenie
401 UnauthorizedNeplatný alebo vypršaný tokenZnovu vygeneruj integration token
403 ForbiddenStránka nie je zdieľaná s integráciouZdieľaj stránku/databázu s integráciou cez Connections
404 Object not foundNesprávne ID databázy alebo nie je zdieľanáOverte ID databázy a nastavenia zdieľania
Chýbajúce vlastnostiNezhoda schémyZnovu synchronizuj schému databázy a aktualizuj mapovanie polí
Prekročenie limituPríliš veľa rýchlych požiadaviekZredukuj frekvenciu synchronizácie alebo veľkosť dávky

Debug režim

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

Test pripojenia

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

Odporúčané postupy

  1. Explicitne zdieľaj databázy - Interné integrácie vidia iba zdieľaný obsah
  2. Použi dopyty na databázy namiesto vyhľadávania - Dopyty sú rýchlejšie a spoľahlivejšie pre známe databázy
  3. Starostlivo namapuj typy vlastností - Notion má veľa typov vlastností; zosúlaď ich s typmi atribútov Brevo
  4. Spravuj stránkovanie - Vždy iteruj cez všetky kurzorové stránky pre kompletné dáta
  5. Synchronizuj inkrementálne - Použi filtre last_edited_time na synchronizáciu iba zmenených zápisov
  6. 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

Súvisiace zdroje

Subscribe to updates

developer-docs

Drop your email or phone number — we'll send you what matters next.

auto-detect
AI asistent

Ahoj! Opýtajte sa ma na dokumentáciu.