Conector Zapier
Conectați Zapier la Brevo prin Tajo pentru a face legătura între mii de aplicații terțe și fluxurile de automatizare de marketing, permițând fluxuri de date fără cod și declanșatoare bazate pe evenimente în întregul stack tehnologic.
Prezentare generală
| Proprietate | Valoare |
|---|---|
| Platformă | Zapier |
| Categorie | Automatizare (Personalizat) |
| Complexitate configurare | Ușoară |
| Integrare oficială | Nu |
| Date sincronizate | Evenimente, Contacte, Fluxuri de lucru, Declanșatoare |
| Metodă de autentificare | Cheie API / OAuth 2.0 |
Funcționalități
- Orchestrare multi-aplicație - Conectați 6.000+ aplicații la Brevo prin fluxuri de lucru Zap
- Declanșatoare webhook - Primiți evenimente în timp real de la orice aplicație conectată Zapier
- Sincronizare contacte - Transmiteți și primiți contacte între platformele conectate Zapier și Brevo
- Redirecționare evenimente - Rutați evenimentele aplicației prin Tajo în automatizările Brevo
- Zap-uri cu mai mulți pași - Construiți fluxuri de lucru complexe cu filtre, formatoare și întârzieri
- Aplicație Zapier personalizată - Utilizați Zapier Platform CLI pentru a construi integrări adaptate
Cerințe preliminare
Înainte de a începe, asigurați-vă că aveți:
- Un cont Zapier (nivel gratuit sau superior)
- Un cont Brevo cu acces API
- Un cont Tajo cu permisiuni de conector
- Node.js 18+ instalat (pentru dezvoltarea integrărilor bazate pe CLI)
Autentificare
Autentificare cu cheie API
# 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 suportă OAuth 2.0 pentru conectarea serviciilor terțe în Zap-uri:
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' } } }};Configurare
Configurare de bază
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: LASTNAMEConfigurare webhook
Configurați Tajo să trimită evenimente la webhook-urile Zapier:
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: exponentialPuncte finale API
| Punct final | Metodă | Descriere |
|---|---|---|
https://hooks.zapier.com/hooks/catch/{id} | POST | Hook de captare webhook |
https://nla.zapier.com/api/v1/dynamic/exposed/ | GET | Listează acțiunile expuse |
https://nla.zapier.com/api/v1/dynamic/exposed/{action_id}/execute/ | POST | Execută o acțiune |
https://zapier.com/api/platform/cli/apps | GET | Listează aplicațiile înregistrate |
https://zapier.com/api/platform/cli/push | POST | Implementează integrarea |
Exemple de cod
Inițializare conector
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']});Construire integrare Zapier personalizată cu 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;Gestionare webhook-uri Zapier primite
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' });});Limite de rată
| Plan | Cereri | Sarcini/Lună | Interval polling |
|---|---|---|---|
| Gratuit | 100/zi | 100 | 15 min |
| Starter | 1.000/zi | 750 | 15 min |
| Professional | 5.000/zi | 2.000 | 2 min |
| Team | 10.000/zi | 50.000 | 1 min |
Limite de sarcini Zapier
Fiecare pas al unui Zap se contorizează ca o sarcină. Zap-urile cu mai mulți pași consumă mai multe sarcini per execuție. Monitorizați utilizarea sarcinilor în tabloul de bord Zapier pentru a evita depășirile.
Depanare
| Problemă | Cauză | Soluție |
|---|---|---|
| Webhook-ul nu se execută | Zap oprit | Verificați statusul Zap în tabloul de bord Zapier |
| Date nemapate | Nepotrivire nume câmp | Verificați că cheile câmpurilor corespund între aplicații |
| Contacte duplicate | Fără deduplicare configurată | Activați deduplicarea bazată pe e-mail în Tajo |
| Erori Zap | Limită de rată API atinsă | Adăugați pași de întârziere sau upgradați planul Zapier |
| Autentificare expirată | Token neîmprospătat | Reautentificați conexiunea în Zapier |
Modul de depanare
connectors: zapier: debug: true log_level: verbose log_webhooks: trueBune practici
- Utilizați webhook-uri în locul polling-ului - Webhook-urile oferă flux de date în timp real față de întârzierile de polling
- Adăugați gestionarea erorilor - Utilizați Zapier Paths pentru a gestiona scenariile de succes/eșec
- Deduplicați datele - Activați cheile de deduplicare pentru a preveni înregistrările duplicate
- Monitorizați utilizarea sarcinilor - Configurați alerte înainte de atingerea limitelor de sarcini
- Utilizați filtrele cu înțelepciune - Filtrați devreme în Zap-uri pentru a reduce consumul inutil de sarcini
- Versionați integrările CLI - Utilizați versionare semantică pentru aplicațiile Platform CLI
Securitate
- Numai HTTPS - Toate URL-urile webhook trebuie să utilizeze HTTPS
- Rotație cheie API - Rotiți cheile periodic prin tabloul de bord Zapier
- OAuth 2.0 - Utilizați OAuth pentru autentificarea serviciilor terțe
- Verificare webhook - Validați semnăturile webhook primite
- Permisiuni cu scope - Acordați acces minim necesar per Zap