Notion کنیکٹر
مواد سے چلنے والے مارکیٹنگ ورک فلوز، CRM ڈیٹا بیس سنکرونائزیشن، اور Tajo کے ذریعے خودکار اطلاعات کے لیے اپنے Notion ورک اسپیس کو Brevo سے منسلک کریں۔
جائزہ
| خاصیت | قدر |
|---|---|
| پلیٹ فارم | Notion |
| زمرہ | حسب ضرورت |
| سیٹ اپ کی پیچیدگی | آسان |
| آفیشل انٹیگریشن | نہیں |
| سنک شدہ ڈیٹا | Databases، Pages، صارفین |
| API قسم | REST API |
| توثیق | Internal Integration Token / OAuth 2.0 |
| بنیادی URL | https://api.notion.com |
| API ورژن | 2022-06-28 (Notion-Version ہیڈر کے ذریعے) |
خصوصیات
- ڈیٹا بیس سنک - Notion ڈیٹا بیس اندراجات کو Brevo رابطوں اور فہرستوں سے سنک کریں
- CRM برج - Brevo سے سنک شدہ ہلکے CRM کے طور پر Notion databases استعمال کریں
- مواد اطلاعات - جب Notion pages شائع ہوں تو Brevo مہمات کو متحرک کریں
- پراپرٹی میپنگ - Notion database خصوصیات کو Brevo رابطہ خصوصیات سے میپ کریں
- Page مانیٹرنگ - page اپ ڈیٹس کو ٹریک کریں اور Brevo ایونٹس کے طور پر آگے بھیجیں
- صارف ڈائریکٹری سنک - Notion ورک اسپیس ممبران کو Brevo رابطوں سے سنک کریں
ضروریات
شروع کرنے سے پہلے، یقینی بنائیں کہ آپ کے پاس ہے:
- ایڈمن رسائی کے ساتھ Notion ورک اسپیس
- Notion internal integration یا OAuth ایپ
- integration کے ساتھ شیئر شدہ ڈیٹا بیس پیجز
- API رسائی کے ساتھ Brevo اکاؤنٹ
- فعال سبسکرپشن کے ساتھ Tajo اکاؤنٹ
توثیق
Notion دو توثیقی طریقوں کی حمایت کرتا ہے۔
آپشن 1: Internal Integration (واحد ورک اسپیس کے لیے تجویز کردہ)
- 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_سے شروع ہوتا ہے)
Page شیئرنگ ضروری
Internal integrations صرف ان pages اور databases تک رسائی حاصل کر سکتے ہیں جو ان کے ساتھ واضح طور پر شیئر کیے گئے ہیں۔ ”…” مینو > “Connections” > اپنا integration منتخب کرنے کے ذریعے ہر ہدف ڈیٹا بیس کو اپنے integration کے ساتھ شیئر کریں۔
آپشن 2: OAuth 2.0 (عوامی integrations)
متعدد ورک اسپیسز کی خدمت کرنے والے integrations کے لیے OAuth 2.0 فلو استعمال کریں:
- اپنے integration کو عوامی integration کے طور پر رجسٹر کریں
- صارفین کو ری ڈائریکٹ کریں:
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 database خصوصیات کو 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: TAGSAPI اینڈ پوائنٹس
Tajo مندرجہ ذیل Notion API اینڈ پوائنٹس کے ساتھ انٹیگریٹ ہوتا ہے:
| اینڈ پوائنٹ | طریقہ | مقصد |
|---|---|---|
/v1/databases/{id}/query | POST | ڈیٹا بیس اندراجات کی استفسار |
/v1/databases/{id} | GET | ڈیٹا بیس schema حاصل کریں |
/v1/pages | POST | نیا page بنائیں |
/v1/pages/{id} | GET | page خصوصیات حاصل کریں |
/v1/pages/{id} | PATCH | page خصوصیات اپ ڈیٹ کریں |
/v1/blocks/{id}/children | GET | block children حاصل کریں |
/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 ڈیٹا بیس کو Brevo فہرست سے سنک کریں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// }Query اور Filter
// Notion ڈیٹا بیس کی فلٹرز کے ساتھ استفسار کریںconst results = await tajo.connectors.query('notion', { databaseId: 'abc123def456', filter: { property: 'Status', select: { equals: 'Active' } }, sorts: [ { property: 'Last Contact', direction: 'descending' } ]});Brevo ایونٹ سے Page بنائیں
// جب Brevo رابطہ سنگ میل تک پہنچے تو Notion page بنائیں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 فی integration ریٹ کی حدود نافذ کرتا ہے:
| حد کی قسم | قدر |
|---|---|
| ریٹ کی حد | فی integration 3 درخواستیں فی سیکنڈ |
| Burst حد | مختصر بروز کی اجازت ہے، پھر throttled |
| صفحہ سائز | فی پیجینیٹڈ درخواست زیادہ سے زیادہ 100 آئٹمز |
Cursor پر مبنی پیجینیشن
Notion cursor پر مبنی پیجینیشن استعمال کرتا ہے۔ Tajo اسے خود بخود سنبھالتا ہے، has_more کے false ہونے تک next_cursor پیرامیٹر کا استعمال کرتے ہوئے تمام صفحات کے ذریعے اتریٹ کرتا ہے۔
جب ریٹ کی حدود سے تجاوز ہوتا ہے تو Notion Retry-After ہیڈر کے ساتھ 429 Too Many Requests واپس کرتا ہے۔
مسائل کا سراغ
عام مسائل
| مسئلہ | وجہ | حل |
|---|---|---|
| 401 Unauthorized | غیر معتبر یا میعاد ختم شدہ ٹوکن | integration ٹوکن دوبارہ تخلیق کریں |
| 403 Forbidden | Page integration کے ساتھ شیئر نہیں | Connections کے ذریعے page/database کو integration کے ساتھ شیئر کریں |
| 404 Object not found | ڈیٹا بیس ID غلط یا شیئر نہیں | ڈیٹا بیس ID اور شیئرنگ سیٹنگز کی تصدیق کریں |
| خصوصیات غائب | Schema کا عدم مطابقت | ڈیٹا بیس schema کو دوبارہ سنک کریں اور فیلڈ میپنگ اپ ڈیٹ کریں |
| ریٹ کی حد سے تجاوز | بہت زیادہ تیز درخواستیں | سنک کی تعدد یا بیچ سائز کم کریں |
ڈیبگ موڈ
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بہترین طریقے
- Databases کو واضح طور پر شیئر کریں - Internal integrations صرف شیئر شدہ مواد دیکھتے ہیں
- search پر ڈیٹا بیس queries کا استعمال کریں - معلوم databases کے لیے Queries تیز اور زیادہ قابل اعتماد ہیں
- پراپرٹی اقسام کو احتیاط سے میپ کریں - Notion میں بہت سی پراپرٹی اقسام ہیں؛ انہیں Brevo خصوصیت اقسام سے میل کریں
- پیجینیشن کو ہینڈل کریں - مکمل ڈیٹا کے لیے ہمیشہ تمام cursor pages کے ذریعے اتریٹ کریں
- Incrementally سنک کریں - صرف تبدیل شدہ اندراجات سنک کرنے کے لیے
last_edited_timeفلٹرز استعمال کریں - پولنگ شیڈول سیٹ اپ کریں - Notion webhooks کی مقامی حمایت نہیں کرتا؛ باقاعدہ وقفوں پر پول کریں
سیکیورٹی
- Bearer Token توثیق - Integration secrets اور OAuth ٹوکنز
- صرف HTTPS - تمام API مواصلات TLS 1.2+ کے ذریعے خفیہ کردہ
- محدود رسائی - Integrations صرف واضح طور پر شیئر شدہ مواد تک رسائی حاصل کرتے ہیں
- OAuth 2.0 - عوامی integrations کے لیے محفوظ تفویض کا فلو
- خفیہ کردہ اسٹوریج - Tajo میں ٹوکنز آرام کی حالت میں خفیہ کردہ
- ورک اسپیس تنہائی - ہر integration ایک واحد ورک اسپیس تک محدود ہے