Konektor Zapier
Połącz Zapier z Brevo przez Tajo, aby połączyć tysiące aplikacji zewnętrznych z przepływami automatyzacji marketingu, umożliwiając bezprogramistyczne przepływy danych i wyzwalacze oparte na zdarzeniach w całym stosie technologicznym.
Przegląd
| Właściwość | Wartość |
|---|---|
| Platforma | Zapier |
| Kategoria | Automatyzacja (Niestandardowa) |
| Poziom konfiguracji | Łatwy |
| Integracja oficjalna | Nie |
| Synchronizowane dane | Zdarzenia, Kontakty, Workflow, Wyzwalacze |
| Metoda uwierzytelniania | Klucz API / OAuth 2.0 |
Funkcje
- Orkiestracja wielu aplikacji - Połącz 6 000+ aplikacji z Brevo przez workflow Zap
- Wyzwalacze webhooków - Odbieraj zdarzenia w czasie rzeczywistym z dowolnej aplikacji połączonej z Zapier
- Synchronizacja kontaktów - Wypychaj i pobieraj kontakty między platformami połączonymi z Zapier a Brevo
- Przekazywanie zdarzeń - Kieruj zdarzenia aplikacji przez Tajo do automatyzacji Brevo
- Wieloetapowe Zapy - Buduj złożone workflow z filtrami, formatterami i opóźnieniami
- Niestandardowa aplikacja Zapier - Używaj Zapier Platform CLI do budowania dostosowanych integracji
Wymagania wstępne
Zanim zaczniesz, upewnij się, że masz:
- Konto Zapier (plan Free lub wyższy)
- Konto Brevo z dostępem do API
- Konto Tajo z uprawnieniami konektora
- Node.js 18+ zainstalowany (dla rozwoju integracji opartej na CLI)
Uwierzytelnianie
Uwierzytelnianie kluczem 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 obsługuje OAuth 2.0 do łączenia usług zewnętrznych w Zapach:
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' } } }};Konfiguracja
Podstawowa konfiguracja
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: LASTNAMEKonfiguracja webhooków
Skonfiguruj Tajo do wysyłania zdarzeń do webhooków 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: exponentialEndpointy API
| Endpoint | Metoda | Opis |
|---|---|---|
https://hooks.zapier.com/hooks/catch/{id} | POST | Webhook catch hook |
https://nla.zapier.com/api/v1/dynamic/exposed/ | GET | Lista eksponowanych akcji |
https://nla.zapier.com/api/v1/dynamic/exposed/{action_id}/execute/ | POST | Wykonaj akcję |
https://zapier.com/api/platform/cli/apps | GET | Lista zarejestrowanych aplikacji |
https://zapier.com/api/platform/cli/push | POST | Wdróż integrację |
Przykłady kodu
Inicjalizacja 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']});Zbuduj niestandardową integrację Zapier z 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;Obsługa przychodzących webhooków Zapier
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' });});Limity API
| Plan | Żądania | Zadania/miesiąc | Interwał odpytywania |
|---|---|---|---|
| Free | 100/dzień | 100 | 15 min |
| Starter | 1 000/dzień | 750 | 15 min |
| Professional | 5 000/dzień | 2 000 | 2 min |
| Team | 10 000/dzień | 50 000 | 1 min |
Limity zadań Zapier
Każdy krok Zapa liczy się jako zadanie. Wieloetapowe Zapy zużywają wiele zadań na wykonanie. Monitoruj zużycie zadań w dashboardzie Zapier, aby unikać przekroczeń.
Rozwiązywanie problemów
| Problem | Przyczyna | Rozwiązanie |
|---|---|---|
| Webhook nie odpala | Zap wyłączony | Sprawdź status Zapa w dashboardzie Zapier |
| Dane nie mapują się | Niezgodność nazwy pola | Zweryfikuj klucze pól między aplikacjami |
| Duplikaty kontaktów | Brak konfiguracji deduplikacji | Włącz deduplikację opartą na e-mailu w Tajo |
| Błędy Zapa | Przekroczony limit szybkości API | Dodaj kroki opóźnienia lub uaktualnij plan Zapier |
| Auth wygasło | Token nieodświeżony | Ponownie uwierzytelnij połączenie w Zapier |
Tryb debug
connectors: zapier: debug: true log_level: verbose log_webhooks: trueNajlepsze praktyki
- Używaj webhooków zamiast odpytywania - Webhooki zapewniają przepływ danych w czasie rzeczywistym zamiast opóźnień z odpytywania
- Dodaj obsługę błędów - Używaj Zapier Paths do obsługi scenariuszy sukcesu/niepowodzenia
- Deduplikuj dane - Włącz klucze deduplikacji, aby zapobiec duplikowaniu rekordów
- Monitoruj zużycie zadań - Skonfiguruj alerty przed osiągnięciem limitów zadań
- Używaj filtrów rozsądnie - Filtruj wcześnie w Zapach, aby zmniejszyć niepotrzebne zużycie zadań
- Wersjonuj integracje CLI - Używaj semantycznego wersjonowania dla aplikacji Platform CLI
Bezpieczeństwo
- Tylko HTTPS - Wszystkie URL webhooków muszą używać HTTPS
- Rotacja kluczy API - Regularnie rotuj klucze przez dashboard Zapier
- OAuth 2.0 - Używaj OAuth do uwierzytelniania usług zewnętrznych
- Weryfikacja webhooków - Waliduj przychodzące podpisy webhooków
- Uprawnienia z zakresem - Przyznaj minimalny wymagany dostęp na Zap