Shopify Bağlayıcısı
Shopify Bağlayıcısı
Eksiksiz müşteri verisi senkronizasyonu, terk edilmiş sepet kurtarma ve otomatik pazarlama kampanyaları için Shopify mağazanızı Brevo’ya bağlayın.
Genel Bakış
| Özellik | Değer |
|---|---|
| Platform | Shopify |
| Kategori | E-ticaret |
| Kurulum Karmaşıklığı | Kolay |
| Resmi Entegrasyon | Evet |
| Senkronize Edilen Veri | Müşteriler, Siparişler, Ürünler, Sepetler, Olaylar |
| Mevcut Yetenekler | 12 |
Özellikler
- Gerçek zamanlı müşteri senkronizasyonu - Müşteri verileri anında Brevo kişilerine senkronize edilir
- Sipariş takibi - Satın alma sonrası akışlar için sipariş olayları
- Ürün kataloğu senkronizasyonu - Öneriler için ürünler kullanılabilir
- Sepet terki - Terk edilmiş sepetleri takip edin ve kurtarın
- Gezinme davranışı - Sayfa görüntüleme ve ürün ilgi takibi
- Çoklu mağaza desteği - Birden fazla Shopify mağazasını bağlayın
Ön Koşullar
Başlamadan önce sahip olmanız gerekenler:
- Yönetici erişimine sahip bir Shopify mağazası
- API erişimi olan bir Brevo hesabı
- Bir Tajo hesabı
Yükleme
Seçenek 1: Shopify App Store (Önerilen)
- Shopify App Store’daki Tajo uygulamasını ziyaret edin
- “Add app” düğmesine tıklayın
- İstenen izinleri verin
- Brevo hesabınızı bağlayın
Seçenek 2: Manuel Yükleme
Adım 1: Bir Shopify Uygulaması Oluştur
- Shopify yöneticinize → Settings → Apps and sales channels bölümüne gidin
- “Develop apps” → “Create an app” tıklayın
- Adını “Tajo Integration” koyun
Adım 2: API Kapsamlarını Yapılandır
Şu kapsamları etkinleştirin:
read_customerswrite_customersread_ordersread_productsread_checkoutswrite_script_tagsAdım 3: Uygulamayı Yükle
# Using Tajo CLItajo connectors install shopify \ --shop-url your-store.myshopify.com \ --api-key $SHOPIFY_API_KEY \ --api-secret $SHOPIFY_API_SECRETAdım 4: Webhook’ları Yapılandır
Tajo bu webhook’ları otomatik olarak kaydeder:
| Webhook | Amaç |
|---|---|
customers/create | Yeni müşteri senkronizasyonu |
customers/update | Müşteri verisi değişiklikleri |
customers/delete | Müşteri kaldırma |
orders/create | Sipariş verildi olayları |
orders/updated | Sipariş durumu değişiklikleri |
checkouts/create | Sepet oluşturuldu |
checkouts/update | Sepet güncellendi |
Yapılandırma
Temel Kurulum
connectors: shopify: enabled: true shop_url: "your-store.myshopify.com" api_version: "2024-01"
# Data sync options sync: customers: true orders: true products: true carts: true inventory: false # Optional
# List assignment lists: all_customers: 5 buyers: 6 abandoned_cart: 7Alan Eşleme
Shopify alanlarını Brevo kişi özniteliklerine eşleyin:
Varsayılan Eşlemeler
| Parameter | Type | Description |
|---|---|---|
email required | string | Müşteri e-postası (benzersiz tanımlayıcı) |
first_name optional | string | FIRSTNAME özniteliğine eşlenir |
last_name optional | string | LASTNAME özniteliğine eşlenir |
phone optional | string | WhatsApp/SMS için SMS özniteliğine eşlenir |
accepts_marketing optional | boolean | Abonelik durumunu kontrol eder |
orders_count optional | integer | Toplam sipariş sayısı |
total_spent optional | number | Yaşam boyu müşteri değeri |
tags optional | array | Shopify'dan müşteri etiketleri |
Özel Öznitelik Eşleme
field_mapping: # Standard fields email: email first_name: FIRSTNAME last_name: LASTNAME phone: SMS
# E-commerce metrics orders_count: ORDER_COUNT total_spent: TOTAL_SPENT last_order_date: LAST_ORDER_DATE
# Custom fields customer_type: CUSTOMER_TYPE preferred_language: LANGUAGE loyalty_tier: VIP_TIER
# Computed fields average_order_value: AOV days_since_last_order: RECENCYÜrün Senkronizasyonu
E-posta önerileri için ürünleri senkronize edin:
sync: products: enabled: true include_variants: true include_images: true categories_as_tags: true
# Filter products filter: status: active exclude_tags: ["hidden", "wholesale-only"]Envanter Takibi
Stok seviyesi senkronizasyonunu etkinleştirin:
sync: inventory: enabled: true low_stock_threshold: 10 out_of_stock_events: trueOlaylar
Müşteri Olayları
| Olay | Tetikleyici | Kullanım Alanı |
|---|---|---|
customer_created | Yeni müşteri kaydı | Karşılama serisi |
customer_updated | Profil değişiklikleri | Veri senkronizasyonu |
customer_tags_added | Etiketler atandı | Segment güncellemeleri |
Sipariş Olayları
| Olay | Tetikleyici | Kullanım Alanı |
|---|---|---|
order_placed | Ödeme tamamlandı | Sipariş onayı |
order_fulfilled | Sipariş gönderildi | Kargo bildirimi |
order_cancelled | Sipariş iptal edildi | İptal e-postası |
order_refunded | İade işlendi | İade onayı |
Sepet Olayları
| Olay | Tetikleyici | Kullanım Alanı |
|---|---|---|
cart_created | Sepete ürün eklendi | Gezinme takibi |
cart_updated | Sepet değiştirildi | Sepet değer takibi |
cart_abandoned | 30 dakika içinde ödeme yok | Kurtarma e-postaları |
Etkinleştirilen Yetenekler
Shopify bağlayıcısı şu yetenekleri etkinleştirir:
| Yetenek | Açıklama |
|---|---|
| Müşteri Senkronizasyonu | Gerçek zamanlı müşteri senkronizasyonu |
| Sipariş Olayları | Sipariş yaşam döngüsü takibi |
| Terk Edilmiş Sepet | Sepet kurtarma e-postaları |
| Karşılama Serisi | Yeni müşteri başlangıcı |
| Satın Alma Sonrası | Sipariş takibi |
| Geri Kazanma | Pasif müşterileri yeniden etkileşime alma |
| Gezinme Terki | Ürün ilgi takibi |
| Yenileme | Yeniden sipariş hatırlatıcıları |
Kod Örnekleri
Bağlayıcıyı Başlat
import { TajoClient } from '@tajo/sdk';
const tajo = new TajoClient({ apiKey: process.env.TAJO_API_KEY, brevoApiKey: process.env.BREVO_API_KEY});
// Connect Shopify storeawait tajo.connectors.connect('shopify', { shopUrl: 'your-store.myshopify.com', apiKey: process.env.SHOPIFY_API_KEY, apiSecret: process.env.SHOPIFY_API_SECRET});İlk Senkronizasyonu Çalıştır
// Full historical syncawait tajo.connectors.sync('shopify', { type: 'full', resources: ['customers', 'orders', 'products'], since: '2023-01-01'});
// Check sync statusconst status = await tajo.connectors.status('shopify');console.log(status);// {// connected: true,// lastSync: '2024-01-15T10:30:00Z',// customersCount: 15420,// ordersCount: 8234,// productsCount: 342// }Sepet Olaylarını Takip Et
Tajo betiğini Shopify temanıza ekleyin:
<!-- Add to theme.liquid before </head> -->{% if customer %}<script> window.tajoConfig = { customerId: "{{ customer.id }}", customerEmail: "{{ customer.email }}", customerName: "{{ customer.first_name }}" };</script>{% endif %}<script src="https://cdn.tajo.io/shopify.js"></script>Özel Webhook İşleyici
// Handle Shopify webhooks manuallyapp.post('/webhooks/shopify', async (req, res) => { const hmac = req.get('X-Shopify-Hmac-SHA256');
// Verify webhook signature if (!verifyShopifyWebhook(req.body, hmac)) { return res.status(401).send('Unauthorized'); }
const topic = req.get('X-Shopify-Topic');
// Forward to Tajo await tajo.connectors.handleWebhook('shopify', { topic, payload: req.body });
res.status(200).send('OK');});İzleme
Pano Metrikleri
Tajo panosunda Shopify bağlantınızı izleyin:
- Senkronizasyon Durumu: Gerçek zamanlı bağlantı sağlığı
- Senkronize Edilen Müşteriler: Shopify’dan toplam kişiler
- Takip Edilen Siparişler: İşlenen sipariş olayları
- Sepet Kurtarma: Terk edilmiş sepet performansı
- Hata Oranı: Başarısız senkronizasyon denemeleri
Webhook Günlükleri
Webhook teslimat durumunu görüntüleyin:
tajo connectors logs shopify --type webhook --last 24hSenkronizasyon Geçmişi
Geçmiş senkronizasyon işlemlerini kontrol edin:
tajo connectors history shopify --limit 10Sorun Giderme
Sık Karşılaşılan Sorunlar
API Hız Limitleri
Shopify’ın 2 istek/saniye API hız limitleri vardır. Büyük geçmiş içe aktarmaları için toplu senkronizasyon kullanın.
| Sorun | Neden | Çözüm |
|---|---|---|
| Webhook alınmıyor | Uygulama izinleri | Uygulamayı doğru kapsamlarla yeniden yükleyin |
| Müşteri senkronize değil | E-posta eksik | Shopify müşteriler için e-posta gerektirir |
| Ürünler eksik | Ürün durumu | Ürünün “active” durumda olduğunu kontrol edin |
| Sepet takip edilmiyor | Betik yüklenmedi | theme.liquid içindeki betiği doğrulayın |
Hata Ayıklama Modu
Ayrıntılı günlüklemeyi etkinleştirin:
connectors: shopify: debug: true log_level: verbose log_webhooks: trueBağlantıyı Test Et
tajo connectors test shopify# ✓ API connection successful# ✓ Webhooks registered# ✓ Products accessible# ✓ Customers readable# ✓ Orders readableEn İyi Uygulamalar
- Test mağazasıyla başlayın - Önce bir geliştirme mağazası kullanın
- İlk senkronizasyonu mesai dışı saatlerde çalıştırın - Büyük senkronizasyonlar yavaş olabilir
- Özel öznitelikleri eşleyin - Yalnızca varsayılan eşlemelere güvenmeyin
- Sepet takibini etkinleştirin - Terk edilmiş sepet kurtarma için kritik
- Webhook sağlığını izleyin - Başarısız teslimatlar için uyarılar kurun
- Toplu içe aktarma kullanın - 10.000’den fazla kayıt için geçmiş veriler
Güvenlik
- OAuth 2.0 - Güvenli belirteç tabanlı kimlik doğrulama
- Webhook doğrulama - HMAC imza doğrulaması
- Şifreli depolama - API kimlik bilgileri durağan halde şifrelenir
- Kapsamlandırılmış erişim - Yalnızca minimum gerekli izinler