Airtable Bağlayıcısı
Airtable base’lerinizi Brevo’ya bağlayarak CRM senkronizasyonu, ürün kataloğu yönetimi ve Tajo aracılığıyla yapılandırılmış verilerle güçlendirilmiş otomatik pazarlama iş akışları elde edin.
Genel Bakış
| Özellik | Değer |
|---|---|
| Platform | Airtable |
| Kategori | Özel |
| Kurulum Karmaşıklığı | Kolay |
| Resmi Entegrasyon | Hayır |
| Senkronize Edilen Veri | Kayıtlar, Tablolar, Kullanıcılar |
| API Türü | REST API |
| Kimlik Doğrulama | Kişisel Erişim Belirteci / OAuth 2.0 |
| Temel URL | https://api.airtable.com/v0/ |
Özellikler
- Tablodan listeye senkronizasyon - Airtable tablo kayıtlarını doğrudan Brevo kişi listelerine senkronize edin
- Ürün kataloğu köprüsü - E-posta önerileri için Airtable tablolarını ürün katalogları olarak kullanın
- CRM senkronizasyonu - Airtable CRM ile Brevo kişileri arasında çift yönlü senkronizasyon
- Form gönderim olayları - Airtable form gönderimlerini Brevo olayları olarak iletin
- Görünüm tabanlı filtreleme - Belirli Airtable görünümlerini hedeflenmiş Brevo listelerine senkronize edin
- Webhook otomasyonu - Airtable kayıtları değiştiğinde Brevo kampanyalarını tetikleyin
Ön Koşullar
Başlamadan önce sahip olmanız gerekenler:
- Bir Airtable hesabı (Free plan veya üzeri)
- Yapılandırılmış bir Kişisel Erişim Belirteci veya OAuth uygulaması
- Senkronize etmek istediğiniz base ve tablolara erişim
- API erişimi olan bir Brevo hesabı
- Aktif aboneliği olan bir Tajo hesabı
Kimlik Doğrulama
Airtable, Kişisel Erişim Belirteçlerini ve OAuth 2.0’ı destekler.
Seçenek 1: Kişisel Erişim Belirteci (Önerilen)
- airtable.com/create/tokens adresine gidin
- Create new token seçeneğine tıklayın
- “Tajo Integration” olarak adlandırın
- Kapsamları ekleyin:
data.records:readdata.records:writedata.recordComments:readschema.bases:readwebhook:manage- Belirli base’lere veya tüm base’lere erişim ekleyin
- Create token seçeneğine tıklayın
Seçenek 2: OAuth 2.0
Çok kullanıcılı entegrasyonlar için OAuth 2.0 akışını kullanın:
- Entegrasyonunuzu airtable.com/create/oauth adresinde kaydedin
- Yönlendirme URI’sini yapılandırın:
https://app.tajo.io/callbacks/airtable - Yukarıdakilerle aynı kapsamları isteyin
Belirteç Kapsamı
Kişisel Erişim Belirteçleri belirli base’lere kapsamlandırılabilir. Güvenlik için, “Tüm mevcut ve gelecekteki base’ler”i seçmek yerine yalnızca entegrasyonunuzun ihtiyacı olan base’lere erişim verin.
Tajo’ya Bağlanma
tajo connectors install airtable \ --token $AIRTABLE_TOKENYapılandırma
Temel Kurulum
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"Alan Eşleme
Airtable alanlarını Brevo kişi özniteliklerine eşleyin:
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_DATEGörünüm Tabanlı Senkronizasyon
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: trueAPI Uç Noktaları
Tajo, aşağıdaki Airtable Web API uç noktaları ile entegre olur:
| Uç Nokta | Yöntem | Amaç |
|---|---|---|
/v0/{baseId}/{tableIdOrName} | GET | Bir tablodaki kayıtları listele |
/v0/{baseId}/{tableIdOrName} | POST | Kayıt oluştur |
/v0/{baseId}/{tableIdOrName} | PATCH | Kayıtları güncelle |
/v0/{baseId}/{tableIdOrName} | DELETE | Kayıtları sil |
/v0/{baseId}/{tableIdOrName}/{recordId} | GET | Tek bir kaydı getir |
/v0/meta/bases | GET | Erişilebilir base’leri listele |
/v0/meta/bases/{baseId}/tables | GET | Bir base’deki tabloları listele |
/v0/{baseId}/{tableIdOrName}/listRecordComments | GET | Kayıt yorumlarını listele |
/v0/bases/{baseId}/webhooks | POST | Bir webhook oluştur |
/v0/bases/{baseId}/webhooks | GET | Webhook’ları listele |
Kod Örnekleri
Bağlayıcıyı Başlat
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});Tabloyu Brevo’ya Senkronize Et
// Sync an Airtable table to a Brevo listawait 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// }Webhook’ları İşle
// Airtable webhooks notify of changes; fetch details with cursorapp.post('/webhooks/airtable', async (req, res) => { const { base, webhook, timestamp } = req.body;
// Fetch changed records using webhook cursor 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’dan Kayıt Oluştur
// Create an Airtable record when a Brevo contact convertstajo.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] } }); }});Hız Limitleri
Airtable, base başına hız limitleri uygular:
| Limit Türü | Değer |
|---|---|
| API hız limiti | Base başına saniyede 5 istek |
| İstek başına kayıt | Maksimum 100 kayıt (listeleme), maksimum 10 kayıt (oluşturma/güncelleme) |
| Webhook yükleri | listWebhookPayloads çağrısı başına 50 yük |
| İstek boyutu | Maksimum ~2MB yük |
Toplu İşlemler
Airtable, istek başına en fazla 10 kaydın oluşturulmasına veya güncellenmesine izin verir. Tajo, daha büyük işlemleri hız limitlerine uyarak otomatik olarak birden fazla isteğe gruplandırır.
Sorun Giderme
Sık Karşılaşılan Sorunlar
| Sorun | Neden | Çözüm |
|---|---|---|
| 401 Unauthorized | Geçersiz veya süresi dolmuş belirteç | Kişisel Erişim Belirtecini yeniden oluşturun |
| 403 Forbidden | Belirtecin base erişimi eksik | Base’i belirtecinizin kapsamına ekleyin |
| 404 Not Found | Geçersiz base veya tablo ID’si | Base ID’sini ve tablo adını doğrulayın |
| 422 Invalid Request | Alan türü uyuşmazlığı | Airtable alan türlerinin verilerinizle eşleştiğini kontrol edin |
| Hız limiti aşıldı | Base başına 5 istek/sn’den fazla | Senkronizasyon sıklığını azaltın veya base senkronizasyonlarını aşamalandırın |
Hata Ayıklama Modu
connectors: airtable: debug: true log_level: verbose log_api_calls: trueBağlantıyı Test Et
tajo connectors test airtable# ✓ API authentication successful# ✓ Base access verified# ✓ Table schema readable# ✓ Record listing operational# ✓ Webhook registration availableEn İyi Uygulamalar
- Belirteçleri belirli base’lere kapsamlandırın - Gerekmedikçe tüm base’lere erişim vermeyin
- Filtrelenmiş senkronizasyon için görünümleri kullanın - Veri hacmini azaltmak için tam tablolar yerine belirli görünümleri senkronize edin
- Kayıt işlemlerini gruplandırın - Oluşturma ve güncellemeleri 10’luk gruplar halinde yapın
- Sayfalamayı yönetin - Airtable sayfa başına 100 kayıt döndürür;
offsetile yineleyin - Gerçek zamanlı için webhook kullanın - Değişiklikler için yoklama yerine webhook kaydedin
- Alan türlerini kesin şekilde eşleyin - Airtable alan türlerini (seçim, sayı, tarih) Brevo öznitelik türlerine uyarlayın
Güvenlik
- Kişisel Erişim Belirteçleri - Belirli base’lere ve işlemlere kapsamlandırılmış
- OAuth 2.0 - Yenileme belirteçleri ile güvenli yetkilendirme akışı
- Yalnızca HTTPS - Tüm API iletişimi TLS 1.2+ ile şifrelenir
- Base Düzeyinde Erişim Kontrolü - Belirteçler bireysel base’lere kapsamlandırılır
- Şifrelenmiş Depolama - Belirteçler Tajo’da dinlenmede şifrelenir
- Webhook HMAC Doğrulaması - Webhook bildirimlerinin özgünlüğünü doğrulayın