Zapier Bağlayıcısı
Tüm teknoloji yığınınızda kod gerektirmeyen veri akışları ve olay odaklı tetikleyiciler sağlayarak binlerce üçüncü taraf uygulamayı pazarlama otomasyonu iş akışlarınızla köprülemek için Zapier’i Tajo üzerinden Brevo’ya bağlayın.
Genel Bakış
| Özellik | Değer |
|---|---|
| Platform | Zapier |
| Kategori | Otomasyon (Özel) |
| Kurulum Karmaşıklığı | Kolay |
| Resmi Entegrasyon | Hayır |
| Senkronize Edilen Veri | Olaylar, Kişiler, İş Akışları, Tetikleyiciler |
| Kimlik Doğrulama Yöntemi | API Anahtarı / OAuth 2.0 |
Özellikler
- Çoklu uygulama orkestrasyonu - Zap iş akışları aracılığıyla 6.000’den fazla uygulamayı Brevo’ya bağlayın
- Webhook tetikleyicileri - Zapier’e bağlı herhangi bir uygulamadan gerçek zamanlı olaylar alın
- Kişi senkronizasyonu - Zapier’e bağlı platformlar ile Brevo arasında kişileri aktarın
- Olay iletimi - Uygulama olaylarını Tajo üzerinden Brevo otomasyonlarına yönlendirin
- Çok adımlı Zap’ler - Filtreler, biçimlendiriciler ve gecikmelerle karmaşık iş akışları oluşturun
- Özel Zapier uygulaması - Özel entegrasyonlar oluşturmak için Zapier Platform CLI kullanın
Ön Koşullar
Başlamadan önce şunlara sahip olduğunuzdan emin olun:
- Bir Zapier hesabı (Ücretsiz katman veya üzeri)
- API erişimi olan bir Brevo hesabı
- Bağlayıcı izinlerine sahip bir Tajo hesabı
- Kurulmuş Node.js 18+ (CLI tabanlı entegrasyon geliştirme için)
Kimlik Doğrulama
API Anahtarı Kimlik Doğrulaması
# Zapier Platform kimlik bilgilerinizi ayarlayınexport ZAPIER_DEPLOY_KEY=your_deploy_keyexport TAJO_API_KEY=your_tajo_api_keyexport BREVO_API_KEY=your_brevo_api_keyOAuth 2.0
Zapier, Zap’ler içinde üçüncü taraf hizmetleri bağlamak için OAuth 2.0’ı destekler:
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' } } }};Yapılandırma
Temel Kurulum
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: LASTNAMEWebhook Yapılandırması
Tajo’yu Zapier webhook’larına olay gönderecek şekilde yapılandırın:
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 Uç Noktaları
| Uç Nokta | Yöntem | Açıklama |
|---|---|---|
https://hooks.zapier.com/hooks/catch/{id} | POST | Webhook catch hook |
https://nla.zapier.com/api/v1/dynamic/exposed/ | GET | Açık eylemleri listele |
https://nla.zapier.com/api/v1/dynamic/exposed/{action_id}/execute/ | POST | Bir eylemi yürüt |
https://zapier.com/api/platform/cli/apps | GET | Kayıtlı uygulamaları listele |
https://zapier.com/api/platform/cli/push | POST | Entegrasyon dağıt |
Kod Örnekleri
Bağlayıcıyı Başlatma
import { TajoClient } from '@tajo/sdk';
const tajo = new TajoClient({ apiKey: process.env.TAJO_API_KEY, brevoApiKey: process.env.BREVO_API_KEY});
// Zapier'i webhook aracılığıyla bağlaawait tajo.connectors.connect('zapier', { webhookUrl: process.env.ZAPIER_WEBHOOK_URL, events: ['contact.created', 'order.completed']});Platform CLI ile Özel Zapier Entegrasyonu Oluşturma
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;Gelen Zapier Webhook’larını İşleme
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' });});Hız Sınırları
| Plan | İstekler | Görevler/Ay | Yoklama Aralığı |
|---|---|---|---|
| Ücretsiz | 100/gün | 100 | 15 dk |
| Starter | 1.000/gün | 750 | 15 dk |
| Professional | 5.000/gün | 2.000 | 2 dk |
| Team | 10.000/gün | 50.000 | 1 dk |
Zapier Görev Sınırları
Her Zap adımı bir görev olarak sayılır. Çok adımlı Zap’ler yürütme başına birden fazla görev tüketir. Aşmaları önlemek için Zapier panosunda görev kullanımınızı izleyin.
Sorun Giderme
| Sorun | Neden | Çözüm |
|---|---|---|
| Webhook tetiklenmiyor | Zap kapalı | Zapier panosunda Zap durumunu kontrol edin |
| Veriler eşleştirilmiyor | Alan adı uyuşmazlığı | Uygulamalar arasında alan anahtarlarının eşleştiğini doğrulayın |
| Yinelenen kişiler | Yinelenen kaldırma yapılandırılmadı | Tajo’da e-posta tabanlı yinelenen kaldırmayı etkinleştirin |
| Zap hataları | API hız sınırı aşıldı | Gecikme adımları ekleyin veya Zapier planını yükseltin |
| Kimlik doğrulama süresi dolmuş | Belirteç yenilenmedi | Bağlantıyı Zapier’de yeniden doğrulayın |
Hata Ayıklama Modu
connectors: zapier: debug: true log_level: verbose log_webhooks: trueEn İyi Uygulamalar
- Yoklama yerine webhook kullanın - Webhook’lar yoklama gecikmelerine karşı gerçek zamanlı veri akışı sağlar
- Hata işleme ekleyin - Başarı/başarısızlık senaryolarını yönetmek için Zapier Paths kullanın
- Verileri yinelemeden kaldırın - Yinelenen kayıtları önlemek için yinelenen kaldırma anahtarlarını etkinleştirin
- Görev kullanımını izleyin - Görev sınırlarına ulaşmadan önce uyarılar ayarlayın
- Filtreleri akıllıca kullanın - Gereksiz görev tüketimini azaltmak için Zap’lerde erken filtreleyin
- CLI entegrasyonlarınızı sürümleyin - Platform CLI uygulamaları için anlamsal sürümleme kullanın
Güvenlik
- Yalnızca HTTPS - Tüm webhook URL’leri HTTPS kullanmalıdır
- API anahtarı rotasyonu - Anahtarları Zapier panosu aracılığıyla periyodik olarak döndürün
- OAuth 2.0 - Üçüncü taraf hizmet kimlik doğrulaması için OAuth kullanın
- Webhook doğrulama - Gelen webhook imzalarını doğrulayın
- Kapsamlı izinler - Zap başına minimum gerekli erişimi verin