Airtable Connector

Poveži svoje baze Airtable z Brevo za sinhronizacijo CRM, upravljanje kataloga izdelkov in avtomatizirane marketinške tokove na osnovi strukturiranih podatkov prek Tajo.

Pregled

LastnostVrednost
PlatformaAirtable
KategorijaPo meri
Zahtevnost nastavitveEnostavna
Uradna integracijaNe
Sinhronizirani podatkiZapisi, tabele, uporabniki
Tip APIREST API
AvtentikacijaPersonal Access Token / OAuth 2.0
Osnovni URLhttps://api.airtable.com/v0/

Funkcionalnosti

  • Sinhronizacija tabele s seznamom – sinhronizacija zapisov tabele Airtable neposredno na sezname stikov Brevo
  • Most za katalog izdelkov – uporabi tabele Airtable kot kataloge izdelkov za priporočila v e-mailih
  • Sinhronizacija CRM – dvosmerna sinhronizacija med CRM Airtable in stiki Brevo
  • Dogodki oddaje obrazca – posreduj oddaje obrazcev Airtable kot dogodke Brevo
  • Filtriranje na osnovi pogleda – sinhronizacija določenih pogledov Airtable na ciljne sezname Brevo
  • Webhook avtomatizacija – sproži kampanje Brevo, ko se zapisi Airtable spremenijo

Predpogoji

Preden začneš, se prepričaj, da imaš:

  1. Račun Airtable (paket Free ali višji)
  2. Konfiguriran Personal Access Token ali OAuth aplikacijo
  3. Dostop do baz in tabel, ki jih želiš sinhronizirati
  4. Brevo račun z dostopom do API
  5. Tajo račun z aktivno naročnino

Avtentikacija

Airtable podpira Personal Access Tokens in OAuth 2.0.

Možnost 1: Personal Access Token (priporočeno)

  1. Pojdi na airtable.com/create/tokens
  2. Klikni Create new token
  3. Poimenuj ga “Tajo Integration”
  4. Dodaj obsege:
data.records:read
data.records:write
data.recordComments:read
schema.bases:read
webhook:manage
  1. Dodaj dostop do določenih baz ali vseh baz
  2. Klikni Create token

Možnost 2: OAuth 2.0

Za integracije z več uporabniki uporabi tok OAuth 2.0:

  1. Registriraj svojo integracijo na airtable.com/create/oauth
  2. Nastavi URI za preusmeritev: https://app.tajo.io/callbacks/airtable
  3. Zahtevaj iste obsege kot zgoraj

Omejevanje obsega žetona

Personal Access Tokens je mogoče omejiti na določene baze. Iz varnostnih razlogov dodeli dostop samo do baz, ki jih tvoja integracija potrebuje, namesto da bi izbral »Vse trenutne in prihodnje baze«.

Povezava s Tajo

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

Konfiguracija

Osnovna nastavitev

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"

Preslikava polj

Preslikaj polja Airtable v atribute stikov 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

Sinhronizacija na osnovi pogleda

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

Končne točke API

Tajo se integrira z naslednjimi končnimi točkami Airtable Web API:

Končna točkaMetodaNamen
/v0/{baseId}/{tableIdOrName}GETSeznam zapisov v tabeli
/v0/{baseId}/{tableIdOrName}POSTUstvari zapise
/v0/{baseId}/{tableIdOrName}PATCHPosodobi zapise
/v0/{baseId}/{tableIdOrName}DELETEIzbriši zapise
/v0/{baseId}/{tableIdOrName}/{recordId}GETPridobi en zapis
/v0/meta/basesGETSeznam dostopnih baz
/v0/meta/bases/{baseId}/tablesGETSeznam tabel v bazi
/v0/{baseId}/{tableIdOrName}/listRecordCommentsGETSeznam komentarjev zapisov
/v0/bases/{baseId}/webhooksPOSTUstvari webhook
/v0/bases/{baseId}/webhooksGETSeznam webhookov

Primeri kode

Inicializacija konektorja

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 z 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
// }

Obravnava webhookov

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

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

Omejitve hitrosti

Airtable uveljavi omejitve hitrosti na bazo:

Vrsta omejitveVrednost
Omejitev hitrosti API5 zahtevkov na sekundo na bazo
Zapisi na zahtevekNajveč 100 zapisov (seznam), največ 10 zapisov (ustvarjanje/posodabljanje)
Vsebina webhookov50 vsebin na klic listWebhookPayloads
Velikost zahtevkaNajveč ~2 MB

Paketne operacije

Airtable omogoča ustvarjanje ali posodabljanje do 10 zapisov na zahtevek. Tajo samodejno razporedi večje operacije v več zahtevkov in spoštuje omejitve hitrosti.

Odpravljanje težav

Pogoste težave

TežavaVzrokRešitev
401 UnauthorizedNeveljaven ali potekel žetonObnovi Personal Access Token
403 ForbiddenŽetonu manjka dostop do bazeDodaj bazo v obseg žetona
404 Not FoundNeveljaven ID baze ali tabelePreveri ID baze in ime tabele
422 Invalid RequestNeujemanje vrst poljPreveri, ali se vrste polj Airtable ujemajo s podatki
Prekoračena omejitev hitrostiVeč kot 5 zahtevkov/s na bazoZmanjšaj pogostost sinhronizacije ali razporedi sinhronizacije baz

Način odpravljanja napak

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

Preizkus povezave

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

Najboljše prakse

  1. Omeji žetone na določene baze – ne dodeljuj dostopa do vseh baz, razen če je to nujno
  2. Uporabi poglede za filtrirano sinhronizacijo – sinhronizacija določenih pogledov namesto celotnih tabel za zmanjšanje obsega podatkov
  3. Paketne operacije z zapisi – grupiranje ustvarjanj in posodobitev v paketih po 10
  4. Obravnavaj paginacijo – Airtable vrne 100 zapisov na stran; iteriraj z offset
  5. Za posodobitve v realnem času uporabi webhooks – registriraj webhooks namesto anketiranja za spremembe
  6. Natančno preslikaj vrste polj – ujemi vrste polj Airtable (izbor, število, datum) z vrstami atributov Brevo

Varnost

  • Personal Access Tokens – omejeni na določene baze in operacije
  • OAuth 2.0 – varen tok avtorizacije z žetoni za osvežitev
  • Samo HTTPS – vsa komunikacija API šifrirana prek TLS 1.2+
  • Nadzor dostopa na ravni baze – žetoni omejeni na posamezne baze
  • Šifrirano shranjevanje – žetoni šifrirani v mirovanju v Tajo
  • Preverjanje HMAC webhookov – preverjanje pristnosti obvestil webhookov

Povezani viri

Subscribe to updates

developer-docs

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

auto-detect
AI pomočnik

Živjo! Vprašajte me o dokumentaciji.