Zapier конектор
Свържи Zapier с Brevo през Tajo, за да създадеш мост между хиляди приложения на трети страни и твоите маркетингови автоматизации, позволявайки no-code data потоци и event-driven тригери в целия ти tech stack.
Преглед
| Свойство | Стойност |
|---|---|
| Платформа | Zapier |
| Категория | Автоматизация (персонализирана) |
| Сложност на настройка | Лесна |
| Официална интеграция | Не |
| Синхронизирани данни | Събития, контакти, работни потоци, тригери |
| Метод на автентикация | API Key / OAuth 2.0 |
Функции
- Мулти-апликационна оркестрация – Свържи 6 000+ приложения с Brevo чрез Zap работни потоци
- Уебхук тригери – Получавай събития в реално време от всяко Zapier-свързано приложение
- Синхронизация на контакти – Push и pull на контакти между Zapier-свързани платформи и Brevo
- Препращане на събития – Рутирай събития от приложения през Tajo към Brevo автоматизации
- Multi-step Zaps – Създавай сложни работни потоци с филтри, форматери и забавяния
- Персонализирано Zapier приложение – Използвай Zapier Platform CLI, за да създаваш персонализирани интеграции
Предварителни условия
Преди да започнеш, увери се, че имаш:
- Акаунт в Zapier (Free tier или по-горе)
- Акаунт в Brevo с API достъп
- Акаунт в Tajo с разрешения за конектори
- Инсталиран Node.js 18+ (за разработка на CLI-базирана интеграция)
Автентикация
Автентикация с 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 поддържа OAuth 2.0 за свързване на услуги на трети страни в 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' } } }};Конфигурация
Основна настройка
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: LASTNAMEКонфигурация на уебхуци
Конфигурирай Tajo да изпраща събития към 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: exponentialAPI крайни точки
| Крайна точка | Метод | Описание |
|---|---|---|
https://hooks.zapier.com/hooks/catch/{id} | POST | Уебхук catch hook |
https://nla.zapier.com/api/v1/dynamic/exposed/ | GET | Списък с изложени действия |
https://nla.zapier.com/api/v1/dynamic/exposed/{action_id}/execute/ | POST | Изпълнение на действие |
https://zapier.com/api/platform/cli/apps | GET | Списък с регистрирани приложения |
https://zapier.com/api/platform/cli/push | POST | Deploy на интеграция |
Примери с код
Инициализация на конектора
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']});Създаване на персонализирана Zapier интеграция с 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;Обработка на входящи 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' });});Ограничения на заявките
| План | Заявки | Задачи/месец | Интервал на polling |
|---|---|---|---|
| Free | 100/ден | 100 | 15 мин |
| Starter | 1 000/ден | 750 | 15 мин |
| Professional | 5 000/ден | 2 000 | 2 мин |
| Team | 10 000/ден | 50 000 | 1 мин |
Zapier task лимити
Всяка стъпка в Zap се брои като задача. Multi-step Zap-овете консумират множество задачи за изпълнение. Мониторирай използването на задачи в Zapier dashboard, за да избегнеш overages.
Отстраняване на проблеми
| Проблем | Причина | Решение |
|---|---|---|
| Уебхукът не се задейства | Zap-ът е изключен | Провери статуса на Zap в Zapier dashboard |
| Данните не се мапват | Несъответствие на имена на полета | Провери дали ключовете на полетата съвпадат между приложенията |
| Дублирани контакти | Не е конфигуриран dedup | Активирай дедупликация на базата на имейл в Tajo |
| Грешки в Zap | Достигнат API rate limit | Добави стъпки за забавяне или обнови Zapier план |
| Изтекла автентикация | Token не е refresh-нат | Повторно автентикирай връзката в Zapier |
Режим за дебъг
connectors: zapier: debug: true log_level: verbose log_webhooks: trueДобри практики
- Използвай уебхуци пред polling – Уебхуците осигуряват data поток в реално време срещу закъсненията при polling
- Добавяй обработка на грешки – Използвай Zapier Paths за обработка на сценарии за успех/неуспех
- Дедуплицирай данните – Активирай dedup ключове, за да предотвратиш дублирани записи
- Мониторирай използването на задачи – Настрой alert-и преди достигане на task лимитите
- Използвай филтрите разумно – Филтрирай рано в Zap-овете, за да намалиш ненужното task потребление
- Versionирай CLI интеграциите си – Използвай семантично версиониране за Platform CLI приложения
Сигурност
- Само HTTPS – Всички webhook URL-ове трябва да използват HTTPS
- Ротация на API ключове – Периодично ротирай ключовете чрез Zapier dashboard
- OAuth 2.0 – Използвай OAuth за автентикация на услуги на трети страни
- Верификация на уебхуци – Валидирай подписите на входящите уебхуци
- Scoped разрешения – Предоставяй минимално необходим достъп на Zap