Connettore Zapier
Collega Zapier a Brevo tramite Tajo per fare da ponte tra migliaia di applicazioni di terze parti e i tuoi flussi di marketing automation, abilitando flussi dati no-code e trigger event-driven su tutto il tuo tech stack.
Panoramica
| Proprietà | Valore |
|---|---|
| Piattaforma | Zapier |
| Categoria | Automation (Custom) |
| Complessità di setup | Facile |
| Integrazione ufficiale | No |
| Dati sincronizzati | Eventi, Contatti, Workflow, Trigger |
| Metodo di autenticazione | API Key / OAuth 2.0 |
Funzionalità
- Orchestrazione multi-app - Collega 6.000+ app a Brevo tramite workflow Zap
- Trigger webhook - Ricevi eventi in real-time da qualsiasi app collegata a Zapier
- Sync dei contatti - Invia e ricevi contatti tra piattaforme collegate a Zapier e Brevo
- Inoltro eventi - Instrada eventi applicativi tramite Tajo nelle automazioni Brevo
- Zap multi-step - Costruisci workflow complessi con filtri, formatter e delay
- App Zapier personalizzata - Usa la Zapier Platform CLI per costruire integrazioni su misura
Prerequisiti
Prima di iniziare, assicurati di avere:
- Un account Zapier (piano Free o superiore)
- Un account Brevo con accesso API
- Un account Tajo con permessi sui connettori
- Node.js 18+ installato (per lo sviluppo di integrazioni CLI-based)
Autenticazione
Autenticazione con API Key
# Imposta le credenziali di Zapier Platformexport ZAPIER_DEPLOY_KEY=your_deploy_keyexport TAJO_API_KEY=your_tajo_api_keyexport BREVO_API_KEY=your_brevo_api_keyOAuth 2.0
Zapier supporta OAuth 2.0 per collegare servizi di terze parti all’interno degli Zap:
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' } } }};Configurazione
Setup di base
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: LASTNAMEConfigurazione webhook
Configura Tajo per inviare eventi ai webhook 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: exponentialEndpoint API
| Endpoint | Metodo | Descrizione |
|---|---|---|
https://hooks.zapier.com/hooks/catch/{id} | POST | Webhook catch hook |
https://nla.zapier.com/api/v1/dynamic/exposed/ | GET | Elenca le azioni esposte |
https://nla.zapier.com/api/v1/dynamic/exposed/{action_id}/execute/ | POST | Esegui un’azione |
https://zapier.com/api/platform/cli/apps | GET | Elenca le app registrate |
https://zapier.com/api/platform/cli/push | POST | Deploy di un’integrazione |
Esempi di codice
Inizializzare il connettore
import { TajoClient } from '@tajo/sdk';
const tajo = new TajoClient({ apiKey: process.env.TAJO_API_KEY, brevoApiKey: process.env.BREVO_API_KEY});
// Collega Zapier tramite webhookawait tajo.connectors.connect('zapier', { webhookUrl: process.env.ZAPIER_WEBHOOK_URL, events: ['contact.created', 'order.completed']});Costruire un’integrazione Zapier custom con 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: 'Si attiva quando viene sincronizzato un nuovo contatto.' }, 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: 'Sincronizza un contatto su Brevo tramite 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;Gestire i webhook Zapier in ingresso
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' });});Limiti di rate
| Piano | Richieste | Task/Mese | Intervallo di polling |
|---|---|---|---|
| Free | 100/giorno | 100 | 15 min |
| Starter | 1.000/giorno | 750 | 15 min |
| Professional | 5.000/giorno | 2.000 | 2 min |
| Team | 10.000/giorno | 50.000 | 1 min |
Limiti task Zapier
Ogni step di Zap conta come un task. Gli Zap multi-step consumano più task per esecuzione. Monitora l’uso dei task nella dashboard Zapier per evitare superamenti.
Risoluzione dei problemi
| Problema | Causa | Soluzione |
|---|---|---|
| Webhook non scatta | Zap disattivato | Controlla lo stato dello Zap nella dashboard Zapier |
| Dati non mappati | Mismatch del nome del campo | Verifica che le chiavi dei campi corrispondano tra le app |
| Contatti duplicati | Nessuna dedup configurata | Abilita la deduplicazione basata su email in Tajo |
| Errori dello Zap | Rate limit API raggiunto | Aggiungi step di delay o aggiorna il piano Zapier |
| Auth scaduta | Token non aggiornato | Ri-autentica la connessione in Zapier |
Modalità debug
connectors: zapier: debug: true log_level: verbose log_webhooks: trueBest practice
- Usa i webhook invece del polling - I webhook offrono flusso dati in real-time vs. i ritardi del polling
- Aggiungi gestione errori - Usa i Paths di Zapier per gestire scenari di successo/fallimento
- Deduplica i dati - Abilita chiavi di deduplicazione per prevenire record duplicati
- Monitora l’uso dei task - Imposta alert prima di raggiungere i limiti di task
- Usa i filtri con saggezza - Filtra presto negli Zap per ridurre il consumo non necessario di task
- Versiona le tue integrazioni CLI - Usa versioning semantico per le app Platform CLI
Sicurezza
- Solo HTTPS - Tutti gli URL dei webhook devono usare HTTPS
- Rotazione delle API key - Ruota periodicamente le chiavi tramite la dashboard Zapier
- OAuth 2.0 - Usa OAuth per l’autenticazione con servizi di terze parti
- Verifica webhook - Valida le firme dei webhook in ingresso
- Permessi con scope - Concedi l’accesso minimo necessario per ogni Zap