Konektor Notion
Propojte svůj pracovní prostor Notion s Brevo pro marketingové pracovní toky řízené obsahem, synchronizaci CRM databází a automatizovaná oznámení přes Tajo.
Přehled
| Vlastnost | Hodnota |
|---|---|
| Platforma | Notion |
| Kategorie | Vlastní |
| Složitost nastavení | Snadná |
| Oficiální integrace | Ne |
| Synchronizovaná data | Databáze, Stránky, Uživatelé |
| Typ API | REST API |
| Ověření | Token interní integrace / OAuth 2.0 |
| Základní URL | https://api.notion.com |
| Verze API | 2022-06-28 (přes hlavičku Notion-Version) |
Funkce
- Synchronizace databází – Synchronizujte záznamy databází Notion do kontaktů a seznamů Brevo
- CRM most – Používejte databáze Notion jako lehký CRM synchronizovaný s Brevo
- Notifikace o obsahu – Spouštějte kampaně Brevo při publikaci stránek Notion
- Mapování vlastností – Mapujte vlastnosti databáze Notion na atributy kontaktů Brevo
- Monitorování stránek – Sledujte aktualizace stránek a přeposílejte je jako události Brevo
- Synchronizace uživatelského adresáře – Synchronizujte členy pracovního prostoru Notion do kontaktů Brevo
Předpoklady
Než začnete, ujistěte se, že máte:
- Pracovní prostor Notion s administrátorským přístupem
- Interní integraci Notion nebo OAuth aplikaci
- Databázové stránky sdílené s integrací
- Účet Brevo s přístupem k API
- Účet Tajo s aktivním předplatným
Ověření
Notion podporuje dvě metody ověřování.
Možnost 1: Interní integrace (doporučeno pro jeden pracovní prostor)
- Přejděte na notion.so/my-integrations
- Klikněte na New integration
- Pojmenujte ji “Tajo Integration”
- Vyberte svůj pracovní prostor
- Nastavte oprávnění:
Oprávnění obsahu: Čtení obsahu: ✓ Aktualizace obsahu: ✓ Vkládání obsahu: ✓
Uživatelská oprávnění: Čtení informací o uživatelích: ✓- Zkopírujte Tajný klíč interní integrace (začíná
ntn_)
Vyžadováno sdílení stránek
Interní integrace mají přístup pouze ke stránkám a databázím, které jsou s nimi explicitně sdíleny. Sdílejte každou cílovou databázi se svou integrací přes nabídku „…” > „Connections” > vyberte svou integraci.
Možnost 2: OAuth 2.0 (Veřejné integrace)
Pro integrace obsluhující více pracovních prostorů použijte flow OAuth 2.0:
- Zaregistrujte svou integraci jako veřejnou integraci
- Přesměrujte uživatele na:
https://api.notion.com/v1/oauth/authorize?client_id=... - Vyměňte kód za přístupový token na
/v1/oauth/token
Připojení k Tajo
tajo connectors install notion \ --token $NOTION_TOKENKonfigurace
Základní nastavení
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: 26Mapování polí
Mapujte vlastnosti databáze Notion na atributy kontaktů Brevo:
field_mapping: # Vlastnost Notion -> Atribut Brevo 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: TAGSKoncové body API
Tajo se integruje s následujícími koncovými body Notion API:
| Koncový bod | Metoda | Účel |
|---|---|---|
/v1/databases/{id}/query | POST | Dotaz na záznamy databáze |
/v1/databases/{id} | GET | Načtení schématu databáze |
/v1/pages | POST | Vytvoření nové stránky |
/v1/pages/{id} | GET | Načtení vlastností stránky |
/v1/pages/{id} | PATCH | Aktualizace vlastností stránky |
/v1/blocks/{id}/children | GET | Načtení podřízených bloků |
/v1/users | GET | Výpis všech uživatelů pracovního prostoru |
/v1/users/{id} | GET | Načtení uživatele |
/v1/search | POST | Vyhledávání napříč pracovním prostorem |
Příklady kódu
Inicializace konektoru
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});Synchronizace databáze do Brevo
// Synchronizace databáze Notion do seznamu Brevoawait 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// }Dotaz a filtrování
// Dotaz na databázi Notion s filtryconst results = await tajo.connectors.query('notion', { databaseId: 'abc123def456', filter: { property: 'Status', select: { equals: 'Active' } }, sorts: [ { property: 'Last Contact', direction: 'descending' } ]});Vytvoření stránky z události Brevo
// Vytvoření stránky Notion, když kontakt Brevo dosáhne milníkutajo.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() } } } }); }});Omezení rychlosti
Notion aplikuje omezení rychlosti na integraci:
| Typ limitu | Hodnota |
|---|---|
| Limit rychlosti | 3 požadavky za sekundu na integraci |
| Burstový limit | Krátké bursts povoleny, poté omezeno |
| Velikost stránky | Max 100 položek na stránkovaný požadavek |
Stránkování na základě kurzoru
Notion používá stránkování na základě kurzoru. Tajo to zpracovává automaticky, iteruje přes všechny stránky pomocí parametru next_cursor, dokud has_more nevrátí false.
Notion vrací 429 Too Many Requests, když jsou překročeny limity rychlosti, s hlavičkou Retry-After.
Řešení problémů
Časté problémy
| Problém | Příčina | Řešení |
|---|---|---|
| 401 Unauthorized | Neplatný nebo vypršelý token | Obnovte token integrace |
| 403 Forbidden | Stránka není sdílena s integrací | Sdílejte stránku/databázi s integrací přes Connections |
| 404 Object not found | Nesprávné ID databáze nebo není sdílena | Ověřte ID databáze a nastavení sdílení |
| Chybějící vlastnosti | Neshoda schématu | Znovu synchronizujte schéma databáze a aktualizujte mapování polí |
| Překročen limit rychlosti | Příliš mnoho rychlých požadavků | Snižte frekvenci synchronizace nebo velikost dávky |
Režim ladění
connectors: notion: debug: true log_level: verbose log_api_calls: trueTest připojení
tajo connectors test notion# ✓ Ověření API úspěšné# ✓ Přístup k databázi ověřen# ✓ Seznam uživatelů přístupný# ✓ Vyhledávání funkční# ✓ Vytváření stránek dostupnéOsvědčené postupy
- Explicitně sdílejte databáze – Interní integrace vidí pouze sdílený obsah
- Používejte databázové dotazy místo vyhledávání – Dotazy jsou rychlejší a spolehlivější pro známé databáze
- Pečlivě mapujte typy vlastností – Notion má mnoho typů vlastností; slaďte je s typy atributů Brevo
- Zpracovávejte stránkování – Vždy iterujte přes všechny stránky kurzoru pro úplná data
- Synchronizujte přírůstkově – Používejte filtry
last_edited_timepro synchronizaci pouze změněných záznamů - Nastavte polling podle plánu – Notion nativně nepodporuje webhooky; pollujte v pravidelných intervalech
Zabezpečení
- Ověření Bearer tokenem – Tajné klíče integrace a OAuth tokeny
- Pouze HTTPS – Veškerá komunikace API šifrována přes TLS 1.2+
- Rozsahový přístup – Integrace mají přístup pouze k explicitně sdílenému obsahu
- OAuth 2.0 – Bezpečný autorizační flow pro veřejné integrace
- Šifrované úložiště – Tokeny šifrované v klidu v Tajo
- Izolace pracovního prostoru – Každá integrace je omezena na jeden pracovní prostor