---
title: "BigCommerce 集成指南"
description: "将 Tajo 与你的 BigCommerce 商店集成的完整指南，涵盖客户数据同步、忠诚度计划和营销自动化"
url: https://tajo.io/zh-cn/docs/ecommerce-platforms/bigcommerce/
markdown: https://tajo.io/zh-cn/docs/ecommerce-platforms/bigcommerce.md
lang: zh-CN
robots: noindex
---

申请抢先体验

请输入您的名字和公司电子邮箱地址。我们会发送确认 Tajo 访问申请的链接。

# BigCommerce 集成指南

本指南带你完成 Tajo 与 BigCommerce 商店的集成，解锁客户互动、忠诚度计划和营销自动化能力。

## 概览

Tajo 与 BigCommerce 的集成让你可以：

- **同步客户数据**，自动从 BigCommerce 商店拉取
- **跟踪订单和商品**，用于个性化营销
- **运营忠诚度计划**，包含积分、等级和奖励
- **自动化营销活动**，通过 Brevo 发送邮件、短信和 WhatsApp 消息
- **细分客户**，按购买行为和互动情况划分
- **支持多店面**运营

## 前置条件

开始集成前，请确认你已具备：

- **BigCommerce 商店**，任意套餐均可（Standard、Plus、Pro 或 Enterprise）
- **Tajo 账号**，且订阅处于有效状态
- **Brevo 账号**（可选，用于营销自动化）
- **商店 API 凭据**（具备相应权限范围的 API 账号）

## 第 1 步：安装 Tajo 应用

### 从 BigCommerce 应用市场安装

1. 打开 BigCommerce 控制面板
2. 进入 **Apps → Marketplace**
3. 搜索 “Tajo”
4. 点击 **Get This App**
5. 确认权限后点击 **Install**
6. 按照安装向导连接你的 Tajo 账号

### API 配置

安装完成后，配置 API 访问：

```json
{
  "api_credentials": {
    "client_id": "your_client_id",
    "client_secret": "your_client_secret",
    "access_token": "your_access_token",
    "store_hash": "your_store_hash"
  },
  "scopes": [
    "store_v2_customers",
    "store_v2_orders",
    "store_v2_products",
    "store_cart",
    "store_checkout"
  ]
}
```

## 第 2 步：配置数据同步

### 客户同步设置

配置需要同步哪些客户数据：

```json
{
  "sync_settings": {
    "customers": {
      "enabled": true,
      "sync_frequency": "real-time",
      "fields": [
        "email",
        "first_name",
        "last_name",
        "phone",
        "company",
        "customer_group_id",
        "store_credit",
        "addresses",
        "date_created"
      ]
    },
    "orders": {
      "enabled": true,
      "sync_frequency": "real-time",
      "include_products": true,
      "include_shipping": true,
      "include_coupons": true
    },
    "products": {
      "enabled": true,
      "sync_frequency": "hourly",
      "include_variants": true,
      "include_images": true,
      "include_custom_fields": true
    }
  }
}
```

### Webhook 配置

Tajo 会注册以下 BigCommerce Webhook：

| Webhook | 用途 |
| --- | --- |
| `store/customer/created` | 将新客户同步到 Tajo 和 Brevo |
| `store/customer/updated` | 保持客户档案为最新状态 |
| `store/order/created` | 记录购买行为，发放忠诚度积分 |
| `store/order/statusUpdated` | 触发基于订单状态的营销活动 |
| `store/cart/created` | 跟踪购物车，用于弃单识别 |
| `store/cart/updated` | 更新购物车恢复触达序列 |
| `store/product/updated` | 保持商品目录同步 |

### 多店面支持

面向拥有多个店面的 BigCommerce Enterprise：

```json
{
  "multi_storefront": {
    "enabled": true,
    "storefronts": [
      {
        "channel_id": 1,
        "name": "Main Store",
        "loyalty_program": "default"
      },
      {
        "channel_id": 2,
        "name": "Wholesale",
        "loyalty_program": "b2b_program"
      },
      {
        "channel_id": 3,
        "name": "International",
        "loyalty_program": "global_program"
      }
    ],
    "sync_across_channels": true
  }
}
```

## 第 3 步：搭建忠诚度计划

### 配置积分体系

