Notion Connector

Poveži svoje delovno okolje Notion z Brevo za marketinške tokove, ki temeljijo na vsebini, sinhronizacijo CRM baz podatkov in avtomatska obvestila prek Tajo.

Pregled

LastnostVrednost
PlatformaNotion
KategorijaPo meri
Zahtevnost nastavitveEnostavna
Uradna integracijaNe
Sinhronizirani podatkiBaze podatkov, strani, uporabniki
Tip APIREST API
AvtentikacijaNotranji integracijski žeton / OAuth 2.0
Osnovni URLhttps://api.notion.com
Različica API2022-06-28 (prek glave Notion-Version)

Funkcionalnosti

  • Sinhronizacija baz podatkov – sinhronizacija vnosov baz podatkov Notion s stiki in seznami Brevo
  • Most za CRM – uporabi baze podatkov Notion kot lahek CRM, sinhroniziran z Brevo
  • Obvestila o vsebini – sproži kampanje Brevo, ko so strani Notion objavljene
  • Preslikava lastnosti – preslikaj lastnosti baze podatkov Notion v atribute stikov Brevo
  • Spremljanje strani – sledi posodobitvam strani in jih posreduj kot dogodke Brevo
  • Sinhronizacija imenika uporabnikov – sinhronizacija članov delovnega okolja Notion s stiki Brevo

Predpogoji

Preden začneš, se prepričaj, da imaš:

  1. Delovno okolje Notion z administratorskim dostopom
  2. Notranjo integracijo ali OAuth aplikacijo Notion
  3. Strani baz podatkov, ki so deljene z integracijo
  4. Brevo račun z dostopom do API
  5. Tajo račun z aktivno naročnino

Avtentikacija

Notion podpira dve metodi avtentikacije.

Možnost 1: Notranja integracija (priporočeno za eno delovno okolje)

  1. Pojdi na notion.so/my-integrations
  2. Klikni New integration
  3. Poimenuj jo “Tajo Integration”
  4. Izberi svoje delovno okolje
  5. Nastavi zmogljivosti:
Content Capabilities:
Read content: ✓
Update content: ✓
Insert content: ✓
User Capabilities:
Read user information: ✓
  1. Kopiraj Internal Integration Secret (začne se z ntn_)

Zahtevano deljenje strani

Notranje integracije imajo dostop samo do strani in baz podatkov, ki so z njimi eksplicitno deljene. Vsako ciljno bazo podatkov deli z integracijo prek menija ”…” > “Connections” > izberi svojo integracijo.

Možnost 2: OAuth 2.0 (javne integracije)

Za integracije, ki pokrivajo več delovnih okolij, uporabi tok OAuth 2.0:

  1. Registriraj svojo integracijo kot javno integracijo
  2. Preusmeri uporabnike na: https://api.notion.com/v1/oauth/authorize?client_id=...
  3. Zamenjaj kodo za žeton za dostop na /v1/oauth/token

Povezava s Tajo

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

Konfiguracija

Osnovna nastavitev

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

Preslikava polj

Preslikaj lastnosti baze podatkov Notion v atribute stikov 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

Končne točke API

Tajo se integrira z naslednjimi končnimi točkami Notion API:

Končna točkaMetodaNamen
/v1/databases/{id}/queryPOSTPoizvedba po vnosih baze podatkov
/v1/databases/{id}GETPridobi shemo baze podatkov
/v1/pagesPOSTUstvari novo stran
/v1/pages/{id}GETPridobi lastnosti strani
/v1/pages/{id}PATCHPosodobi lastnosti strani
/v1/blocks/{id}/childrenGETPridobi podrejene bloke
/v1/usersGETSeznam vseh uporabnikov delovnega okolja
/v1/users/{id}GETPridobi uporabnika
/v1/searchPOSTIskanje po delovnem okolju

Primeri kode

Inicializacija konektorja

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

Sinhronizacija baze podatkov z 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
// }

Poizvedba in filtriranje

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

Ustvarjanje strani iz événement 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() } }
}
});
}
});

Omejitve hitrosti

Notion uveljavi omejitve hitrosti na integracijo:

Vrsta omejitveVrednost
Omejitev hitrosti3 zahtevki na sekundo na integracijo
Omejitev za sunkeKratki sunki so dovoljeni, nato pride do omejevanja
Velikost straniNajveč 100 elementov na paginirani zahtevek

Paginacija na osnovi kazalca

Notion uporablja paginacijo na osnovi kazalca. Tajo to obravnava samodejno in z iteracijo prek vseh strani z parametrom next_cursor do has_more = false.

Notion vrne 429 Too Many Requests, ko so omejitve hitrosti prekoračene, z glavo Retry-After.

Odpravljanje težav

Pogoste težave

TežavaVzrokRešitev
401 UnauthorizedNeveljaven ali potekel žetonObnovi integracijski žeton
403 ForbiddenStran ni deljena z integracijoDeli stran/bazo podatkov z integracijo prek Connections
404 Object not foundNapačen ID baze podatkov ali ni deljenoPotrdi ID baze podatkov in nastavitve deljenja
Manjkajo lastnostiNeujemanje shemeZnova sinhronizira shemo baze podatkov in posodobi preslikavo polj
Prekoračena omejitev hitrostiPreveč hitrih zahtevkovZmanjšaj pogostost sinhronizacije ali velikost paketa

Način odpravljanja napak

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

Preizkus povezave

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

Najboljše prakse

  1. Eksplicitno deli baze podatkov – notranje integracije vidijo samo deljeno vsebino
  2. Uporabi poizvedbe po bazi podatkov namesto iskanja – poizvedbe so hitrejše in zanesljivejše za znane baze podatkov
  3. Skrbno preslikaj vrste lastnosti – Notion ima veliko vrst lastnosti; ujemi jih z vrstami atributov Brevo
  4. Obravnavaj paginacijo – vedno iteriraj skozi vse strani kazalca za popolne podatke
  5. Sinhronizacija postopoma – za sinhronizacijo samo spremenjenih vnosov uporabi filtre last_edited_time
  6. Nastavi urnik anketiranja – Notion ne podpira webhookov izvorno; anketiraj v rednih intervalih

Varnost

  • Avtentikacija z žetonom prinosnika – integracijske skrivnosti in OAuth žetoni
  • Samo HTTPS – vsa komunikacija API šifrirana prek TLS 1.2+
  • Obsegani dostop – integracije imajo dostop samo do eksplicitno deljene vsebine
  • OAuth 2.0 – varen tok avtorizacije za javne integracije
  • Šifrirano shranjevanje – žetoni šifrirani v mirovanju v Tajo
  • Izolacija delovnega okolja – vsaka integracija je omejena na eno delovno okolje

Povezani viri

Subscribe to updates

developer-docs

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

auto-detect
AI pomočnik

Živjo! Vprašajte me o dokumentaciji.