Airtable کنیکٹر

CRM سنکرونائزیشن، پروڈکٹ کیٹلاگ مینجمنٹ، اور Tajo کے ذریعے اسٹرکچرڈ ڈیٹا سے چلنے والے خودکار مارکیٹنگ ورک فلوز کے لیے اپنے Airtable بیسز کو Brevo سے منسلک کریں۔

جائزہ

خاصیتقدر
پلیٹ فارمAirtable
زمرہحسب ضرورت
سیٹ اپ کی پیچیدگیآسان
آفیشل انٹیگریشننہیں
سنک شدہ ڈیٹاریکارڈز، ٹیبلز، صارفین
API قسمREST API
توثیقPersonal Access Token / OAuth 2.0
بنیادی URLhttps://api.airtable.com/v0/

خصوصیات

  • ٹیبل-سے-فہرست سنک - Airtable ٹیبل ریکارڈز کو براہ راست Brevo رابطہ فہرستوں میں سنک کریں
  • پروڈکٹ کیٹلاگ برج - Airtable ٹیبلز کو ای میل تجاویز کے لیے پروڈکٹ کیٹلاگ کے طور پر استعمال کریں
  • CRM سنکرونائزیشن - Airtable CRM اور Brevo رابطوں کے درمیان دو طرفہ سنک
  • فارم سبمیشن ایونٹس - Airtable فارم سبمیشنز کو Brevo ایونٹس کے طور پر آگے بھیجیں
  • ویو پر مبنی فلٹرنگ - مخصوص Airtable ویوز کو ٹارگٹڈ Brevo فہرستوں میں سنک کریں
  • ویب ہک آٹومیشن - جب Airtable ریکارڈز تبدیل ہوں تو Brevo مہمات کو متحرک کریں

ضروریات

شروع کرنے سے پہلے، یقینی بنائیں کہ آپ کے پاس ہے:

  1. ایک Airtable اکاؤنٹ (Free پلان یا اس سے اوپر)
  2. ایک Personal Access Token یا OAuth ایپ کنفیگر کردہ
  3. ان بیسز اور ٹیبلز تک رسائی جنہیں آپ سنک کرنا چاہتے ہیں
  4. API رسائی کے ساتھ Brevo اکاؤنٹ
  5. فعال سبسکرپشن کے ساتھ Tajo اکاؤنٹ

توثیق

Airtable Personal Access Tokens اور OAuth 2.0 کی حمایت کرتا ہے۔

آپشن 1: Personal Access Token (تجویز کردہ)

  1. airtable.com/create/tokens پر جائیں
  2. Create new token پر کلک کریں
  3. اسے “Tajo Integration” نام دیں
  4. اسکوپس شامل کریں:
data.records:read
data.records:write
data.recordComments:read
schema.bases:read
webhook:manage
  1. مخصوص بیسز یا تمام بیسز تک رسائی شامل کریں
  2. Create token پر کلک کریں

آپشن 2: OAuth 2.0

متعدد صارف انٹیگریشنز کے لیے، OAuth 2.0 فلو استعمال کریں:

  1. اپنے انٹیگریشن کو airtable.com/create/oauth پر رجسٹر کریں
  2. ری ڈائریکٹ URI کنفیگر کریں: https://app.tajo.io/callbacks/airtable
  3. وہی اسکوپس درخواست کریں جو اوپر درج ہیں

ٹوکن اسکوپنگ

Personal Access Tokens کو مخصوص بیسز تک محدود کیا جا سکتا ہے۔ سیکیورٹی کے لیے، “All current and future bases” منتخب کرنے کے بجائے صرف ان بیسز تک رسائی دیں جن کی آپ کے انٹیگریشن کو ضرورت ہے۔

Tajo سے منسلک کرنا

Terminal window
tajo connectors install airtable \
--token $AIRTABLE_TOKEN

کنفیگریشن

بنیادی سیٹ اپ

connectors:
airtable:
enabled: true
sync:
records: true
comments: false
tables:
- base_id: "appXXXXXXXXXXXXXX"
table_name: "Customers"
view: "Active Customers"
sync_to_list: 28
- base_id: "appXXXXXXXXXXXXXX"
table_name: "Products"
sync_as: "catalog"