```javascript
const pointsConfig = {
  // Points per dollar spent
  purchasePoints: {
    enabled: true,
    rate: 1, // 1 point per $1
    roundingMode: 'floor'
  },

  // Bonus actions
  bonusPoints: {
    accountCreation: 100,
    firstPurchase: 200,
    reviewSubmitted: 50,
    referralMade: 500,
    birthdayBonus: 100,
    newsletterSignup: 25
  },

  // Customer group multipliers
  customerGroupMultipliers: {
    'Retail': 1.0,
    'VIP': 1.5,
    'Wholesale': 0.5,
    'Platinum': 2.0
  }
};
```

### 忠诚度等级

```javascript
const loyaltyTiers = [
  {
    name: 'Bronze',
    minPoints: 0,
    benefits: [
      '1 point per $1 spent',
      'Birthday bonus points',
      'Member-only promotions'
    ]
  },
  {
    name: 'Silver',
    minPoints: 1000,
    benefits: [
      '1.25x points multiplier',
      'Free shipping on orders $50+',
      'Early access to sales'
    ]
  },
  {
    name: 'Gold',
    minPoints: 5000,
    benefits: [
      '1.5x points multiplier',
      'Free shipping on all orders',
      'Exclusive product access',
      'Priority support'
    ]
  },
  {
    name: 'Platinum',
    minPoints: 15000,
    benefits: [
      '2x points multiplier',
      'Free express shipping',
      'VIP experiences',
      'Dedicated account manager'
    ]
  }
];
```

## 第 4 步：B2B 客户管理

### 企业账户

BigCommerce 提供的 B2B 功能可与 Tajo 集成：

```javascript
const b2bConfig = {
  companyAccounts: {
    enabled: true,
    syncCompanyData: true,
    fields: [
      'company_name',
      'tax_id',
      'credit_limit',
      'payment_terms',
      'price_list'
    ]
  },

  // B2B-specific loyalty rules
  b2bLoyalty: {
    orderVolumeBonus: {
      threshold: 10000,
      bonusMultiplier: 1.5
    },
    reorderPoints: {
      enabled: true,
      rate: 0.5 // 0.5 points per $1 on reorders
    }
  }
};
```

### 客户组集成

```javascript
// Map BigCommerce customer groups to Tajo segments
const customerGroupMapping = {
  'Retail': {
    tajoSegment: 'retail_customers',
    loyaltyTier: 'Bronze',
    emailList: 'retail_newsletter'
  },
  'Wholesale': {
    tajoSegment: 'wholesale_customers',
    loyaltyTier: 'Silver',
    emailList: 'wholesale_updates'
  },
  'VIP': {
    tajoSegment: 'vip_customers',
    loyaltyTier: 'Gold',
    emailList: 'vip_exclusive'
  }
};
```

## 第 5 步：购物车恢复

### 购物车跟踪

```javascript
// BigCommerce cart webhook handler
async function handleCartWebhook(event) {
  const cart = await bigcommerce.carts.get(event.data.cartId);

  if (!cart.customer_id && !cart.email) {
    return; // Can't track without identity
  }

  await tajo.carts.track({
    customerId: cart.customer_id,
    email: cart.email,
    cartId: cart.id,
    items: cart.line_items.physical_items.map(item => ({
      productId: item.product_id,
      variantId: item.variant_id,
      title: item.name,
      quantity: item.quantity,
      price: item.sale_price || item.list_price,
      image: item.image_url
    })),
    totalPrice: cart.cart_amount,
    currency: cart.currency.code,
    checkoutUrl: cart.redirect_urls?.checkout_url
  });
}
```

### 恢复触达序列

```json
{
  "abandoned_cart_sequence": {
    "trigger": {
      "event": "cart_abandoned",
      "delay": "1 hour"
    },
    "messages": [
      {
        "delay": "1 hour",
        "channel": "email",
        "template": "cart_reminder_1",
        "subject": "You left something behind!"
      },
      {
        "delay": "24 hours",
        "channel": "email",
        "template": "cart_reminder_2",
        "subject": "Your cart is waiting - 10% off inside"
      },
      {
        "delay": "72 hours",
        "channel": "sms",
        "template": "cart_sms_final"
      }
    ],
    "exit_conditions": [
      "order_completed",
      "cart_emptied",
      "unsubscribed"
    ]
  }
}
```

## 第 6 步：营销自动化

### 客户细分

