Zapier konektor
Poveži Zapier sa Brevo putem Tajo da premostiš hiljade aplikacija trećih strana sa tvojim tokovima marketing automatizacije, omogućavajući tokove podataka bez kodiranja i okidače pokretane događajima kroz ceo tvoj tehnološki stek.
Pregled
| Svojstvo | Vrednost |
|---|---|
| Platforma | Zapier |
| Kategorija | Automatizacija (Prilagođeno) |
| Složenost podešavanja | Lako |
| Zvanična integracija | Ne |
| Sinhronizovani podaci | Događaji, Kontakti, Tokovi rada, Okidači |
| Metod autentifikacije | API Key / OAuth 2.0 |
Karakteristike
- Orkestracija više aplikacija - Povezivanje 6.000+ aplikacija sa Brevo putem Zap tokova rada
- Webhook okidači - Primanje događaja u realnom vremenu iz bilo koje Zapier-povezane aplikacije
- Sinhronizacija kontakata - Guranje i povlačenje kontakata između Zapier-povezanih platforma i Brevo
- Prosleđivanje događaja - Rutiranje aplikacionih događaja putem Tajo u Brevo automatizacije
- Višekorački Zap-ovi - Pravljenje složenih tokova rada sa filtrima, formaterima i kašnjenjima
- Prilagođena Zapier aplikacija - Korišćenje Zapier Platform CLI za pravljenje prilagođenih integracija
Preduslovi
Pre nego što započneš, proveri da imaš:
- Zapier nalog (besplatan nivo ili viši)
- Brevo nalog sa API pristupom
- Tajo nalog sa dozvolama konektora
- Node.js 18+ instaliran (za razvoj integracije zasnovane na CLI)
Autentifikacija
Autentifikacija API ključem
# Set your Zapier Platform credentialsexport ZAPIER_DEPLOY_KEY=your_deploy_keyexport TAJO_API_KEY=your_tajo_api_keyexport BREVO_API_KEY=your_brevo_api_keyOAuth 2.0
Zapier podržava OAuth 2.0 za povezivanje servisa trećih strana unutar Zap-ova:
const authentication = { type: 'oauth2', oauth2Config: { authorizeUrl: { url: 'https://your-app.com/oauth/authorize', params: { client_id: '{{process.env.CLIENT_ID}}', state: '{{bundle.inputData.state}}', redirect_uri: '{{bundle.inputData.redirect_uri}}', response_type: 'code' } }, getAccessToken: { url: 'https://your-app.com/oauth/token', method: 'POST', body: { code: '{{bundle.inputData.code}}', client_id: '{{process.env.CLIENT_ID}}', client_secret: '{{process.env.CLIENT_SECRET}}', grant_type: 'authorization_code', redirect_uri: '{{bundle.inputData.redirect_uri}}' } }, refreshAccessToken: { url: 'https://your-app.com/oauth/token', method: 'POST', body: { refresh_token: '{{bundle.authData.refresh_token}}', client_id: '{{process.env.CLIENT_ID}}', client_secret: '{{process.env.CLIENT_SECRET}}', grant_type: 'refresh_token' } } }};Konfiguracija
Osnovno podešavanje
connectors: zapier: enabled: true webhook_url: "https://hooks.zapier.com/hooks/catch/YOUR_HOOK_ID"
sync: contacts: true events: true workflows: true
triggers: - contact_created - order_placed - form_submitted
mapping: email: email first_name: FIRSTNAME last_name: LASTNAMEKonfiguracija webhook-ova
Konfiguriši Tajo da šalje događaje na Zapier webhook-ove:
webhooks: zapier: url: "https://hooks.zapier.com/hooks/catch/YOUR_HOOK_ID" events: - contact.created - contact.updated - order.completed - cart.abandoned retry: max_attempts: 3 backoff: exponentialAPI endpointi
| Endpoint | Metoda | Opis |
|---|---|---|
https://hooks.zapier.com/hooks/catch/{id} | POST | Webhook catch hook |
https://nla.zapier.com/api/v1/dynamic/exposed/ | GET | Listanje izloženih akcija |
https://nla.zapier.com/api/v1/dynamic/exposed/{action_id}/execute/ | POST | Izvršavanje akcije |
https://zapier.com/api/platform/cli/apps | GET | Listanje registrovanih aplikacija |
https://zapier.com/api/platform/cli/push | POST | Implementacija integracije |
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});
// Connect Zapier via webhookawait tajo.connectors.connect('zapier', { webhookUrl: process.env.ZAPIER_WEBHOOK_URL, events: ['contact.created', 'order.completed']});Pravljenje prilagođene Zapier integracije sa Platform CLI
const { version: platformVersion } = require('zapier-platform-core');
const App = { version: require('./package.json').version, platformVersion, authentication, triggers: { new_contact: { key: 'new_contact', noun: 'Contact', display: { label: 'New Contact in Tajo', description: 'Triggers when a new contact is synced.' }, operation: { perform: async (z, bundle) => { const response = await z.request({ url: 'https://api.tajo.io/v1/contacts', params: { since: bundle.meta.lastPoll } }); return response.data; } } } }, creates: { sync_contact: { key: 'sync_contact', noun: 'Contact', display: { label: 'Sync Contact to Brevo', description: 'Syncs a contact to Brevo via Tajo.' }, operation: { inputFields: [ { key: 'email', required: true, type: 'string' }, { key: 'firstName', type: 'string' }, { key: 'lastName', type: 'string' } ], perform: async (z, bundle) => { const response = await z.request({ method: 'POST', url: 'https://api.tajo.io/v1/contacts/sync', body: bundle.inputData }); return response.data; } } } }};
module.exports = App;Obrada dolaznih Zapier webhook-ova
app.post('/webhooks/zapier', async (req, res) => { const { event, data } = req.body;
await tajo.connectors.handleWebhook('zapier', { topic: event, payload: data });
res.status(200).json({ status: 'received' });});Ograničenja brzine
| Plan | Zahtevi | Zadaci/Mesec | Interval ispitivanja |
|---|---|---|---|
| Free | 100/dan | 100 | 15 min |
| Starter | 1.000/dan | 750 | 15 min |
| Professional | 5.000/dan | 2.000 | 2 min |
| Team | 10.000/dan | 50.000 | 1 min |
Limiti Zapier zadataka
Svaki korak Zap-a računa se kao zadatak. Višekorački Zap-ovi troše više zadataka po izvršavanju. Prati upotrebu zadataka u Zapier dashboard-u da izbjegneš prekoračenja.
Rešavanje problema
| Problem | Uzrok | Rešenje |
|---|---|---|
| Webhook ne okida | Zap isključen | Proveri status Zap-a u Zapier dashboard-u |
| Podaci se ne mapiraju | Nepodudaranje naziva polja | Verifikuj da se ključevi polja podudaraju između aplikacija |
| Duplirani kontakti | Nije konfigurisana deduplacacija | Omogući deduplacaciju zasnovanu na email-u u Tajo |
| Greške Zap-a | Dostignut API limit brzine | Dodaj korake kašnjenja ili nadogradi Zapier plan |
| Autentifikacija istekla | Token nije osvežen | Ponovo autentifikuj vezu u Zapier-u |
Debug režim
connectors: zapier: debug: true log_level: verbose log_webhooks: trueNajbolje prakse
- Koristi webhook-ove umesto ispitivanja - Webhook-ovi pružaju tok podataka u realnom vremenu u poređenju sa kašnjenjima ispitivanja
- Dodaj obradu grešaka - Koristi Zapier Paths za obradu scenarija uspeha/neuspeha
- Dedupliciraj podatke - Omogući ključeve deduplacacije da sprečiš dupliranje zapisa
- Prati upotrebu zadataka - Postavi upozorenja pre dostizanja limita zadataka
- Pametno koristi filtere - Filtriraj rano u Zap-ovima da smanjiš nepotrebnu potrošnju zadataka
- Verzionuj CLI integracije - Koristi semantičko verzionisanje za Platform CLI aplikacije
Bezbednost
- Samo HTTPS - Svi webhook URL-ovi moraju koristiti HTTPS
- Rotacija API ključeva - Periodično rotiraj ključeve putem Zapier dashboard-a
- OAuth 2.0 - Koristi OAuth za autentifikaciju servisa trećih strana
- Verifikacija webhook-ova - Validiraj potpise dolaznih webhook-ova
- Skopovane dozvole - Dodeli minimalni potreban pristup po Zap-u