Conector BigCommerce

Conector BigCommerce

Conecte sua loja BigCommerce ao Brevo através do Tajo para sincronização completa de dados de e-commerce. Sincronize clientes, pedidos, produtos e eventos de carrinho para impulsionar campanhas de marketing segmentadas, recuperação de carrinho abandonado e automação pós-compra.

Visão geral

PropriedadeValor
PlataformaBigCommerce
CategoriaE-commerce
Complexidade de configuraçãoMédia
Integração oficialNão
Dados sincronizadosClientes, Pedidos, Produtos, Carrinhos
Skills disponíveis10

Recursos

  • Sincronização de clientes - Sincronização em tempo real de dados de clientes para contatos do Brevo
  • Rastreamento de pedidos - Eventos do ciclo de vida dos pedidos para fluxos de marketing pós-compra
  • Sincronização de catálogo de produtos - Sincronize produtos para recomendações por e-mail e conteúdo dinâmico
  • Carrinho abandonado - Rastreie e recupere carrinhos abandonados com e-mails automatizados
  • Suporte a múltiplas lojas - Conecte várias lojas BigCommerce
  • Atualizações por webhook - Atualizações de dados em tempo real via webhooks do BigCommerce
  • Campos personalizados - Mapeie campos personalizados do BigCommerce para atributos de contato do Brevo
  • Rastreamento de estoque - Sincronize níveis de estoque para notificações de reposição

Pré-requisitos

Antes de começar, certifique-se de ter:

  1. Uma loja BigCommerce com acesso de Proprietário ou Administrador
  2. Uma conta de API do BigCommerce com os escopos OAuth apropriados
  3. Seu Store Hash (encontrado na URL da loja ou nas credenciais da API)
  4. Uma conta Brevo com acesso à API
  5. Uma conta Tajo com credenciais de API

Autenticação

Credenciais de conta de API

O BigCommerce usa contas de API baseadas em OAuth. Crie uma no painel de controle do BigCommerce em Settings > API > API Accounts.

Você receberá:

  • Client ID - O identificador da sua aplicação
  • Client Secret - A chave secreta da sua aplicação (armazene com segurança)
  • Access Token - Usado para autenticação na API
  • Store Hash - Seu identificador único de loja
Terminal window
curl https://api.bigcommerce.com/stores/{store_hash}/v3/catalog/products \
-H "X-Auth-Token: YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-H "Accept: application/json"

Escopos OAuth necessários

EscopoAcessoFinalidade
store_v2_customersReadSincronização de dados de clientes
store_v2_ordersReadRastreamento de eventos de pedidos
store_v2_productsReadSincronização de catálogo de produtos
store_cartReadRastreamento de carrinho abandonado
store_v2_informationReadConfiguração da loja
store_v2_contentReadConteúdo da loja

Configuração

Configuração básica

connectors:
bigcommerce:
enabled: true
store_hash: "your-store-hash"
access_token: "your-access-token"
client_id: "your-client-id"
# Data sync options
sync:
customers: true
orders: true
products: true
carts: true
inventory: false
# Brevo list assignment
lists:
all_customers: 40
buyers: 41
abandoned_cart: 42

Mapeamento de campos de clientes

Mapeie campos de clientes do BigCommerce para atributos do Brevo:

customer_mapping:
email: email
first_name: FIRSTNAME
last_name: LASTNAME
phone: SMS
company: COMPANY
# Address fields
addresses[0].city: CITY
addresses[0].state: STATE
addresses[0].country: COUNTRY
addresses[0].zip: ZIP
# E-commerce metrics
orders_count: ORDER_COUNT
total_spent: TOTAL_SPENT
date_created: SIGNUP_DATE
# Customer group
customer_group_id: CUSTOMER_GROUP

Configuração de webhook

webhooks:
- scope: "store/customer/created"
destination: "customer_created"
- scope: "store/customer/updated"
destination: "customer_updated"
- scope: "store/order/created"
destination: "order_placed"
- scope: "store/order/updated"
destination: "order_updated"
- scope: "store/order/statusUpdated"
destination: "order_status_changed"
- scope: "store/cart/created"
destination: "cart_created"
- scope: "store/cart/updated"
destination: "cart_updated"
- scope: "store/cart/abandoned"
destination: "cart_abandoned"
- scope: "store/inventory/updated"
destination: "inventory_changed"

Endpoints da API

MétodoEndpointDescrição
GET/v3/customersListar clientes
POST/v3/customersCriar clientes
PUT/v3/customersAtualizar clientes
GET/v2/ordersListar pedidos
GET/v2/orders/{id}Obter detalhes do pedido
GET/v3/catalog/productsListar produtos
GET/v3/catalog/products/{id}Obter detalhes do produto
GET/v3/catalog/products/{id}/variantsListar variantes de produto
GET/v3/cartsListar carrinhos
GET/v3/abandoned-cartsListar carrinhos abandonados
POST/v3/hooksCriar um webhook
GET/v3/catalog/categoriesListar categorias

