---
title: "Shopify Connector"
description: "Hướng dẫn tích hợp Shopify đầy đủ để đồng bộ khách hàng, đơn hàng, sản phẩm và sự kiện giỏ hàng với Brevo."
url: https://tajo.io/vi/docs/connectors/ecommerce/shopify/
markdown: https://tajo.io/vi/docs/connectors/ecommerce/shopify.md
lang: vi-VN
robots: noindex
---

Đăng ký quyền truy cập sớm

Nhập tên và địa chỉ email công việc của bạn. Chúng tôi sẽ gửi liên kết để xác nhận yêu cầu truy cập Tajo.

# Shopify Connector

Trạng thái trình kết nối: Đang phát triển Đang xây dựng. Chưa được xác minh.

| Trường nguồn | Trường đích | Giá trị mẫu |
| --- | --- | --- |
| `record.id` | `source_id` | `record_1042` |
| `record.updated_at` | `updated_at` | `2026-10-18T08:00:00Z` |
| `record.value` | `value` | `sample_value` |

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ính | Giá trị |
| --- | --- |
| **Nền tảng** | Shopify |
| **Danh mục** | Thương mại điện tử |
| **Độ phức tạp thiết lập** | Dễ |
| **Tích hợp chính thức** | Không |
| **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ụng** | 12 |

## 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](https://apps.shopify.com/tajo)
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

```bash
# 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:

| Webhook | Mục đích |
| --- | --- |
| `customers/create` | Đồng bộ khách hàng mới |
| `customers/update` | Thay đổi dữ liệu khách hàng |
| `customers/delete` | Xóa khách hàng |
| `orders/create` | Sự kiện đặt đơn hàng |
| `orders/updated` | Thay đổi trạng thái đơn hàng |
| `checkouts/create` | Giỏ hàng được tạo |
| `checkouts/update` | Giỏ hàng được cập nhật |

## Cấu hình

### Thiết lập cơ bản

```yaml
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

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

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

```yaml
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ện | Trigger | Tình huống sử dụng |
| --- | --- | --- |
| `customer_created` | Đăng ký khách hàng mới | Chuỗi chào mừng |
| `customer_updated` | Thay đổi hồ sơ | Đồng bộ dữ liệu |
| `customer_tags_added` | Gán tag | Cập nhật phân khúc |

### Sự kiện đơn hàng

| Sự kiện | Trigger | Tình huống sử dụng |
| --- | --- | --- |
| `order_placed` | Hoàn tất checkout | Xác nhận đơn hàng |
| `order_fulfilled` | Đã giao hàng | Thông báo giao hàng |
| `order_cancelled` | Đơn hàng bị hủy | Email hủy đơn |
| `order_refunded` | Đã hoàn tiền | Xác nhận hoàn tiền |

### Sự kiện giỏ hàng

| Sự kiện | Trigger | Tình huống sử dụng |
| --- | --- | --- |
| `cart_created` | Thêm sản phẩm vào giỏ | Theo dõi duyệt web |
| `cart_updated` | Giỏ hàng được sửa | Theo dõi giá trị giỏ hàng |
| `cart_abandoned` | Không checkout trong 30 phút | Email khôi phục |

## Skill được kích hoạt

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

| Skill | Mô tả |
| --- | --- |
| [Customer Sync](https://tajo.io/vi/docs/skills/data-sync/customer-sync) | Đồng bộ khách hàng thời gian thực |
| Order Events | Theo dõi vòng đời đơn hàng |
| [Abandoned Cart](https://tajo.io/vi/docs/skills/email-marketing/abandoned-cart) | Email khôi phục giỏ hàng |
| Welcome Series | Onboarding khách hàng mới |
| Post-Purchase | Theo dõi sau đơn hàng |
| Win-Back | Tái kích hoạt khách hàng không hoạt động |
| Browse Abandonment | Theo dõi sự quan tâm sản phẩm |
| Replenishment | Nhắc đặt lại |

## Ví dụ code

### Khởi tạo Connector

```javascript
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

```javascript
// 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:

```liquid
<!-- 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.example.com/shopify.js"></script>
```

Caution

Địa chỉ `example.com` ở trên chỉ là giá trị tạm thời cho đến khi endpoint của Tajo sẵn sàng.

### Webhook Handler tùy chỉnh

```javascript
// 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:

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

```bash
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ân | Giải pháp |
| --- | --- | --- |
| Webhook không nhận được | Quyền app | Cài đặt lại app với scope đúng |
| Khách hàng không được đồng bộ | Thiếu email | Shopify yêu cầu email cho khách hàng |
| Thiếu sản phẩm | Trạng thái sản phẩm | Kiểm tra sản phẩm ở trạng thái “active” |
| Giỏ hàng không được theo dõi | Script chưa load | Xác minh script trong theme.liquid |

### Chế độ Debug

Bật ghi log chi tiết:

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

### Kiểm tra kết nối

```bash
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

- [WooCommerce Connector](https://tajo.io/vi/docs/connectors/ecommerce/woocommerce)
- [Customer Sync Skill](https://tajo.io/vi/docs/skills/data-sync/customer-sync)
- [Abandoned Cart Skill](https://tajo.io/vi/docs/skills/email-marketing/abandoned-cart)
- [Brevo Contacts API](https://tajo.io/vi/docs/contact-management)
