Shopify Connector

Shopify Connector

Kết nối cửa hàng Shopify của bạn với Brevo để đồng bộ hóa đầy đủ dữ liệu khách hàng, khôi phục giỏ hàng bị bỏ rơi và tự động hóa chiến dịch marketing.

Tổng quan

Thuộc tínhGiá trị
Nền tảngShopify
Danh mụcThương mại điện tử
Độ phức tạp thiết lậpDễ
Tích hợp chính thức
Dữ liệu đồng bộKhách hàng, Đơn hàng, Sản phẩm, Giỏ hàng, Sự kiện
Skill khả dụng12

Tính năng

  • Đồng bộ khách hàng thời gian thực - Dữ liệu khách hàng được đồng bộ ngay lập tức tới liên hệ Brevo
  • Theo dõi đơn hàng - Sự kiện đơn hàng cho flow sau mua
  • Đồng bộ danh mục sản phẩm - Sản phẩm có sẵn cho gợi ý
  • Khôi phục giỏ hàng bị bỏ rơi - Theo dõi và khôi phục giỏ hàng bị bỏ rơi
  • Hành vi duyệt web - Theo dõi lượt xem trang và sự quan tâm sản phẩm
  • Hỗ trợ đa cửa hàng - Kết nối nhiều cửa hàng Shopify

Điều kiện tiên quyết

Trước khi bắt đầu, hãy đảm bảo bạn có:

  1. Một cửa hàng Shopify với quyền admin
  2. Một tài khoản Brevo có API access
  3. Một tài khoản Tajo

Cài đặt

Phương án 1: Shopify App Store (Khuyến nghị)

  1. Truy cập ứng dụng Tajo trên Shopify App Store
  2. Nhấp “Add app”
  3. Cấp các quyền được yêu cầu
  4. Kết nối tài khoản Brevo của bạn

Phương án 2: Cài đặt thủ công

Bước 1: Tạo một Shopify App

  1. Vào Shopify admin → Settings → Apps and sales channels
  2. Nhấp “Develop apps” → “Create an app”
  3. Đặt tên “Tajo Integration”

Bước 2: Cấu hình API Scopes

Bật các scope sau:

read_customers
write_customers
read_orders
read_products
read_checkouts
write_script_tags

Bước 3: Cài đặt App

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

Bước 4: Cấu hình Webhook

Tajo tự động đăng ký các webhook sau:

WebhookMục đích
customers/createĐồng bộ khách hàng mới
customers/updateThay đổi dữ liệu khách hàng
customers/deleteXóa khách hàng
orders/createSự kiện đặt đơn hàng
orders/updatedThay đổi trạng thái đơn hàng
checkouts/createGiỏ hàng được tạo
checkouts/updateGiỏ hàng được cập nhật

Cấu hình

Thiết lập cơ bản

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

Ánh xạ trường

Ánh xạ các trường Shopify tới thuộc tính liên hệ Brevo:

Ánh xạ mặc định

Parameter Type Description
email required
string

Email khách hàng (định danh duy nhất)

first_name optional
string

Ánh xạ sang thuộc tính FIRSTNAME

last_name optional
string

Ánh xạ sang thuộc tính LASTNAME

phone optional
string

Ánh xạ sang thuộc tính SMS cho WhatsApp/SMS

accepts_marketing optional
boolean

Điều khiển trạng thái đăng ký

orders_count optional
integer

Tổng số đơn hàng

total_spent optional
number

Giá trị vòng đời khách hàng

tags optional
array

Tag khách hàng từ Shopify

Ánh xạ thuộc tính tùy chỉnh

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

Đồng bộ sản phẩm

Đồng bộ sản phẩm cho gợi ý 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"]

Theo dõi tồn kho

Bật đồng bộ mức tồn kho:

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

Sự kiện

Sự kiện khách hàng

Sự kiệnTriggerTình huống sử dụng
customer_createdĐăng ký khách hàng mớiChuỗi chào mừng
customer_updatedThay đổi hồ sơĐồng bộ dữ liệu
customer_tags_addedGán tagCập nhật phân khúc

Sự kiện đơn hàng

