Airtable konnektor
Csatlakoztasd az Airtable bázisaidat a Brevóhoz CRM-szinkronizációhoz, termékkatalógus-kezeléshez és strukturált adatokon alapuló automatizált marketing munkafoly amokhoz a Tajo segítségével.
Áttekintés
| Tulajdonság | Érték |
|---|---|
| Platform | Airtable |
| Kategória | Egyéni |
| Telepítés bonyolultsága | Könnyű |
| Hivatalos integráció | Nem |
| Szinkronizált adatok | Rekordok, Táblák, Felhasználók |
| API típus | REST API |
| Hitelesítés | Személyes hozzáférési token / OAuth 2.0 |
| Alap URL | https://api.airtable.com/v0/ |
Funkciók
- Tábla-lista szinkronizáció – Airtable táblák rekordjainak közvetlen szinkronizálása Brevo kapcsolatlistákba
- Termékkatalógus-híd – Airtable táblák használata termékkatalógusként e-mail ajánlásokhoz
- CRM-szinkronizáció – Kétirányú szinkronizáció az Airtable CRM és a Brevo kapcsolatok között
- Beküldési események – Airtable űrlapbeküldések továbbítása Brevo eseményként
- Nézet alapú szűrés – Adott Airtable nézetek szinkronizálása célzott Brevo listákba
- Webhook-automatizálás – Brevo kampányok indítása Airtable rekordok változásakor
Előfeltételek
Mielőtt elkezdenéd, győződj meg róla, hogy rendelkezel:
- Egy Airtable fiókkal (Ingyenes csomag vagy feljebb)
- Egy konfigurált személyes hozzáférési tokennel vagy OAuth alkalmazással
- Hozzáféréssel a szinkronizálni kívánt bázisokhoz és táblákhoz
- Egy Brevo fiókkal API-hozzáféréssel
- Egy Tajo fiókkal aktív előfizetéssel
Hitelesítés
Az Airtable személyes hozzáférési tokeneket és OAuth 2.0-t támogat.
1. lehetőség: Személyes hozzáférési token (ajánlott)
- Menj az airtable.com/create/tokens oldalra
- Kattints az Create new token gombra
- Nevezd el „Tajo Integration”-nek
- Add hozzá a hatóköröket:
data.records:readdata.records:writedata.recordComments:readschema.bases:readwebhook:manage- Add hozzá a hozzáférést adott bázisokhoz vagy az összes bázishoz
- Kattints a Create token gombra
2. lehetőség: OAuth 2.0
Több felhasználós integrációkhoz használd az OAuth 2.0 folyamot:
- Regisztráld az integrációdat az airtable.com/create/oauth oldalon
- Konfiguráld az átirányítási URI-t:
https://app.tajo.io/callbacks/airtable - Kérd az ugyanolyan hatóköröket, mint fent
Token hatókör-korlátozás
A személyes hozzáférési tokenek adott bázisokra korlátozhatók. Biztonsági okokból csak az integrációd által szükséges bázisokhoz adj hozzáférést, ne válaszd az „Összes jelenlegi és jövőbeli bázis” opciót.
Csatlakozás a Tajóhoz
tajo connectors install airtable \ --token $AIRTABLE_TOKENKonfiguráció
Alapbeállítás
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"Mezőleképezés
Képezd le az Airtable mezőket Brevo kapcsolat-attribútumokhoz:
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_DATENézet alapú szinkronizáció
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 végpontok
A Tajo az alábbi Airtable Web API végpontokkal integrálódik:
| Végpont | Módszer | Cél |
|---|---|---|
/v0/{baseId}/{tableIdOrName} | GET | Táblában lévő rekordok listázása |
/v0/{baseId}/{tableIdOrName} | POST | Rekordok létrehozása |
/v0/{baseId}/{tableIdOrName} | PATCH | Rekordok frissítése |
/v0/{baseId}/{tableIdOrName} | DELETE | Rekordok törlése |
/v0/{baseId}/{tableIdOrName}/{recordId} | GET | Egyetlen rekord lekérése |
/v0/meta/bases | GET | Hozzáférhető bázisok listázása |
/v0/meta/bases/{baseId}/tables | GET | Bázisban lévő táblák listázása |
/v0/{baseId}/{tableIdOrName}/listRecordComments | GET | Rekord megjegyzések listázása |
/v0/bases/{baseId}/webhooks | POST | Webhook létrehozása |
/v0/bases/{baseId}/webhooks | GET | Webhookok listázása |
Kódpéldák
A konnektor inicializálása
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});Tábla szinkronizálása a Brevóba
// 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// }Webhookok kezelése
// 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');});Rekord létrehozása a Brevóból
// 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] } }); }});Ráta-korlátok
Az Airtable bázisonként alkalmaz ráta-korlátokat:
| Korlát típusa | Érték |
|---|---|
| API ráta-korlát | 5 kérés/másodperc bázisonként |
| Rekordok kérésenként | Max. 100 rekord (listázás), max. 10 rekord (létrehozás/frissítés) |
| Webhook hasznos terhelések | 50 terhelés listWebhookPayloads hívásonként |
| Kérés mérete | Max. ~2 MB |
Kötegelt műveletek
Az Airtable kérésenként legfeljebb 10 rekord létrehozását vagy frissítését teszi lehetővé. A Tajo automatikusan kötegeli a nagyobb műveleteket több kérésre, miközben tiszteletben tartja a ráta-korlátokat.
Hibaelhárítás
Gyakori problémák
| Probléma | Ok | Megoldás |
|---|---|---|
| 401 Unauthorized | Érvénytelen vagy lejárt token | Generáld újra a személyes hozzáférési tokent |
| 403 Forbidden | Token nem rendelkezik bázis-hozzáféréssel | Add a bázist a token hatóköréhez |
| 404 Not Found | Érvénytelen bázis vagy tábla azonosító | Ellenőrizd a bázis azonosítót és a tábla nevét |
| 422 Invalid Request | Mező típus-eltérés | Ellenőrizd, hogy az Airtable mező típusok megegyeznek-e az adataiddal |
| Ráta-korlát túllépve | Több mint 5 kérés/mp bázisonként | Csökkentsd a szinkronizálás gyakoriságát vagy ütemezd el a bázis szinkronizációkat |
Hibakeresési mód
connectors: airtable: debug: true log_level: verbose log_api_calls: trueKapcsolat tesztelése
tajo connectors test airtable# ✓ API authentication successful# ✓ Base access verified# ✓ Table schema readable# ✓ Record listing operational# ✓ Webhook registration availableLegjobb gyakorlatok
- Korlátozd a tokeneket adott bázisokra – Ne adj hozzáférést az összes bázishoz, hacsak nem szükséges
- Szinkronizáláshoz használj nézeteket – Szinkronizálj adott nézeteket teljes táblák helyett az adatmennyiség csökkentéséhez
- Kötegelj rekord műveleteket – Csoportosítsd a létrehozásokat és frissítéseket 10-es kötegekbe
- Kezelj oldalazást – Az Airtable oldalanként 100 rekordot ad vissza; iterálj az
offsetsegítségével - Valós idejűséghez használj webhookokat – Regisztrálj webhookokat a lekérdezés helyett a változásokhoz
- Pontosan képezd le a mező típusokat – Illeszd az Airtable mező típusokat (select, number, date) a Brevo attribútum típusokhoz
Biztonság
- Személyes hozzáférési tokenek – Adott bázisokra és műveletekre korlátozva
- OAuth 2.0 – Biztonságos engedélyezési folyam refresh tokenekkel
- Csak HTTPS – Minden API kommunikáció TLS 1.2+-on keresztül titkosítva
- Bázis szintű hozzáférés-vezérlés – Tokenek egyéni bázisokra korlátozva
- Titkosított tárolás – A tokenek titkosítva tárolódnak a Tajóban
- Webhook HMAC ellenőrzés – Webhook értesítések hitelességének ellenőrzése