Airtable konektor

Poveži svoje Airtable baze sa Brevo za CRM sinhronizaciju, upravljanje katalogom proizvoda i automatizovane marketing tokove pokretane strukturiranim podacima putem Tajo.

Pregled

SvojstvoVrednost
PlatformaAirtable
KategorijaPrilagođeno
Složenost podešavanjaLako
Zvanična integracijaNe
Sinhronizovani podaciZapisi, Tabele, Korisnici
Tip API-jaREST API
AutentifikacijaPersonal Access Token / OAuth 2.0
Osnovni URLhttps://api.airtable.com/v0/

Karakteristike

  • Sinhronizacija tabele sa listom - Direktna sinhronizacija zapisa Airtable tabele sa Brevo listama kontakata
  • Most kataloga proizvoda - Koristi Airtable tabele kao kataloge proizvoda za email preporuke
  • CRM sinhronizacija - Dvosrna sinhronizacija između Airtable CRM i Brevo kontakata
  • Događaji slanja formulara - Prosleđivanje Airtable slanja formulara kao Brevo događaja
  • Filtriranje zasnovano na prikazima - Sinhronizuj specifične Airtable prikaze na ciljane Brevo liste
  • Webhook automatizacija - Pokretanje Brevo kampanja kada se Airtable zapisi promene

Preduslovi

Pre nego što započneš, proveri da imaš:

  1. Airtable nalog (Free plan ili više)
  2. Personal Access Token ili konfigurisanu OAuth aplikaciju
  3. Pristup bazama i tabelama koje želiš/žeš da sinhronizuješ
  4. Brevo nalog sa API pristupom
  5. Tajo nalog sa aktivnom pretplatom

Autentifikacija

Airtable podržava Personal Access Tokens i OAuth 2.0.

Opcija 1: Personal Access Token (preporučeno)

  1. Idi na airtable.com/create/tokens
  2. Klikni Create new token
  3. Nazovi ga “Tajo Integration”
  4. Dodaj skopove:
data.records:read
data.records:write
data.recordComments:read
schema.bases:read
webhook:manage
  1. Dodaj pristup specifičnim bazama ili svim bazama
  2. Klikni Create token

Opcija 2: OAuth 2.0

Za integracije sa više korisnika, koristi OAuth 2.0 tok:

  1. Registruj svoju integraciju na airtable.com/create/oauth
  2. Konfiguriši redirect URI: https://app.tajo.io/callbacks/airtable
  3. Zatraži iste skopove kao gore

Skopovanje tokena

Personal Access Tokens se mogu skopovati na specifične baze. Radi bezbednosti, dodeli pristup samo onim bazama koje tvoja integracija treba, umesto da biraš “All current and future bases.”

Povezivanje sa Tajo

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

Konfiguracija

Osnovno podešavanje

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"

Mapiranje polja

Mapiranje Airtable polja na Brevo atribute kontakta:

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

Sinhronizacija zasnovana na prikazima

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 endpointi

Tajo se integriše sa sledećim Airtable Web API endpointima:

EndpointMetodaSvrha
/v0/{baseId}/{tableIdOrName}GETListanje zapisa u tabeli
/v0/{baseId}/{tableIdOrName}POSTKreiranje zapisa
/v0/{baseId}/{tableIdOrName}PATCHAžuriranje zapisa
/v0/{baseId}/{tableIdOrName}DELETEBrisanje zapisa
/v0/{baseId}/{tableIdOrName}/{recordId}GETDohvatanje jednog zapisa
/v0/meta/basesGETListanje dostupnih baza
/v0/meta/bases/{baseId}/tablesGETListanje tabela u bazi
/v0/{baseId}/{tableIdOrName}/listRecordCommentsGETListanje komentara zapisa
/v0/bases/{baseId}/webhooksPOSTKreiranje webhook-a
/v0/bases/{baseId}/webhooksGETListanje webhook-ova

Primeri koda

Inicijalizacija konektora

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
});

Sinhronizacija tabele sa Brevo

// Sync an Airtable table to a Brevo list
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
// }

Obrada webhook-ova

// Airtable webhooks notify of changes; fetch details with cursor
app.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');
});

Kreiranje zapisa iz Brevo

// Create an Airtable record when a Brevo contact converts
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]
}
});
}
});

Ograničenja brzine

Airtable primenjuje ograničenja brzine po bazi:

Tip limitaVrednost
API limit brzine5 zahteva u sekundi po bazi
Zapisi po zahtevuMaksimalno 100 zapisa (listanje), maksimalno 10 zapisa (kreiranje/ažuriranje)
Webhook payload-i50 payload-a po listWebhookPayloads pozivu
Veličina zahtevaMaksimalno ~2MB payload

Batch operacije

Airtable dozvoljava kreiranje ili ažuriranje do 10 zapisa po zahtevu. Tajo automatski grupišu veće operacije u više zahteva poštujući ograničenja brzine.

Rešavanje problema

Česti problemi

ProblemUzrokRešenje
401 UnauthorizedNevažeći ili istekao tokenRegeneriši Personal Access Token
403 ForbiddenToken nema pristup baziDodaj bazu u skop tvog tokena
404 Not FoundNevažeći ID baze ili tabeleProveri ID baze i naziv tabele
422 Invalid RequestNepodudaranje tipa poljaProveri da tipovi Airtable polja odgovaraju tvojim podacima
Prekoračen limit brzineViše od 5 zahteva/sek po baziSmanji učestalost sinhronizacije ili rasporedi sinhronizacije baza

Debug režim

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

Testiraj vezu

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

Najbolje prakse

  1. Skopuj tokene na specifične baze - Ne dodeljivati pristup svim bazama osim ako nije neophodno
  2. Koristi prikaze za filtrirano sinhronizovanje - Sinhronizuj specifične prikaze umesto punih tabela da smanjiš obim podataka
  3. Grupiši operacije zapisa - Grupiši kreiranja i ažuriranja u batch-eve od 10
  4. Obrada paginacije - Airtable vraća 100 zapisa po stranici; iteriraj sa offset
  5. Koristi webhook-ove za real-time - Registruj webhook-ove umesto ispitivanja za promene
  6. Precizno mapiraj tipove polja - Podudaraj Airtable tipove polja (select, number, date) sa Brevo tipovima atributa

Bezbednost

  • Personal Access Tokens - Skopovani na specifične baze i operacije
  • OAuth 2.0 - Bezbedan tok autorizacije sa refresh tokenima
  • Samo HTTPS - Sva API komunikacija enkriptovana putem TLS 1.2+
  • Kontrola pristupa na nivou baze - Tokeni skopovani na pojedinačne baze
  • Enkriptovano skladištenje - Tokeni enkriptovani u mirovanju u Tajo
  • HMAC verifikacija webhook-ova - Proveri autentičnost webhook obaveštenja

Povezani resursi

Subscribe to updates

developer-docs

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

auto-detect
AI асистент

Здраво! Питајте ме о документацији.