Sự kiệnTriggerTình huống sử dụng
order_placedHoàn tất checkoutXác nhận đơn hàng
order_fulfilledĐã giao hàngThông báo giao hàng
order_cancelledĐơn hàng bị hủyEmail hủy đơn
order_refundedĐã hoàn tiềnXác nhận hoàn tiền

Sự kiện giỏ hàng

Sự kiệnTriggerTình huống sử dụng
cart_createdThêm sản phẩm vào giỏTheo dõi duyệt web
cart_updatedGiỏ hàng được sửaTheo dõi giá trị giỏ hàng
cart_abandonedKhông checkout trong 30 phútEmail khôi phục

Skill được kích hoạt

Shopify Connector kích hoạt các skill sau:

SkillMô tả
Customer SyncĐồng bộ khách hàng thời gian thực
Order EventsTheo dõi vòng đời đơn hàng
Abandoned CartEmail khôi phục giỏ hàng
Welcome SeriesOnboarding khách hàng mới
Post-PurchaseTheo dõi sau đơn hàng
Win-BackTái kích hoạt khách hàng không hoạt động
Browse AbandonmentTheo dõi sự quan tâm sản phẩm
ReplenishmentNhắc đặt lại

Ví dụ code

Khởi tạo Connector

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
});

Chạy đồng bộ ban đầu

// 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
// }

Theo dõi sự kiện giỏ hàng

Thêm script Tajo vào theme Shopify của bạn:

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

Webhook Handler tùy chỉnh

// 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');
});

Giám sát

Metrics Dashboard

Giám sát kết nối Shopify của bạn trong Tajo dashboard:

  • Trạng thái đồng bộ: Tình trạng kết nối thời gian thực
  • Khách hàng đã đồng bộ: Tổng liên hệ từ Shopify
  • Đơn hàng được theo dõi: Sự kiện đơn hàng đã xử lý
  • Khôi phục giỏ hàng: Hiệu quả giỏ hàng bị bỏ rơi
  • Tỷ lệ lỗi: Các lần đồng bộ thất bại

Webhook Logs

Xem trạng thái phân phối webhook:

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

Lịch sử đồng bộ

Kiểm tra các lần đồng bộ trước đây:

Terminal window
tajo connectors history shopify --limit 10

Xử lý sự cố

Vấn đề thường gặp

API Rate Limits

Shopify có giới hạn API 2 request/giây. Hãy sử dụng đồng bộ theo lô cho các import lịch sử lớn.

Vấn đềNguyên nhânGiải pháp
Webhook không nhận đượcQuyền appCài đặt lại app với scope đúng
Khách hàng không được đồng bộThiếu emailShopify yêu cầu email cho khách hàng
Thiếu sản phẩmTrạng thái sản phẩmKiểm tra sản phẩm ở trạng thái “active”
Giỏ hàng không được theo dõiScript chưa loadXác minh script trong theme.liquid

Chế độ Debug

Bật ghi log chi tiết:

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

Kiểm tra kết nối

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

Phương pháp tốt nhất

  1. Bắt đầu với cửa hàng thử nghiệm - Sử dụng development store trước
  2. Chạy đồng bộ ban đầu ngoài giờ cao điểm - Đồng bộ lớn có thể chậm
  3. Ánh xạ thuộc tính tùy chỉnh - Đừng chỉ dựa vào ánh xạ mặc định
  4. Bật theo dõi giỏ hàng - Quan trọng cho khôi phục giỏ hàng bị bỏ rơi
  5. Giám sát tình trạng webhook - Thiết lập cảnh báo cho phân phối thất bại
  6. Sử dụng import theo lô - Cho dữ liệu lịch sử trên 10.000 bản ghi

Bảo mật

  • OAuth 2.0 - Xác thực dựa trên token an toàn
  • Xác minh webhook - Kiểm tra chữ ký HMAC
  • Lưu trữ mã hóa - Thông tin API được mã hóa khi lưu
  • Truy cập có scope - Chỉ các quyền tối thiểu cần thiết

Tài nguyên liên quan

Subscribe to updates

developer-docs

Drop your email or phone number — we'll send you what matters next.

Trợ lý AI

Xin chào! Hãy hỏi tôi về tài liệu.

Bắt đầu miễn phí với Brevo