Conector Notion

Conectați spațiul de lucru Notion la Brevo pentru fluxuri de marketing bazate pe conținut, sincronizarea bazelor de date CRM și notificări automate prin Tajo.

Prezentare generală

ProprietateValoare
PlatformăNotion
CategoriePersonalizat
Complexitate configurareUșoară
Integrare oficialăNu
Date sincronizateBaze de date, Pagini, Utilizatori
Tip APIREST API
AutentificareToken integrare internă / OAuth 2.0
URL de bazăhttps://api.notion.com
Versiune API2022-06-28 (prin antetul Notion-Version)

Funcționalități

  • Sincronizare baze de date - Sincronizați intrările din bazele de date Notion cu contactele și listele Brevo
  • Punte CRM - Utilizați bazele de date Notion ca un CRM ușor, sincronizat cu Brevo
  • Notificări de conținut - Declanșați campanii Brevo când paginile Notion sunt publicate
  • Mapare proprietăți - Mapați proprietățile bazelor de date Notion la atributele de contact Brevo
  • Monitorizare pagini - Urmăriți actualizările paginilor și transmiteți-le ca evenimente Brevo
  • Sincronizare director utilizatori - Sincronizați membrii spațiului de lucru Notion cu contactele Brevo

Cerințe preliminare

Înainte de a începe, asigurați-vă că aveți:

  1. Un spațiu de lucru Notion cu acces de administrator
  2. O integrare internă Notion sau aplicație OAuth
  3. Pagini de baze de date partajate cu integrarea
  4. Un cont Brevo cu acces API
  5. Un cont Tajo cu abonament activ

Autentificare

Notion suportă două metode de autentificare.

Opțiunea 1: Integrare internă (Recomandat pentru un singur spațiu de lucru)

  1. Accesați notion.so/my-integrations
  2. Faceți clic pe New integration
  3. Denumiți-o “Tajo Integration”
  4. Selectați spațiul de lucru
  5. Setați capabilitățile:
Content Capabilities:
Read content: ✓
Update content: ✓
Insert content: ✓
User Capabilities:
Read user information: ✓
  1. Copiați Internal Integration Secret (începe cu ntn_)

Partajare pagini obligatorie

Integrările interne pot accesa doar paginile și bazele de date partajate explicit cu ele. Partajați fiecare bază de date țintă cu integrarea prin meniul ”…” > “Connections” > selectați integrarea.

Opțiunea 2: OAuth 2.0 (Integrări publice)

Pentru integrări care deservesc mai multe spații de lucru, utilizați fluxul OAuth 2.0:

  1. Înregistrați integrarea ca integrare publică
  2. Redirecționați utilizatorii la: https://api.notion.com/v1/oauth/authorize?client_id=...
  3. Schimbați codul pentru un token de acces la /v1/oauth/token

Conectare la Tajo

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

Configurare

Configurare de bază

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

Mapare câmpuri

Mapați proprietățile bazelor de date Notion la atributele de contact 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

Puncte finale API

Tajo se integrează cu următoarele puncte finale ale API-ului Notion:

Punct finalMetodăScop
/v1/databases/{id}/queryPOSTInteroghează intrările din baza de date
/v1/databases/{id}GETRecuperează schema bazei de date
/v1/pagesPOSTCreează o pagină nouă
/v1/pages/{id}GETRecuperează proprietățile paginii
/v1/pages/{id}PATCHActualizează proprietățile paginii
/v1/blocks/{id}/childrenGETRecuperează elementele copil ale blocului
/v1/usersGETListează toți utilizatorii spațiului de lucru
/v1/users/{id}GETRecuperează un utilizator
/v1/searchPOSTCaută în spațiul de lucru

Exemple de cod

Inițializare conector

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

Sincronizare bază de date cu 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
// }

Interogare și filtrare

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

Creare pagină din eveniment 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() } }
}
});
}
});

Limite de rată

Notion aplică limite de rată per integrare:

Tip limităValoare
Limită de rată3 cereri pe secundă per integrare
Limită burstBurst-uri scurte permise, apoi limitare
Dimensiune paginăMaxim 100 elemente per cerere paginată

Paginare bazată pe cursor

Notion utilizează paginare bazată pe cursor. Tajo gestionează automat acest lucru, iterând prin toate paginile folosind parametrul next_cursor până când has_more returnează false.

Notion returnează 429 Too Many Requests când limitele de rată sunt depășite, cu un antet Retry-After.

Depanare

Probleme frecvente

ProblemăCauzăSoluție
401 NeautorizatToken invalid sau expiratRegenerați tokenul de integrare
403 InterzisPagina nu este partajată cu integrareaPartajați pagina/baza de date cu integrarea prin Connections
404 Obiect negăsitID bază de date incorect sau nepartajatVerificați ID-ul bazei de date și setările de partajare
Proprietăți lipsăNepotrivire schemăResincronizați schema bazei de date și actualizați maparea câmpurilor
Limită de rată depășităPrea multe cereri rapideReduceți frecvența sincronizării sau dimensiunea lotului

Modul de depanare

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

Testare conexiune

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

Bune practici

  1. Partajați bazele de date explicit - Integrările interne văd doar conținutul partajat
  2. Utilizați interogări de baze de date față de căutare - Interogările sunt mai rapide și mai fiabile pentru bazele de date cunoscute
  3. Mapați tipurile de proprietăți cu atenție - Notion are multe tipuri de proprietăți; potriviți-le cu tipurile de atribute Brevo
  4. Gestionați paginarea - Iterați întotdeauna prin toate paginile cu cursor pentru date complete
  5. Sincronizați incremental - Utilizați filtre last_edited_time pentru a sincroniza doar intrările modificate
  6. Configurați un program de interogare - Notion nu suportă webhook-uri nativ; interogați la intervale regulate

Securitate

  • Autentificare cu token Bearer - Secrete de integrare și tokeni OAuth
  • Numai HTTPS - Toată comunicarea API criptată prin TLS 1.2+
  • Acces cu scop limitat - Integrările accesează doar conținutul partajat explicit
  • OAuth 2.0 - Flux de autorizare securizat pentru integrări publice
  • Stocare criptată - Tokenii sunt criptați în repaus în Tajo
  • Izolare spațiu de lucru - Fiecare integrare este limitată la un singur spațiu de lucru

Resurse conexe

Subscribe to updates

developer-docs

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

auto-detect
Asistent AI

Bună! Întreabă-mă orice despre documentație.