Ajukan akses awal

Masukkan nama depan serta email atau nomor telepon Anda. Kami akan menghubungi Anda dengan detail akses Tajo.

Konektor Shopify

Hubungkan toko Shopify Anda ke Brevo untuk sinkronisasi data pelanggan yang lengkap, pemulihan keranjang yang ditinggalkan, dan kampanye pemasaran otomatis.

Ikhtisar

PropertiNilai
PlatformShopify
KategoriE-commerce
Kompleksitas penyiapanMudah
Integrasi resmiYa
Data yang tersinkronPelanggan, Pesanan, Produk, Keranjang, Event
Skill yang tersedia12

Fitur

  • Sinkronisasi pelanggan real-time - Data pelanggan tersinkron seketika ke kontak Brevo
  • Pelacakan pesanan - Event pesanan untuk alur pascapembelian
  • Sinkronisasi katalog produk - Produk tersedia untuk rekomendasi
  • Keranjang yang ditinggalkan - Lacak dan pulihkan keranjang yang ditinggalkan
  • Perilaku penelusuran - Pelacakan tampilan halaman dan minat produk
  • Dukungan multi-toko - Hubungkan beberapa toko Shopify sekaligus

Prasyarat

Sebelum memulai, pastikan Anda memiliki:

  1. Toko Shopify dengan akses admin
  2. Akun Brevo dengan akses API
  3. Akun Tajo

Instalasi

Opsi 1: Shopify App Store (disarankan)

  1. Kunjungi aplikasi Tajo di Shopify App Store
  2. Klik “Add app”
  3. Berikan izin yang diminta
  4. Hubungkan akun Brevo Anda

Opsi 2: Instalasi manual

Langkah 1: Buat aplikasi Shopify

  1. Buka admin Shopify Anda → Settings → Apps and sales channels
  2. Klik “Develop apps” → “Create an app”
  3. Beri nama “Tajo Integration”

Langkah 2: Konfigurasikan scope API

Aktifkan scope berikut:

read_customers
write_customers
read_orders
read_products
read_checkouts
write_script_tags

Langkah 3: Instal aplikasi

Terminal window
# Using Tajo CLI
tajo connectors install shopify \
--shop-url your-store.myshopify.com \
--api-key $SHOPIFY_API_KEY \
--api-secret $SHOPIFY_API_SECRET

Langkah 4: Konfigurasikan webhook

Tajo secara otomatis mendaftarkan webhook berikut:

WebhookTujuan
customers/createSinkronisasi pelanggan baru
customers/updatePerubahan data pelanggan
customers/deletePenghapusan pelanggan
orders/createEvent pesanan dibuat
orders/updatedPerubahan status pesanan
checkouts/createKeranjang dibuat
checkouts/updateKeranjang diperbarui

Konfigurasi

Penyiapan dasar

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: 7

Pemetaan field

Petakan field Shopify ke atribut kontak Brevo:

Pemetaan default

Parameter Type Description
email required
string

Email pelanggan (identifier unik)

first_name optional
string

Dipetakan ke atribut FIRSTNAME

last_name optional
string

Dipetakan ke atribut LASTNAME

phone optional
string

Dipetakan ke atribut SMS untuk WhatsApp/SMS

accepts_marketing optional
boolean

Mengontrol status berlangganan

orders_count optional
integer

Jumlah total pesanan

total_spent optional
number

Nilai pelanggan seumur hidup

tags optional
array

Tag pelanggan dari Shopify

Pemetaan atribut kustom

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

Sinkronisasi produk

Sinkronkan produk untuk rekomendasi email:

sync:
products:
enabled: true
include_variants: true
include_images: true
categories_as_tags: true
# Filter products
filter:
status: active
exclude_tags: ["hidden", "wholesale-only"]

Pelacakan inventaris

Aktifkan sinkronisasi level stok:

sync:
inventory:
enabled: true
low_stock_threshold: 10
out_of_stock_events: true

Event

Event pelanggan

EventPemicuKasus penggunaan
customer_createdPendaftaran pelanggan baruWelcome series
customer_updatedPerubahan profilSinkronisasi data
customer_tags_addedTag ditetapkanPembaruan segmen

Event pesanan

EventPemicuKasus penggunaan
order_placedCheckout selesaiKonfirmasi pesanan
order_fulfilledPesanan dikirimNotifikasi pengiriman
order_cancelledPesanan dibatalkanEmail pembatalan
order_refundedRefund diprosesKonfirmasi refund

Event keranjang

EventPemicuKasus penggunaan
cart_createdItem ditambahkan ke keranjangPelacakan penelusuran
cart_updatedKeranjang diubahPelacakan nilai keranjang
cart_abandonedTidak checkout dalam 30 menitEmail pemulihan

