موصل Notion
حالة الموصل: مخطط له لم يُبنَ بعد. لا يشغّل Tajo هذا الموصل اليوم.
رسم توضيحي · بيانات تجريبية
مثال على المزامنة
المصدر
Notion
حالة الموصل: مخطط له
الوجهة
أداتك الأخرى
حالة الموصل: أداة مخصصة
ربط الحقول
| حقل المصدر | حقل الوجهة | قيمة نموذجية |
|---|---|---|
record.id | source_id | record_1042 |
record.updated_at | updated_at | 2026-10-18T08:00:00Z |
record.value | value | sample_value |
- الصياغة
- راجع سجلاً واحداً
- اعتمد هذه النسخة
تصف الحالات كل موصل على حدة، ولا تضمن جاهزية هذه المزامنة. حقول توضيحية. راجع المخطط الفعلي والأذونات قبل تشغيل المزامنة.
اربط مساحة عمل Notion الخاصة بك مع Brevo لتشغيل سير عمل تسويقي قائم على المحتوى، ومزامنة قواعد بيانات إدارة علاقات العملاء، والإشعارات الآلية عبر Tajo.
نظرة عامة
| الخاصية | القيمة |
|---|---|
| المنصة | Notion |
| الفئة | مخصص |
| تعقيد الإعداد | سهل |
| تكامل رسمي | لا |
| البيانات المُزامَنة | قواعد بيانات، صفحات، مستخدمون |
| نوع واجهة البرمجة | REST API |
| المصادقة | رمز تكامل داخلي / OAuth 2.0 |
| عنوان URL الأساسي | https://api.notion.com |
| إصدار API | 2022-06-28 (عبر الترويسة Notion-Version) |
الميزات
- مزامنة قواعد البيانات - مزامنة إدخالات قواعد بيانات Notion مع جهات اتصال وقوائم Brevo
- جسر إدارة علاقات العملاء - استخدام قواعد بيانات Notion كنظام CRM خفيف متزامن مع Brevo
- إشعارات المحتوى - تشغيل حملات Brevo عند نشر صفحات Notion
- تعيين الخصائص - ربط خصائص قواعد بيانات Notion بسمات جهات اتصال Brevo
- مراقبة الصفحات - تتبع تحديثات الصفحات وإعادة توجيهها كأحداث في Brevo
- مزامنة دليل المستخدمين - مزامنة أعضاء مساحة عمل Notion مع جهات اتصال Brevo
المتطلبات الأساسية
قبل البدء، تأكد من توفر ما يلي:
- مساحة عمل Notion مع صلاحيات مسؤول
- تكامل Notion داخلي أو تطبيق OAuth
- صفحات قواعد بيانات تمت مشاركتها مع التكامل
- حساب Brevo مع وصول إلى API
- حساب Tajo مع اشتراك نشط
المصادقة
يدعم Notion طريقتين للمصادقة.
الخيار الأول: التكامل الداخلي (موصى به لمساحة عمل واحدة)
- انتقل إلى 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” > اختيار التكامل الخاص بك.
الخيار الثاني: OAuth 2.0 (التكاملات العامة)
للتكاملات التي تخدم مساحات عمل متعددة، استخدم تدفق OAuth 2.0:
- سجّل التكامل الخاص بك كتكامل عام
- أعد توجيه المستخدمين إلى:
https://api.notion.com/v1/oauth/authorize?client_id=... - استبدل الكود برمز وصول في
/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: TAGSنقاط نهاية واجهة البرمجة
يتكامل Tajo مع نقاط نهاية Notion API التالية:
| نقطة النهاية | الطريقة | الغرض |
|---|---|---|
/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 | استرجاع العناصر الفرعية للكتلة |
/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
// مزامنة قاعدة بيانات Notion إلى قائمة Brevoawait 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// }الاستعلام والتصفية
// استعلام قاعدة بيانات Notion مع عوامل تصفيةconst results = await tajo.connectors.query('notion', { databaseId: 'abc123def456', filter: { property: 'Status', select: { equals: 'Active' } }, sorts: [ { property: 'Last Contact', direction: 'descending' } ]});إنشاء صفحة من حدث في Brevo
// إنشاء صفحة Notion عندما يصل جهة اتصال Brevo إلى مرحلة معينة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() } } } }); }});حدود المعدل
يفرض Notion حدود معدل لكل تكامل:
| نوع الحد | القيمة |
|---|---|
| حد المعدل | 3 طلبات في الثانية لكل تكامل |
| حد الدفعات | يُسمح بدفعات قصيرة، ثم يتم التقييد |
| حجم الصفحة | 100 عنصر كحد أقصى لكل طلب مُقسَّم |
ترقيم الصفحات القائم على المؤشر
يستخدم Notion ترقيمًا قائمًا على المؤشر. يتعامل Tajo مع هذا تلقائيًا، ويمرر عبر جميع الصفحات باستخدام المعامل next_cursor حتى يعود has_more بقيمة false.
يعيد Notion 429 Too Many Requests عند تجاوز حدود المعدل، مع ترويسة Retry-After.
استكشاف الأخطاء وإصلاحها
المشاكل الشائعة
| المشكلة | السبب | الحل |
|---|---|---|
| 401 Unauthorized | رمز غير صالح أو منتهي | أعد توليد رمز التكامل |
| 403 Forbidden | الصفحة غير مشتركة مع التكامل | شارك الصفحة/قاعدة البيانات مع التكامل عبر Connections |
| 404 Object not found | معرّف قاعدة البيانات غير صحيح أو غير مشترك | تحقق من معرّف قاعدة البيانات وإعدادات المشاركة |
| خصائص مفقودة | عدم تطابق المخطط | أعد مزامنة مخطط قاعدة البيانات وحدّث تعيين الحقول |
| تجاوز حد المعدل | طلبات سريعة متعددة | قلل تكرار المزامنة أو حجم الدفعات |
وضع التصحيح
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
- تعامل مع ترقيم الصفحات - مرّر دائمًا عبر جميع صفحات المؤشر للحصول على البيانات الكاملة
- المزامنة التزايدية - استخدم عوامل تصفية
last_edited_timeلمزامنة الإدخالات المتغيرة فقط - إعداد جدول استطلاع - لا يدعم Notion الـ webhooks أصلاً؛ استطلع على فترات منتظمة
الأمان
- مصادقة Bearer Token - أسرار التكامل ورموز OAuth
- HTTPS فقط - جميع اتصالات API مشفرة عبر TLS 1.2+
- وصول مُقيّد - لا تصل التكاملات إلا إلى المحتوى المشترك صراحةً
- OAuth 2.0 - تدفق تفويض آمن للتكاملات العامة
- تخزين مُشفَّر - يتم تشفير الرموز في حالة السكون داخل Tajo
- عزل مساحة العمل - يقتصر كل تكامل على مساحة عمل واحدة