---
title: "Guia de Integração BigCommerce"
description: "Guia completo para integrar o Tajo com a sua loja BigCommerce para sincronização de dados de clientes, programas de fidelidade e automação de marketing"
url: https://tajo.io/pt/docs/ecommerce-platforms/bigcommerce/
markdown: https://tajo.io/pt/docs/ecommerce-platforms/bigcommerce.md
lang: pt-BR
robots: noindex
---

Solicite acesso antecipado

Indique o seu nome e endereço de e-mail profissional. Enviaremos um link para confirmar o seu pedido de acesso ao Tajo.

# Guia de Integração BigCommerce

Este guia explica como integrar o Tajo com a sua loja BigCommerce para desbloquear capacidades de envolvimento com clientes, programas de fidelidade e automação de marketing.

## Visão Geral

A integração Tajo-BigCommerce permite-lhe:

- **Sincronizar dados de clientes** automaticamente da sua loja BigCommerce
- **Rastrear pedidos e produtos** para marketing personalizado
- **Executar programas de fidelidade** com pontos, níveis e recompensas
- **Automatizar campanhas de marketing** via Brevo (e-mail, SMS, WhatsApp)
- **Segmentar clientes** por comportamento de compra e envolvimento
- **Suportar operações multi-loja**

## Pré-requisitos

Antes de iniciar a integração, certifique-se de que tem:

- **Loja BigCommerce** em qualquer plano (Standard, Plus, Pro ou Enterprise)
- **Conta Tajo** com uma subscrição ativa
- **Conta Brevo** (opcional, para automação de marketing)
- **Credenciais de API da loja** (conta API com âmbitos adequados)

## Passo 1: Instalar a Aplicação Tajo

### A partir do BigCommerce App Marketplace

1. Aceda ao painel de controlo do BigCommerce
2. Navegue até **Apps → Marketplace**
3. Procure por “Tajo”
4. Clique em **Get This App**
5. Reveja as permissões e clique em **Install**
6. Siga o assistente de configuração para ligar a sua conta Tajo

### Configuração da API

Após a instalação, configure o acesso à 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"
  ]
}
```

## Passo 2: Configurar Sincronização de Dados

### Definições de Sincronização de Clientes

Configure quais os dados de clientes a sincronizar:

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

### Configuração de Webhooks

O Tajo regista estes webhooks do BigCommerce:

| Webhook | Propósito |
| --- | --- |
| `store/customer/created` | Sincronizar novos clientes para Tajo e Brevo |
| `store/customer/updated` | Manter perfis de clientes atualizados |
| `store/order/created` | Rastrear compras, atribuir pontos de fidelidade |
| `store/order/statusUpdated` | Acionar campanhas baseadas em estado |
| `store/cart/created` | Rastrear carrinho para recuperação de abandono |
| `store/cart/updated` | Atualizar sequências de abandono de carrinho |
| `store/product/updated` | Manter catálogo de produtos sincronizado |

### Suporte a Multi-Loja

Para BigCommerce Enterprise com múltiplas lojas:

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

## Passo 3: Configurar Programa de Fidelidade

### Configurar Sistema de Pontos

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

### Níveis de Fidelidade

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

## Passo 4: Gestão de Clientes B2B

### Contas de Empresa

O BigCommerce suporta funcionalidades B2B que se integram com o 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
    }
  }
};
```

### Integração de Grupos de Clientes

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

## Passo 5: Recuperação de Carrinho Abandonado

### Rastreamento do Carrinho

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

### Sequência de Recuperação

```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"
    ]
  }
}
```

## Passo 6: Automação de Marketing

### Segmentos de Clientes

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

### Campanhas Automatizadas

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

## Passo 7: Análise

### Métricas do Painel

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

## Resolução de Problemas

### Limites de Taxa da 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;
    }
  }
}
```

### Verificação de 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)
  );
}
```

## Próximos Passos

1. **[Configurar a Integração Brevo](https://tajo.io/pt/docs/platform-integration/tajo-brevo-integration)** para campanhas de e-mail/SMS
2. **[Configurar Webhooks](https://tajo.io/pt/docs/webhook-configuration/setup-guide)** para eventos em tempo real
3. **[Criar Segmentos de Clientes](https://tajo.io/pt/docs/contact-management)** para marketing direcionado
4. **[Criar Modelos de E-mail](https://tajo.io/pt/docs/messaging-api)** para campanhas automatizadas

## Suporte

- **Suporte de Integração**: [support@tajo.io](mailto:support@tajo.io)
- **Documentação BigCommerce**: [developer.bigcommerce.com](https://developer.bigcommerce.com/)
- **Referência API**: [docs.tajo.io/api](https://tajo.io/pt/docs/endpoints/rest-api)
- **Fale com o Suporte**: [/pt/contact](https://tajo.io/pt/contact)
