Σύνδεσμος Notion
Συνδέστε τον χώρο εργασίας Notion σας με το Brevo για ροές εργασίας marketing βάσει περιεχομένου, συγχρονισμό βάσης δεδομένων CRM και αυτοματοποιημένες ειδοποιήσεις μέσω Tajo.
Επισκόπηση
| Ιδιότητα | Τιμή |
|---|---|
| Πλατφόρμα | Notion |
| Κατηγορία | Προσαρμοσμένο |
| Πολυπλοκότητα Ρύθμισης | Εύκολη |
| Επίσημη Ενσωμάτωση | Όχι |
| Δεδομένα που Συγχρονίζονται | Βάσεις Δεδομένων, Σελίδες, Χρήστες |
| Τύπος API | REST API |
| Πιστοποίηση | Internal Integration Token / OAuth 2.0 |
| Βασικό URL | https://api.notion.com |
| Έκδοση API | 2022-06-28 (μέσω header Notion-Version) |
Χαρακτηριστικά
- Συγχρονισμός βάσης δεδομένων - Συγχρονισμός καταχωρήσεων βάσης δεδομένων Notion σε επαφές και λίστες Brevo
- Γέφυρα CRM - Χρήση βάσεων δεδομένων Notion ως ελαφρύ CRM, συγχρονισμένο με το Brevo
- Ειδοποιήσεις περιεχομένου - Ενεργοποίηση καμπανιών Brevo όταν δημοσιεύονται σελίδες Notion
- Αντιστοίχιση ιδιοτήτων - Αντιστοίχιση ιδιοτήτων βάσης δεδομένων Notion σε χαρακτηριστικά επαφών Brevo
- Παρακολούθηση σελίδας - Παρακολούθηση ενημερώσεων σελίδας και προώθηση ως εκδηλώσεις Brevo
- Συγχρονισμός καταλόγου χρηστών - Συγχρονισμός μελών χώρου εργασίας Notion σε επαφές Brevo
Προαπαιτούμενα
Πριν ξεκινήσετε, βεβαιωθείτε ότι διαθέτετε:
- Χώρο εργασίας Notion με πρόσβαση διαχειριστή
- Εσωτερική ενσωμάτωση Notion ή εφαρμογή OAuth
- Σελίδες βάσης δεδομένων κοινοποιημένες με την ενσωμάτωση
- Λογαριασμό Brevo με πρόσβαση API
- Λογαριασμό Tajo με ενεργή συνδρομή
Πιστοποίηση
Το Notion υποστηρίζει δύο μεθόδους πιστοποίησης.
Επιλογή 1: Εσωτερική Ενσωμάτωση (Συνιστάται για μεμονωμένο χώρο εργασίας)
- Μεταβείτε στο notion.so/my-integrations
- Κάντε κλικ στο New integration
- Ονομάστε το “Tajo Integration”
- Επιλέξτε τον χώρο εργασίας σας
- Ορίστε δυνατότητες:
Content Capabilities: Read content: ✓ Update content: ✓ Insert content: ✓
User Capabilities: Read user information: ✓- Αντιγράψτε το Internal Integration Secret (αρχίζει με
ntn_)
Απαιτείται Κοινοποίηση Σελίδας
Οι εσωτερικές ενσωματώσεις μπορούν να έχουν πρόσβαση μόνο σε σελίδες και βάσεις δεδομένων που κοινοποιούνται ρητά με αυτές. Κοινοποιήστε κάθε στοχευόμενη βάση δεδομένων με την ενσωμάτωσή σας μέσω του μενού ”…” > “Connections” > επιλέξτε την ενσωμάτωσή σας.
Επιλογή 2: OAuth 2.0 (Δημόσιες ενσωματώσεις)
Για ενσωματώσεις που εξυπηρετούν πολλαπλούς χώρους εργασίας, χρησιμοποιήστε τη ροή OAuth 2.0:
- Εγγράψτε την ενσωμάτωσή σας ως δημόσια ενσωμάτωση
- Ανακατευθύνετε χρήστες στο:
https://api.notion.com/v1/oauth/authorize?client_id=... - Ανταλλάξτε τον κώδικα για access token στο
/v1/oauth/token
Σύνδεση με Tajo
tajo connectors install notion \ --token $NOTION_TOKENΔιαμόρφωση
Βασική Ρύθμιση
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Αντιστοίχιση Πεδίων
Αντιστοιχίστε ιδιότητες βάσης δεδομένων Notion σε χαρακτηριστικά επαφών 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: TAGSEndpoints API
Το Tajo ενσωματώνεται με τα παρακάτω endpoints API Notion:
| Endpoint | Μέθοδος | Σκοπός |
|---|---|---|
/v1/databases/{id}/query | POST | Ερώτημα καταχωρήσεων βάσης δεδομένων |
/v1/databases/{id} | GET | Ανάκτηση σχήματος βάσης δεδομένων |
/v1/pages | POST | Δημιουργία νέας σελίδας |
/v1/pages/{id} | GET | Ανάκτηση ιδιοτήτων σελίδας |
/v1/pages/{id} | PATCH | Ενημέρωση ιδιοτήτων σελίδας |
/v1/blocks/{id}/children | GET | Ανάκτηση παιδικών blocks |
/v1/users | GET | Λίστα όλων των χρηστών χώρου εργασίας |
/v1/users/{id} | GET | Ανάκτηση χρήστη |
/v1/search | POST | Αναζήτηση σε χώρο εργασίας |
Παραδείγματα Κώδικα
Αρχικοποίηση Συνδέσμου
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});Συγχρονισμός Βάσης Δεδομένων με Brevo
// Sync a Notion database to a Brevo listawait 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// }Ερώτημα και Φιλτράρισμα
// Query Notion database with filtersconst results = await tajo.connectors.query('notion', { databaseId: 'abc123def456', filter: { property: 'Status', select: { equals: 'Active' } }, sorts: [ { property: 'Last Contact', direction: 'descending' } ]});Δημιουργία Σελίδας από Εκδήλωση Brevo
// Create a Notion page when a Brevo contact reaches a milestonetajo.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() } } } }); }});Όρια Ρυθμού
Το Notion επιβάλλει όρια ρυθμού ανά ενσωμάτωση:
| Τύπος Ορίου | Τιμή |
|---|---|
| Όριο ρυθμού | 3 αιτήματα ανά δευτερόλεπτο ανά ενσωμάτωση |
| Όριο έκρηξης | Επιτρέπονται σύντομες εκρήξεις, μετά περιορισμός |
| Μέγεθος σελίδας | 100 στοιχεία μέγ. ανά σελιδοποιημένο αίτημα |
Σελιδοποίηση Βάσει Cursor
Το Notion χρησιμοποιεί σελιδοποίηση βάσει cursor. Το Tajo χειρίζεται αυτό αυτόματα, επαναλαμβάνοντας σε όλες τις σελίδες χρησιμοποιώντας την παράμετρο next_cursor μέχρι το has_more να επιστρέψει false.
Το Notion επιστρέφει 429 Too Many Requests όταν υπερβαίνονται τα όρια ρυθμού, με header Retry-After.
Αντιμετώπιση Προβλημάτων
Συνηθισμένα Προβλήματα
| Πρόβλημα | Αιτία | Λύση |
|---|---|---|
| 401 Unauthorized | Μη έγκυρο ή ληγμένο token | Αναγέννηση token ενσωμάτωσης |
| 403 Forbidden | Η σελίδα δεν κοινοποιήθηκε με την ενσωμάτωση | Κοινοποιήστε σελίδα/βάση δεδομένων με ενσωμάτωση μέσω Connections |
| 404 Object not found | Λάθος ID βάσης δεδομένων ή δεν κοινοποιήθηκε | Επαληθεύστε ID βάσης δεδομένων και ρυθμίσεις κοινοποίησης |
| Λείπουν ιδιότητες | Αναντιστοιχία σχήματος | Επανασυγχρονίστε σχήμα βάσης δεδομένων και ενημερώστε αντιστοίχιση πεδίων |
| Υπέρβαση ορίου ρυθμού | Πολλά γρήγορα αιτήματα | Μειώστε συχνότητα συγχρονισμού ή μέγεθος batch |
Λειτουργία Εντοπισμού Σφαλμάτων
connectors: notion: debug: true log_level: verbose log_api_calls: trueΔοκιμή Σύνδεσης
tajo connectors test notion# ✓ API authentication successful# ✓ Database access verified# ✓ User list accessible# ✓ Search operational# ✓ Page creation availableΒέλτιστες Πρακτικές
- Κοινοποιείτε βάσεις δεδομένων ρητά - Οι εσωτερικές ενσωματώσεις βλέπουν μόνο κοινοποιημένο περιεχόμενο
- Χρησιμοποιήστε ερωτήματα βάσης δεδομένων αντί αναζήτησης - Τα ερωτήματα είναι γρηγορότερα και πιο αξιόπιστα για γνωστές βάσεις δεδομένων
- Αντιστοιχίστε τύπους ιδιοτήτων προσεκτικά - Το Notion έχει πολλούς τύπους ιδιοτήτων· αντιστοιχίστε τους σε τύπους χαρακτηριστικών Brevo
- Χειριστείτε σελιδοποίηση - Επαναλαμβάνετε πάντα σε όλες τις σελίδες cursor για πλήρη δεδομένα
- Συγχρονισμός σταδιακά - Χρησιμοποιήστε φίλτρα
last_edited_timeγια συγχρονισμό μόνο αλλαγμένων καταχωρήσεων - Ρυθμίστε πρόγραμμα polling - Το Notion δεν υποστηρίζει webhooks εγγενώς· ανακτήστε σε τακτά διαστήματα
Ασφάλεια
- Πιστοποίηση Bearer Token - Secrets ενσωμάτωσης και OAuth tokens
- Μόνο HTTPS - Όλη η επικοινωνία API κρυπτογραφημένη μέσω TLS 1.2+
- Πρόσβαση βάσει scope - Οι ενσωματώσεις έχουν πρόσβαση μόνο σε ρητά κοινοποιημένο περιεχόμενο
- OAuth 2.0 - Ασφαλής ροή εξουσιοδότησης για δημόσιες ενσωματώσεις
- Κρυπτογραφημένη Αποθήκευση - Τα tokens κρυπτογραφούνται σε ηρεμία στο Tajo
- Απομόνωση Χώρου Εργασίας - Κάθε ενσωμάτωση περιορίζεται σε μεμονωμένο χώρο εργασίας