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
| Propriedade | Valor |
|---|---|
| Plataforma | BigCommerce |
| Categoria | E-commerce |
| Complexidade de configuração | Média |
| Integração oficial | Não |
| Dados sincronizados | Clientes, Pedidos, Produtos, Carrinhos |
| Skills disponíveis | 10 |
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:
- Uma loja BigCommerce com acesso de Proprietário ou Administrador
- Uma conta de API do BigCommerce com os escopos OAuth apropriados
- Seu Store Hash (encontrado na URL da loja ou nas credenciais da API)
- Uma conta Brevo com acesso à API
- 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
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
| Escopo | Acesso | Finalidade |
|---|---|---|
store_v2_customers | Read | Sincronização de dados de clientes |
store_v2_orders | Read | Rastreamento de eventos de pedidos |
store_v2_products | Read | Sincronização de catálogo de produtos |
store_cart | Read | Rastreamento de carrinho abandonado |
store_v2_information | Read | Configuração da loja |
store_v2_content | Read | Conteú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: 42Mapeamento 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_GROUPConfiguraçã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étodo | Endpoint | Descrição |
|---|---|---|
GET | /v3/customers | Listar clientes |
POST | /v3/customers | Criar clientes |
PUT | /v3/customers | Atualizar clientes |
GET | /v2/orders | Listar pedidos |
GET | /v2/orders/{id} | Obter detalhes do pedido |
GET | /v3/catalog/products | Listar produtos |
GET | /v3/catalog/products/{id} | Obter detalhes do produto |
GET | /v3/catalog/products/{id}/variants | Listar variantes de produto |
GET | /v3/carts | Listar carrinhos |
GET | /v3/abandoned-carts | Listar carrinhos abandonados |
POST | /v3/hooks | Criar um webhook |
GET | /v3/catalog/categories | Listar 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 storeawait 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 BigCommerceconst 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 handlerapp.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 syncawait tajo.connectors.sync('bigcommerce', { type: 'full', resources: ['products'], includeVariants: true, includeImages: true});
// Check sync statusconst 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
| Plano | Limite | Detalhes |
|---|---|---|
| Standard | 150 requisições/30 s | Por loja |
| Plus | 300 requisições/30 s | Por loja |
| Pro | 450 requisições/30 s | Por loja |
| Enterprise | Ilimitado | Limites personalizados |
Limites adicionais:
| Recurso | Limite |
|---|---|
| Webhooks | 100 por loja |
| Por página | 250 registros no máximo |
| Requisições simultâneas | Depende 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
| Problema | Causa | Solução |
|---|---|---|
401 Unauthorized | Access token inválido | Regenere as credenciais de API no admin do BigCommerce |
403 Forbidden | Escopo OAuth ausente | Verifique os escopos da conta de API e adicione as permissões necessárias |
| Webhooks não disparam | Limite de webhooks atingido | Verifique a quantidade de webhooks (máx. 100) e remova os não utilizados |
| Eventos de carrinho ausentes | Scripts da loja não carregados | Verifique o script de rastreamento na loja BigCommerce |
| Produtos fora de sincronia | Cache do catálogo | Dispare uma sincronização manual ou aguarde as atualizações via webhook |
429 Too Many Requests | Limite de taxa excedido | Implemente enfileiramento de requisições monitorando os cabeçalhos de limite |
| Grupos de clientes ausentes | V2 vs V3 da API | Grupos de clientes usam a API V2; verifique a versão do endpoint |
Melhores práticas
- Use a API V3 sempre que possível - A V3 oferece melhor paginação, filtragem e respostas em JSON
- Monitore os cabeçalhos de limite de taxa - Acompanhe
X-Rate-Limit-Requests-Leftpara evitar atingir limites - Registre webhooks para sincronização em tempo real - Use webhooks em vez de polling para atualizações de clientes e pedidos
- Agrupe atualizações de clientes em lotes - Use os endpoints em massa da V3 para grandes sincronizações de dados
- Inclua variantes na sincronização de produtos - Sincronize variantes para um rastreamento de estoque preciso
- Configure webhooks de carrinho abandonado - Essencial para automação de e-mails de recuperação de carrinho
- 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