申请抢先体验

请填写名字,以及邮箱或手机号。我们会与您联系,提供 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 访问:

{
"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 步:配置数据同步

客户同步设置

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

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

{
"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 步:搭建忠诚度计划

配置积分体系

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

忠诚度等级

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

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

客户组集成

// 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 步:购物车恢复

购物车跟踪

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

恢复触达序列

{
"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 步:营销自动化

客户细分

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

自动化营销活动

// 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 步:数据分析

仪表板指标

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 速率限制

// 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 校验

// 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 集成,用于邮件和短信营销活动
  2. 设置 Webhook,用于实时事件
  3. 创建客户细分,用于精准营销
  4. 构建邮件模板,用于自动化营销活动

支持

申请抢先体验

请填写名字,以及邮箱或手机号。我们会与您联系,提供 Tajo 访问详情。

自动识别
AI 助手

你好!关于文档有任何问题都可以问我。