Σύνδεσμος Airtable
Συνδέστε τις βάσεις Airtable σας με το Brevo για συγχρονισμό CRM, διαχείριση καταλόγου προϊόντων και αυτοματοποιημένες ροές εργασίας marketing που τροφοδοτούνται από δομημένα δεδομένα μέσω Tajo.
Επισκόπηση
| Ιδιότητα | Τιμή |
|---|---|
| Πλατφόρμα | Airtable |
| Κατηγορία | Προσαρμοσμένο |
| Πολυπλοκότητα Ρύθμισης | Εύκολη |
| Επίσημη Ενσωμάτωση | Όχι |
| Δεδομένα που Συγχρονίζονται | Εγγραφές, Πίνακες, Χρήστες |
| Τύπος API | REST API |
| Πιστοποίηση | Personal Access Token / OAuth 2.0 |
| Βασικό URL | https://api.airtable.com/v0/ |
Χαρακτηριστικά
- Συγχρονισμός πίνακα σε λίστα - Συγχρονισμός εγγραφών πίνακα Airtable απευθείας σε λίστες επαφών Brevo
- Γέφυρα καταλόγου προϊόντων - Χρήση πινάκων Airtable ως κατάλογοι προϊόντων για προτάσεις email
- Συγχρονισμός CRM - Αμφίδρομος συγχρονισμός μεταξύ CRM Airtable και επαφών Brevo
- Εκδηλώσεις υποβολής φόρμας - Προώθηση υποβολών φόρμας Airtable ως εκδηλώσεις Brevo
- Φιλτράρισμα βάσει προβολής - Συγχρονισμός συγκεκριμένων προβολών Airtable σε στοχευμένες λίστες Brevo
- Αυτοματοποίηση webhook - Ενεργοποίηση καμπανιών Brevo όταν αλλάζουν εγγραφές Airtable
Προαπαιτούμενα
Πριν ξεκινήσετε, βεβαιωθείτε ότι διαθέτετε:
- Λογαριασμό Airtable (δωρεάν πλάνο ή ανώτερο)
- Ρυθμισμένο Personal Access Token ή εφαρμογή OAuth
- Πρόσβαση στις βάσεις και τους πίνακες που θέλετε να συγχρονίσετε
- Λογαριασμό Brevo με πρόσβαση API
- Λογαριασμό Tajo με ενεργή συνδρομή
Πιστοποίηση
Το Airtable υποστηρίζει Personal Access Tokens και OAuth 2.0.
Επιλογή 1: Personal Access Token (Συνιστάται)
- Μεταβείτε στο airtable.com/create/tokens
- Κάντε κλικ στο Create new token
- Ονομάστε το “Tajo Integration”
- Προσθέστε scopes:
data.records:readdata.records:writedata.recordComments:readschema.bases:readwebhook:manage- Προσθέστε πρόσβαση σε συγκεκριμένες βάσεις ή σε όλες τις βάσεις
- Κάντε κλικ στο Create token
Επιλογή 2: OAuth 2.0
Για ενσωματώσεις πολλαπλών χρηστών, χρησιμοποιήστε τη ροή OAuth 2.0:
- Εγγράψτε την ενσωμάτωσή σας στο airtable.com/create/oauth
- Ρυθμίστε URI ανακατεύθυνσης:
https://app.tajo.io/callbacks/airtable - Ζητήστε τα ίδια scopes όπως παραπάνω
Εμβέλεια Token
Τα Personal Access Tokens μπορούν να περιοριστούν σε συγκεκριμένες βάσεις. Για λόγους ασφαλείας, παραχωρείτε πρόσβαση μόνο στις βάσεις που χρειάζεται η ενσωμάτωσή σας αντί να επιλέγετε “Όλες οι τρέχουσες και μελλοντικές βάσεις”.
Σύνδεση με Tajo
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: trueEndpoints API
Το Tajo ενσωματώνεται με τα παρακάτω endpoints Airtable Web API:
| Endpoint | Μέθοδος | Σκοπός |
|---|---|---|
/v0/{baseId}/{tableIdOrName} | GET | Λίστα εγγραφών σε πίνακα |
/v0/{baseId}/{tableIdOrName} | POST | Δημιουργία εγγραφών |
/v0/{baseId}/{tableIdOrName} | PATCH | Ενημέρωση εγγραφών |
/v0/{baseId}/{tableIdOrName} | DELETE | Διαγραφή εγγραφών |
/v0/{baseId}/{tableIdOrName}/{recordId} | GET | Ανάκτηση μεμονωμένης εγγραφής |
/v0/meta/bases | GET | Λίστα προσβάσιμων βάσεων |
/v0/meta/bases/{baseId}/tables | GET | Λίστα πινάκων σε βάση |
/v0/{baseId}/{tableIdOrName}/listRecordComments | GET | Λίστα σχολίων εγγραφής |
/v0/bases/{baseId}/webhooks | POST | Δημιουργία webhook |
/v0/bases/{baseId}/webhooks | GET | Λίστα webhooks |
Παραδείγματα Κώδικα
Αρχικοποίηση Συνδέσμου
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
// 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// }Χειρισμός Webhooks
// 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
// 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] } }); }});Όρια Ρυθμού
Το Airtable επιβάλλει όρια ρυθμού ανά βάση:
| Τύπος Ορίου | Τιμή |
|---|---|
| Όριο ρυθμού API | 5 αιτήματα ανά δευτερόλεπτο ανά βάση |
| Εγγραφές ανά αίτημα | 100 εγγραφές μέγ. (λίστα), 10 εγγραφές μέγ. (δημιουργία/ενημέρωση) |
| Payloads webhook | 50 payloads ανά κλήση listWebhookPayloads |
| Μέγεθος αιτήματος | Μέγ. payload ~2MB |
Λειτουργίες Batch
Το Airtable επιτρέπει τη δημιουργία ή ενημέρωση έως 10 εγγραφών ανά αίτημα. Το Tajo ομαδοποιεί αυτόματα μεγαλύτερες λειτουργίες σε πολλαπλά αιτήματα τηρώντας τα όρια ρυθμού.
Αντιμετώπιση Προβλημάτων
Συνηθισμένα Προβλήματα
| Πρόβλημα | Αιτία | Λύση |
|---|---|---|
| 401 Unauthorized | Μη έγκυρο ή ληγμένο token | Αναγέννηση Personal Access Token |
| 403 Forbidden | Το token δεν έχει πρόσβαση στη βάση | Προσθέστε τη βάση στο scope του token σας |
| 404 Not Found | Μη έγκυρο ID βάσης ή πίνακα | Επαληθεύστε το ID βάσης και το όνομα πίνακα |
| 422 Invalid Request | Αναντιστοιχία τύπου πεδίου | Ελέγξτε ότι οι τύποι πεδίων Airtable ταιριάζουν με τα δεδομένα σας |
| Υπέρβαση ορίου ρυθμού | Περισσότερα από 5 req/s ανά βάση | Μειώστε τη συχνότητα συγχρονισμού ή κλιμακώστε τους συγχρονισμούς βάσης |
Λειτουργία Εντοπισμού Σφαλμάτων
connectors: airtable: debug: true log_level: verbose log_api_calls: trueΔοκιμή Σύνδεσης
tajo connectors test airtable# ✓ API authentication successful# ✓ Base access verified# ✓ Table schema readable# ✓ Record listing operational# ✓ Webhook registration availableΒέλτιστες Πρακτικές
- Περιορίστε tokens σε συγκεκριμένες βάσεις - Μην παραχωρείτε πρόσβαση σε όλες τις βάσεις εκτός αν είναι απαραίτητο
- Χρησιμοποιήστε προβολές για φιλτραρισμένο συγχρονισμό - Συγχρονίστε συγκεκριμένες προβολές αντί πλήρων πινάκων για μείωση όγκου δεδομένων
- Ομαδοποίηση λειτουργιών εγγραφής - Ομαδοποιήστε δημιουργίες και ενημερώσεις σε batches των 10
- Χειριστείτε σελιδοποίηση - Το Airtable επιστρέφει 100 εγγραφές ανά σελίδα· επαναλάβετε με
offset - Χρησιμοποιήστε webhooks για πραγματικό χρόνο - Εγγράψτε webhooks αντί polling για αλλαγές
- Αντιστοιχίστε τύπους πεδίων ακριβώς - Αντιστοιχίστε τύπους πεδίων Airtable (select, number, date) σε τύπους χαρακτηριστικών Brevo
Ασφάλεια
- Personal Access Tokens - Περιορισμένα σε συγκεκριμένες βάσεις και λειτουργίες
- OAuth 2.0 - Ασφαλής ροή εξουσιοδότησης με refresh tokens
- Μόνο HTTPS - Όλη η επικοινωνία API κρυπτογραφημένη μέσω TLS 1.2+
- Έλεγχος Πρόσβασης σε Επίπεδο Βάσης - Tokens περιορισμένα σε μεμονωμένες βάσεις
- Κρυπτογραφημένη Αποθήκευση - Τα tokens κρυπτογραφούνται σε ηρεμία στο Tajo
- Επαλήθευση HMAC Webhook - Επαλήθευση αυθεντικότητας ειδοποίησης webhook