Exemplos de código

Inicializar o conector BigCommerce

import { TajoClient } from '@tajo/sdk';
const tajo = new TajoClient({
apiKey: process.env.TAJO_API_KEY,
brevoApiKey: process.env.BREVO_API_KEY
});
// Connect BigCommerce store
await tajo.connectors.connect('bigcommerce', {
storeHash: process.env.BC_STORE_HASH,
accessToken: process.env.BC_ACCESS_TOKEN,
clientId: process.env.BC_CLIENT_ID
});

Buscar e sincronizar clientes

// Fetch customers from BigCommerce
const response = await fetch(
`https://api.bigcommerce.com/stores/${STORE_HASH}/v3/customers?limit=250`,
{
headers: {
'X-Auth-Token': ACCESS_TOKEN,
'Content-Type': 'application/json'
}
}
);
const { data, meta } = await response.json();
// data: [{ id, email, first_name, last_name, phone, ... }]
// meta.pagination: { total, count, per_page, current_page, total_pages }

Tratar eventos de webhook

// BigCommerce webhook handler
app.post('/webhooks/bigcommerce', async (req, res) => {
const { scope, store_id, data } = req.body;
// Verify the webhook is from your store
if (store_id !== process.env.BC_STORE_HASH) {
return res.status(401).send('Unauthorized');
}
// Forward to Tajo
await tajo.connectors.handleWebhook('bigcommerce', {
topic: scope,
payload: data
});
res.status(200).send('OK');
});

Sincronizar catálogo de produtos

// Full product catalog sync
await tajo.connectors.sync('bigcommerce', {
type: 'full',
resources: ['products'],
includeVariants: true,
includeImages: true
});
// Check sync status
const status = await tajo.connectors.status('bigcommerce');
console.log(status);
// {
// connected: true,
// lastSync: '2024-01-15T10:30:00Z',
// customersCount: 8200,
// ordersCount: 4500,
// productsCount: 620
// }

Limites de taxa

PlanoLimiteDetalhes
Standard150 requisições/30 sPor loja
Plus300 requisições/30 sPor loja
Pro450 requisições/30 sPor loja
EnterpriseIlimitadoLimites personalizados

Limites adicionais:

RecursoLimite
Webhooks100 por loja
Por página250 registros no máximo
Requisições simultâneasDepende do plano

Cabeçalhos de limite de taxa

Monitore os cabeçalhos X-Rate-Limit-Requests-Left e X-Rate-Limit-Time-Reset-Ms para gerenciar o uso da API dentro dos limites.

Solução de problemas

ProblemaCausaSolução
401 UnauthorizedAccess token inválidoRegenere as credenciais de API no admin do BigCommerce
403 ForbiddenEscopo OAuth ausenteVerifique os escopos da conta de API e adicione as permissões necessárias
Webhooks não disparamLimite de webhooks atingidoVerifique a quantidade de webhooks (máx. 100) e remova os não utilizados
Eventos de carrinho ausentesScripts da loja não carregadosVerifique o script de rastreamento na loja BigCommerce
Produtos fora de sincroniaCache do catálogoDispare uma sincronização manual ou aguarde as atualizações via webhook
429 Too Many RequestsLimite de taxa excedidoImplemente enfileiramento de requisições monitorando os cabeçalhos de limite
Grupos de clientes ausentesV2 vs V3 da APIGrupos de clientes usam a API V2; verifique a versão do endpoint

Melhores práticas

  1. Use a API V3 sempre que possível - A V3 oferece melhor paginação, filtragem e respostas em JSON
  2. Monitore os cabeçalhos de limite de taxa - Acompanhe X-Rate-Limit-Requests-Left para evitar atingir limites
  3. Registre webhooks para sincronização em tempo real - Use webhooks em vez de polling para atualizações de clientes e pedidos
  4. Agrupe atualizações de clientes em lotes - Use os endpoints em massa da V3 para grandes sincronizações de dados
  5. Inclua variantes na sincronização de produtos - Sincronize variantes para um rastreamento de estoque preciso
  6. Configure webhooks de carrinho abandonado - Essencial para automação de e-mails de recuperação de carrinho
  7. Use paginação - Sempre pagine endpoints de listagem; máximo de 250 registros por página

Segurança

  • Autenticação por token OAuth - Acesso seguro à API baseado em tokens
  • Permissões com escopo - Contas de API restritas a escopos de dados específicos
  • Somente HTTPS - Toda comunicação com a API é criptografada via TLS
  • Verificação de webhook - Valide a origem do webhook usando o store hash
  • Conformidade PCI DSS - O BigCommerce trata dados de pagamento com segurança
  • SOC 2 Type II - A plataforma BigCommerce é certificada SOC 2

Recursos relacionados

Subscribe to updates

developer-docs

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

Assistente AI

Olá! Pergunte-me qualquer coisa sobre a documentação.

Comece grátis com Brevo