فیلڈ میپنگ

Airtable فیلڈز کو Brevo رابطہ خصوصیات سے میپ کریں:

field_mapping:
# Airtable field -> Brevo attribute
Name: FIRSTNAME
Email: email
Phone: SMS
Company: COMPANY
Status: LEAD_STATUS
Revenue: TOTAL_REVENUE
"Last Contact": LAST_CONTACT_DATE
Tags: TAGS
Notes: NOTES
"Created Time": SIGNUP_DATE

ویو پر مبنی سنک

views:
- base_id: "appXXXXXXXXXXXXXX"
table_name: "Customers"
view: "High Value"
sync_to_list: 29
filter_by_view: true
- base_id: "appXXXXXXXXXXXXXX"
table_name: "Customers"
view: "Churned"
sync_to_list: 30
filter_by_view: true

API اینڈ پوائنٹس

Tajo مندرجہ ذیل Airtable Web API اینڈ پوائنٹس کے ساتھ انٹیگریٹ ہوتا ہے:

اینڈ پوائنٹطریقہمقصد
/v0/{baseId}/{tableIdOrName}GETٹیبل میں ریکارڈز کی فہرست
/v0/{baseId}/{tableIdOrName}POSTریکارڈز بنائیں
/v0/{baseId}/{tableIdOrName}PATCHریکارڈز اپ ڈیٹ کریں
/v0/{baseId}/{tableIdOrName}DELETEریکارڈز حذف کریں
/v0/{baseId}/{tableIdOrName}/{recordId}GETایک واحد ریکارڈ حاصل کریں
/v0/meta/basesGETقابل رسائی بیسز کی فہرست
/v0/meta/bases/{baseId}/tablesGETبیس میں ٹیبلز کی فہرست
/v0/{baseId}/{tableIdOrName}/listRecordCommentsGETریکارڈ تبصروں کی فہرست
/v0/bases/{baseId}/webhooksPOSTایک ویب ہک بنائیں
/v0/bases/{baseId}/webhooksGETویب ہکس کی فہرست

کوڈ مثالیں

کنیکٹر کو شروع کریں

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('airtable', {
token: process.env.AIRTABLE_TOKEN
});

ٹیبل کو Brevo سے سنک کریں

// ایک Airtable ٹیبل کو Brevo فہرست میں سنک کریں
await tajo.connectors.sync('airtable', {
type: 'full',
resources: ['records'],
baseId: 'appXXXXXXXXXXXXXX',
tableName: 'Customers',
view: 'Active Customers',
targetList: 28
});
const status = await tajo.connectors.status('airtable');
console.log(status);
// {
// connected: true,
// lastSync: '2024-03-15T15:00:00Z',
// recordsSynced: 2340,
// tablesMonitored: 2,
// basesConnected: 1
// }

ویب ہکس کو ہینڈل کریں

// Airtable webhooks تبدیلیوں کی اطلاع دیتے ہیں؛ کرسر کے ساتھ تفصیلات حاصل کریں
app.post('/webhooks/airtable', async (req, res) => {
const { base, webhook, timestamp } = req.body;
// ویب ہک کرسر کا استعمال کرتے ہوئے تبدیل شدہ ریکارڈز حاصل کریں
const changes = await tajo.connectors.getWebhookPayloads('airtable', {
baseId: base.id,
webhookId: webhook.id,
cursor: timestamp
});
for (const change of changes) {
await tajo.connectors.handleEvent('airtable', {
type: change.actionType,
payload: change
});
}
res.status(200).send('OK');
});

Brevo سے ریکارڈ بنائیں

// جب Brevo رابطہ تبدیل ہو جائے تو Airtable ریکارڈ بنائیں
tajo.events.on('contact.attribute_updated', async (event) => {
if (event.attribute === 'LIFECYCLE_STAGE' && event.value === 'customer') {
await tajo.connectors.create('airtable', {
baseId: 'appXXXXXXXXXXXXXX',
tableName: 'Customers',
fields: {
Name: event.contact.name,
Email: event.contact.email,
Status: 'Customer',
'Converted Date': new Date().toISOString().split('T')[0]
}
});
}
});

