Notion Konektor
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:
- Notion radni prostor s administratorskim pristupom
- Notion internu integraciju ili OAuth aplikaciju
- Stranice baze podataka dijeljene s integracijom
- Brevo račun s API pristupom
- Tajo račun s aktivnom pretplatom
Autentifikacija
Notion podržava dvije metode autentifikacije.
Opcija 1: Interna integracija (Preporučeno za jedan radni prostor)
- Idite na notion.so/my-integrations
- Kliknite New integration
- Nazovite je “Tajo Integration”
- Odaberite svoj radni prostor
- Postavite mogućnosti:
Mogućnosti sadržaja: Čitanje sadržaja: ✓ Ažuriranje sadržaja: ✓ Umetanje sadržaja: ✓
Mogućnosti korisnika: Čitanje korisničkih informacija: ✓- 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:
- Registrirajte svoju integraciju kao javnu integraciju
- Preusmjerite korisnike na:
https://api.notion.com/v1/oauth/authorize?client_id=... - Zamijenite kod za token za pristup na
/v1/oauth/token
Povezivanje s Tajom
tajo connectors install notion \ --token $NOTION_TOKENKonfiguracija
Osnovna konfiguracija
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: 26Mapiranje polja
Mapirajte Notion svojstva baze podataka na Brevo atribute kontakata:
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: TAGSAPI 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
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
// Sinkronizacija Notion baze podataka s Brevo popisomawait 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
// Upit Notion baze podataka s filterimaconst 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
// Stvaranje Notion stranice kada Brevo kontakt dostigne prekretnicutajo.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
connectors: notion: debug: true log_level: verbose log_api_calls: trueTestiranje veze
tajo connectors test notion# ✓ API autentifikacija uspješna# ✓ Pristup bazi podataka potvrđen# ✓ Popis korisnika dostupan# ✓ Pretraživanje operativno# ✓ Stvaranje stranica dostupnoPreporučene prakse
- Eksplicitno dijelite baze podataka - Interne integracije vide samo dijeljeni sadržaj
- Koristite upite baze podataka umjesto pretraživanja - Upiti su brži i pouzdaniji za poznate baze podataka
- Pažljivo mapirajte vrste svojstava - Notion ima mnogo vrsta svojstava; uskladite ih s Brevo vrstama atributa
- Rukujte paginacijom - Uvijek iterirajte kroz sve stranice kursora za potpune podatke
- Sinkronizirajte inkrementalno - Koristite filtere
last_edited_timeza sinkronizaciju samo promijenjenih unosa - 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