```javascript
const bigcommerceSegments = [
  // Purchase behavior
  {
    name: 'First-Time Buyers',
    conditions: { orders_count: 1 }
  },
  {
    name: 'Repeat Customers',
    conditions: { orders_count: { $gte: 2 } }
  },
  {
    name: 'High-Value Customers',
    conditions: { total_spent: { $gte: 1000 } }
  },

  // Customer groups
  {
    name: 'Wholesale Accounts',
    conditions: { customer_group: 'Wholesale' }
  },

  // Engagement
  {
    name: 'At-Risk Customers',
    conditions: {
      last_order_date: { $lt: '-90 days' },
      orders_count: { $gte: 2 }
    }
  }
];
```

### 自动化营销活动

```javascript
// Order status change triggers
bigcommerce.webhooks.on('store/order/statusUpdated', async (event) => {
  const order = await bigcommerce.orders.get(event.data.orderId);
  const customer = await tajo.customers.getByEmail(order.billing_address.email);

  switch (event.data.status.new_status) {
    case 'Shipped':
      await brevo.trackEvent(customer.email, 'order_shipped', {
        orderId: order.id,
        trackingNumber: order.tracking_number,
        carrier: order.shipping_carrier
      });
      break;

    case 'Completed':
      // Award loyalty points
      const points = calculatePoints(order, customer);
      await tajo.loyalty.awardPoints(customer.id, points);

      // Trigger review request after 14 days
      await brevo.scheduleEvent(customer.email, 'review_request', {
        orderId: order.id,
        products: order.products
      }, { delay: '14 days' });
      break;
  }
});
```

## 第 7 步：数据分析

### 仪表板指标

```javascript
const dashboardMetrics = {
  customers: {
    total: await tajo.analytics.count('customers'),
    byChannel: await tajo.analytics.groupBy('customers', 'channel_id'),
    newThisMonth: await tajo.analytics.count('customers', {
      created_at: { $gte: 'this_month' }
    })
  },

  revenue: {
    total: await tajo.analytics.sum('orders.total'),
    byChannel: await tajo.analytics.groupBy('orders', 'channel_id', {
      aggregate: 'sum',
      field: 'total'
    }),
    averageOrderValue: await tajo.analytics.avg('orders.total')
  },

  loyalty: {
    activeMembers: await tajo.analytics.count('loyalty_members'),
    pointsIssued: await tajo.analytics.sum('points.awarded'),
    redemptionRate: await tajo.analytics.pointsRedemptionRate()
  }
};
```

## 故障排查

### API 速率限制

```javascript
// Implement rate limiting
async function bigcommerceApiCall(endpoint, options, retries = 3) {
  for (let i = 0; i < retries; i++) {
    try {
      const response = await fetch(endpoint, options);

      if (response.status === 429) {
        const retryAfter = response.headers.get('X-Rate-Limit-Time-Reset-Ms');
        await sleep(parseInt(retryAfter) || Math.pow(2, i) * 1000);
        continue;
      }

      return response;
    } catch (error) {
      if (i === retries - 1) throw error;
    }
  }
}
```

### Webhook 校验

```javascript
// Verify BigCommerce webhook signature
function verifyWebhook(payload, signature, secret) {
  const expected = crypto
    .createHmac('sha256', secret)
    .update(payload)
    .digest('base64');

  return crypto.timingSafeEqual(
    Buffer.from(expected),
    Buffer.from(signature)
  );
}
```

## 后续步骤

1. **[配置 Brevo 集成](https://tajo.io/zh-cn/docs/platform-integration/tajo-brevo-integration)**，用于邮件和短信营销活动
2. **[设置 Webhook](https://tajo.io/zh-cn/docs/webhook-configuration/setup-guide)**，用于实时事件
3. **[创建客户细分](https://tajo.io/zh-cn/docs/contact-management)**，用于精准营销
4. **[构建邮件模板](https://tajo.io/zh-cn/docs/messaging-api)**，用于自动化营销活动

## 支持

- **集成支持**：[support@tajo.io](mailto:support@tajo.io)
- **BigCommerce 文档**：[developer.bigcommerce.com](https://developer.bigcommerce.com/)
- **API 参考**：[docs.tajo.io/api](https://tajo.io/zh-cn/docs/endpoints/rest-api)
- **联系支持团队**：[/zh-cn/contact](https://tajo.io/zh-cn/contact)