Skill yang diaktifkan

Konektor Shopify mengaktifkan skill berikut:

SkillDeskripsi
Customer SyncSinkronisasi pelanggan real-time
Order EventsPelacakan siklus hidup pesanan
Abandoned CartEmail pemulihan keranjang
Welcome SeriesOnboarding pelanggan baru
Post-PurchaseTindak lanjut pesanan
Win-BackAktifkan kembali pelanggan yang tidak aktif
Browse AbandonmentTindak lanjut minat produk
ReplenishmentPengingat pemesanan ulang

Contoh kode

Inisialisasi konektor

import { TajoClient } from '@tajo/sdk';
const tajo = new TajoClient({
apiKey: process.env.TAJO_API_KEY,
brevoApiKey: process.env.BREVO_API_KEY
});
// Connect Shopify store
await tajo.connectors.connect('shopify', {
shopUrl: 'your-store.myshopify.com',
apiKey: process.env.SHOPIFY_API_KEY,
apiSecret: process.env.SHOPIFY_API_SECRET
});

Jalankan sinkronisasi awal

// Full historical sync
await tajo.connectors.sync('shopify', {
type: 'full',
resources: ['customers', 'orders', 'products'],
since: '2023-01-01'
});
// Check sync status
const status = await tajo.connectors.status('shopify');
console.log(status);
// {
// connected: true,
// lastSync: '2024-01-15T10:30:00Z',
// customersCount: 15420,
// ordersCount: 8234,
// productsCount: 342
// }

Lacak event keranjang

Tambahkan script Tajo ke tema Shopify Anda:

<!-- 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>

Handler webhook kustom

// Handle Shopify webhooks manually
app.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');
});

Pemantauan

Metrik dasbor

Pantau koneksi Shopify Anda di dasbor Tajo:

  • Status sinkronisasi: Kesehatan koneksi secara real-time
  • Pelanggan tersinkron: Total kontak yang berasal dari Shopify
  • Pesanan terlacak: Event pesanan yang telah diproses
  • Pemulihan keranjang: Performa keranjang yang ditinggalkan
  • Tingkat error: Upaya sinkronisasi yang gagal

Log webhook

Lihat status pengiriman webhook:

Terminal window
tajo connectors logs shopify --type webhook --last 24h

Riwayat sinkronisasi

Periksa riwayat operasi sinkronisasi:

Terminal window
tajo connectors history shopify --limit 10

Pemecahan masalah

Masalah umum

Batas rate API

Shopify menerapkan batas rate API sebesar 2 permintaan/detik. Gunakan sinkronisasi batch untuk impor data historis berukuran besar.

MasalahPenyebabSolusi
Webhook tidak diterimaIzin aplikasiInstal ulang aplikasi dengan scope yang benar
Pelanggan tidak tersinkronEmail tidak adaShopify mewajibkan email untuk setiap pelanggan
Produk tidak munculStatus produkPastikan produk berstatus “active”
Keranjang tidak terlacakScript tidak termuatVerifikasi script di theme.liquid

Mode debug

Aktifkan logging verbose:

connectors:
shopify:
debug: true
log_level: verbose
log_webhooks: true

Uji koneksi

Terminal window
tajo connectors test shopify
# ✓ API connection successful
# ✓ Webhooks registered
# ✓ Products accessible
# ✓ Customers readable
# ✓ Orders readable

Praktik terbaik

  1. Mulai dengan toko uji - Gunakan development store terlebih dahulu
  2. Jalankan sinkronisasi awal di luar jam sibuk - Sinkronisasi berskala besar bisa berjalan lambat
  3. Petakan atribut kustom - Jangan hanya mengandalkan pemetaan default
  4. Aktifkan pelacakan keranjang - Krusial untuk pemulihan keranjang yang ditinggalkan
  5. Pantau kesehatan webhook - Siapkan alert untuk pengiriman yang gagal
  6. Gunakan impor batch - Untuk data historis di atas 10.000 record

Keamanan

  • OAuth 2.0 - Autentikasi berbasis token yang aman
  • Verifikasi webhook - Validasi tanda tangan HMAC
  • Penyimpanan terenkripsi - Kredensial API dienkripsi saat disimpan
  • Akses ber-scope - Hanya izin minimum yang diperlukan

Sumber daya terkait

Ajukan akses awal

Masukkan nama depan serta email atau nomor telepon Anda. Kami akan menghubungi Anda dengan detail akses Tajo.

deteksi otomatis
Asisten AI

Halo! Tanyakan apa saja tentang dokumentasi.