ریٹ کی حدود

Airtable ہر بیس پر ریٹ کی حدود نافذ کرتا ہے:

حد کی قسمقدر
API ریٹ کی حدفی بیس 5 درخواستیں فی سیکنڈ
فی درخواست ریکارڈز100 ریکارڈز زیادہ سے زیادہ (list)، 10 ریکارڈز زیادہ سے زیادہ (create/update)
ویب ہک پے لوڈزفی listWebhookPayloads کال 50 پے لوڈز
درخواست کا سائزپے لوڈ زیادہ سے زیادہ تقریباً 2MB

بیچ آپریشنز

Airtable فی درخواست زیادہ سے زیادہ 10 ریکارڈز بنانے یا اپ ڈیٹ کرنے کی اجازت دیتا ہے۔ Tajo خود بخود بڑے آپریشنز کو متعدد درخواستوں میں بیچ کرتا ہے جبکہ ریٹ کی حدود کا احترام کرتا ہے۔

مسائل کا سراغ

عام مسائل

مسئلہوجہحل
401 Unauthorizedغیر معتبر یا میعاد ختم شدہ ٹوکنPersonal Access Token دوبارہ تخلیق کریں
403 Forbiddenٹوکن کو بیس تک رسائی نہیںاپنے ٹوکن کے اسکوپ میں بیس شامل کریں
404 Not Foundغیر معتبر بیس یا ٹیبل IDبیس ID اور ٹیبل نام کی تصدیق کریں
422 Invalid Requestفیلڈ قسم کا عدم مطابقتچیک کریں کہ Airtable فیلڈ اقسام آپ کے ڈیٹا سے میل کھاتی ہیں
ریٹ کی حد سے تجاوزفی بیس 5 req/s سے زیادہسنک کی تعدد کم کریں یا بیس سنکس کو اسٹیگر کریں

ڈیبگ موڈ

connectors:
airtable:
debug: true
log_level: verbose
log_api_calls: true

کنکشن ٹیسٹ کریں

Terminal window
tajo connectors test airtable
# ✓ API authentication successful
# ✓ Base access verified
# ✓ Table schema readable
# ✓ Record listing operational
# ✓ Webhook registration available

بہترین طریقے

  1. ٹوکنز کو مخصوص بیسز تک محدود کریں - اگر ضرورت نہ ہو تو تمام بیسز تک رسائی نہ دیں
  2. فلٹرڈ سنک کے لیے ویوز استعمال کریں - ڈیٹا کے حجم کو کم کرنے کے لیے پورے ٹیبلز کے بجائے مخصوص ویوز کو سنک کریں
  3. ریکارڈ آپریشنز کو بیچ کریں - 10 کے بیچز میں creates اور updates کو گروپ کریں
  4. پیجینیشن کو ہینڈل کریں - Airtable فی صفحہ 100 ریکارڈز واپس کرتا ہے؛ offset کے ساتھ اتریٹ کریں
  5. ریئل ٹائم کے لیے ویب ہکس استعمال کریں - تبدیلیوں کے لیے پولنگ کے بجائے ویب ہکس رجسٹر کریں
  6. فیلڈ اقسام کو درست طریقے سے میپ کریں - Airtable فیلڈ اقسام (select، number، date) کو Brevo خصوصیت اقسام سے میل کریں

سیکیورٹی

  • Personal Access Tokens - مخصوص بیسز اور آپریشنز تک محدود
  • OAuth 2.0 - refresh tokens کے ساتھ محفوظ تفویض کا فلو
  • صرف HTTPS - تمام API مواصلات TLS 1.2+ کے ذریعے خفیہ کردہ
  • بیس کی سطح پر رسائی کنٹرول - ٹوکنز انفرادی بیسز تک محدود
  • خفیہ کردہ اسٹوریج - Tajo میں ٹوکنز آرام کی حالت میں خفیہ کردہ
  • ویب ہک HMAC تصدیق - ویب ہک اطلاعات کی صداقت کی تصدیق کریں

متعلقہ وسائل

Subscribe to updates

developer-docs

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

auto-detect
AI معاون

السلام علیکم! دستاویزات کے بارے میں کچھ بھی پوچھیں۔