Notion Bağlayıcısı
İçerik odaklı pazarlama iş akışları, CRM veritabanı senkronizasyonu ve otomatik bildirimler için Notion çalışma alanınızı Tajo üzerinden Brevo’ya bağlayın.
Genel Bakış
| Özellik | Değer |
|---|---|
| Platform | Notion |
| Kategori | Özel |
| Kurulum Karmaşıklığı | Kolay |
| Resmi Entegrasyon | Hayır |
| Senkronize Edilen Veri | Veritabanları, Sayfalar, Kullanıcılar |
| API Türü | REST API |
| Kimlik Doğrulama | Dahili Entegrasyon Belirteci / OAuth 2.0 |
| Temel URL | https://api.notion.com |
| API Sürümü | 2022-06-28 (Notion-Version başlığı aracılığıyla) |
Özellikler
- Veritabanı senkronizasyonu - Notion veritabanı girişlerini Brevo kişilerine ve listelerine senkronize edin
- CRM köprüsü - Brevo’ya senkronize edilen hafif bir CRM olarak Notion veritabanlarını kullanın
- İçerik bildirimleri - Notion sayfaları yayınlandığında Brevo kampanyalarını tetikleyin
- Özellik eşleştirme - Notion veritabanı özelliklerini Brevo kişi özniteliklerine eşleyin
- Sayfa izleme - Sayfa güncellemelerini izleyin ve Brevo olayları olarak iletin
- Kullanıcı dizini senkronizasyonu - Notion çalışma alanı üyelerini Brevo kişilerine senkronize edin
Ön Koşullar
Başlamadan önce şunlara sahip olduğunuzdan emin olun:
- Yönetici erişimi olan bir Notion çalışma alanı
- Bir Notion dahili entegrasyonu veya OAuth uygulaması
- Entegrasyonla paylaşılan veritabanı sayfaları
- API erişimi olan bir Brevo hesabı
- Etkin aboneliği olan bir Tajo hesabı
Kimlik Doğrulama
Notion iki kimlik doğrulama yöntemini destekler.
Seçenek 1: Dahili Entegrasyon (Tek çalışma alanı için önerilir)
- notion.so/my-integrations adresine gidin
- New integration öğesine tıklayın
- Adını “Tajo Integration” olarak belirleyin
- Çalışma alanınızı seçin
- Yetenekleri ayarlayın:
Content Capabilities: Read content: ✓ Update content: ✓ Insert content: ✓
User Capabilities: Read user information: ✓- Internal Integration Secret değerini kopyalayın (
ntn_ile başlar)
Sayfa Paylaşımı Gerekli
Dahili entegrasyonlar yalnızca kendileriyle açıkça paylaşılan sayfalara ve veritabanlarına erişebilir. Her hedef veritabanını entegrasyonunuzla ”…” menüsü > “Connections” > entegrasyonunuzu seçerek paylaşın.
Seçenek 2: OAuth 2.0 (Herkese açık entegrasyonlar)
Birden fazla çalışma alanına hizmet veren entegrasyonlar için OAuth 2.0 akışını kullanın:
- Entegrasyonunuzu herkese açık entegrasyon olarak kaydedin
- Kullanıcıları şuraya yönlendirin:
https://api.notion.com/v1/oauth/authorize?client_id=... - Kodu
/v1/oauth/tokenüzerinden erişim belirtecine dönüştürün
Tajo’ya Bağlanma
tajo connectors install notion \ --token $NOTION_TOKENYapılandırma
Temel Kurulum
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: 26Alan Eşleştirme
Notion veritabanı özelliklerini Brevo kişi özniteliklerine eşleyin:
field_mapping: # Notion özelliği -> Brevo özniteliği 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 Uç Noktaları
Tajo, aşağıdaki Notion API uç noktalarıyla entegre olur:
| Uç Nokta | Yöntem | Amaç |
|---|---|---|
/v1/databases/{id}/query | POST | Veritabanı girişlerini sorgula |
/v1/databases/{id} | GET | Veritabanı şemasını al |
/v1/pages | POST | Yeni sayfa oluştur |
/v1/pages/{id} | GET | Sayfa özelliklerini al |
/v1/pages/{id} | PATCH | Sayfa özelliklerini güncelle |
/v1/blocks/{id}/children | GET | Blok alt öğelerini al |
/v1/users | GET | Tüm çalışma alanı kullanıcılarını listele |
/v1/users/{id} | GET | Bir kullanıcıyı al |
/v1/search | POST | Çalışma alanı genelinde ara |
Kod Örnekleri
Bağlayıcıyı Başlatma
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});Veritabanını Brevo’ya Senkronize Etme
// Bir Notion veritabanını Brevo listesine senkronize etawait 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// }Sorgulama ve Filtreleme
// Notion veritabanını filtrelerle sorgulaconst results = await tajo.connectors.query('notion', { databaseId: 'abc123def456', filter: { property: 'Status', select: { equals: 'Active' } }, sorts: [ { property: 'Last Contact', direction: 'descending' } ]});Brevo Olayından Sayfa Oluşturma
// Bir Brevo kişisi bir kilometre taşına ulaştığında Notion sayfası oluşturtajo.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() } } } }); }});Hız Sınırları
Notion, entegrasyon başına hız sınırları uygular:
| Sınır Türü | Değer |
|---|---|
| Hız sınırı | Entegrasyon başına saniyede 3 istek |
| Patlama sınırı | Kısa patlamalara izin verilir, ardından kısıtlanır |
| Sayfa boyutu | Sayfalanmış istek başına en fazla 100 öğe |
İmleç Tabanlı Sayfalama
Notion, imleç tabanlı sayfalama kullanır. Tajo bunu otomatik olarak halleder, has_more değeri false olana kadar next_cursor parametresini kullanarak tüm sayfalarda yineler.
Hız sınırları aşıldığında Notion, Retry-After başlığıyla birlikte 429 Too Many Requests döndürür.
Sorun Giderme
Yaygın Sorunlar
| Sorun | Neden | Çözüm |
|---|---|---|
| 401 Unauthorized | Geçersiz veya süresi dolmuş belirteç | Entegrasyon belirtecini yeniden oluşturun |
| 403 Forbidden | Sayfa entegrasyonla paylaşılmadı | Sayfayı/veritabanını Connections aracılığıyla entegrasyonla paylaşın |
| 404 Object not found | Veritabanı kimliği yanlış veya paylaşılmadı | Veritabanı kimliğini ve paylaşım ayarlarını doğrulayın |
| Özellikler eksik | Şema uyuşmazlığı | Veritabanı şemasını yeniden senkronize edin ve alan eşleşmesini güncelleyin |
| Hız sınırı aşıldı | Çok fazla hızlı istek | Senkronizasyon sıklığını veya yığın boyutunu azaltın |
Hata Ayıklama Modu
connectors: notion: debug: true log_level: verbose log_api_calls: trueBağlantı Testi
tajo connectors test notion# ✓ API kimlik doğrulaması başarılı# ✓ Veritabanı erişimi doğrulandı# ✓ Kullanıcı listesi erişilebilir# ✓ Arama çalışır durumda# ✓ Sayfa oluşturma kullanılabilirEn İyi Uygulamalar
- Veritabanlarını açıkça paylaşın - Dahili entegrasyonlar yalnızca paylaşılan içeriği görür
- Arama yerine veritabanı sorgularını kullanın - Bilinen veritabanları için sorgular daha hızlı ve güvenilirdir
- Özellik türlerini dikkatli eşleyin - Notion’da birçok özellik türü vardır; bunları Brevo öznitelik türleriyle eşleştirin
- Sayfalamayı yönetin - Eksiksiz veri için her zaman tüm imleç sayfalarında yineleyin
- Artımlı senkronize edin - Yalnızca değişen girişleri senkronize etmek için
last_edited_timefiltrelerini kullanın - Bir yoklama programı ayarlayın - Notion, yerel olarak webhook desteklemez; düzenli aralıklarla yoklayın
Güvenlik
- Bearer Belirteç Kimlik Doğrulaması - Entegrasyon gizli anahtarları ve OAuth belirteçleri
- Yalnızca HTTPS - Tüm API iletişimi TLS 1.2+ ile şifrelenir
- Kapsamlı Erişim - Entegrasyonlar yalnızca açıkça paylaşılan içeriğe erişir
- OAuth 2.0 - Herkese açık entegrasyonlar için güvenli yetkilendirme akışı
- Şifreli Depolama - Belirteçler Tajo’da şifreli olarak saklanır
- Çalışma Alanı İzolasyonu - Her entegrasyon tek bir çalışma alanına kapsamlandırılır