Connettore BigCommerce

Connettore BigCommerce

Collega il tuo negozio BigCommerce a Brevo tramite Tajo per una sincronizzazione completa dei dati e-commerce. Sincronizza clienti, ordini, prodotti ed eventi carrello per alimentare campagne di marketing mirate, recupero carrelli abbandonati e automazione post-acquisto.

Panoramica

ProprietàValore
PiattaformaBigCommerce
CategoriaE-commerce
Complessità di setupMedia
Integrazione ufficialeNo
Dati sincronizzatiClienti, Ordini, Prodotti, Carrelli
Skill disponibili10

Funzionalità

  • Sincronizzazione clienti - Sincronizzazione in tempo reale dei dati cliente con i contatti Brevo
  • Tracciamento ordini - Eventi del ciclo di vita dell’ordine per flussi di marketing post-acquisto
  • Sincronizzazione catalogo prodotti - Sincronizza i prodotti per raccomandazioni email e contenuti dinamici
  • Abbandono carrello - Traccia e recupera i carrelli abbandonati con email automatiche
  • Supporto multi-storefront - Collega più storefront BigCommerce
  • Aggiornamenti via webhook - Aggiornamenti dati in tempo reale tramite i webhook di BigCommerce
  • Campi personalizzati - Mappa i campi personalizzati di BigCommerce agli attributi di contatto Brevo
  • Tracciamento inventario - Sincronizza i livelli di stock per le notifiche di ritorno disponibilità

Prerequisiti

Prima di iniziare, assicurati di avere:

  1. Un negozio BigCommerce con accesso Store Owner o Admin
  2. Un account API BigCommerce con gli scope OAuth appropriati
  3. Il tuo Store Hash (reperibile nell’URL del negozio o nelle credenziali API)
  4. Un account Brevo con accesso API
  5. Un account Tajo con credenziali API

Autenticazione

Credenziali account API

BigCommerce utilizza account API basati su OAuth. Creane uno nel pannello di controllo BigCommerce in Impostazioni > API > API Accounts.

Riceverai:

  • Client ID - Identificatore della tua app
  • Client Secret - Il secret della tua app (conservalo in modo sicuro)
  • Access Token - Utilizzato per l’autenticazione API
  • Store Hash - Il tuo identificativo univoco del negozio
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"

Scope OAuth richiesti

ScopeAccessoScopo
store_v2_customersReadSincronizzazione dati cliente
store_v2_ordersReadTracciamento eventi ordine
store_v2_productsReadSincronizzazione catalogo prodotti
store_cartReadTracciamento abbandono carrello
store_v2_informationReadConfigurazione del negozio
store_v2_contentReadContenuto storefront

Configurazione

Setup di base

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

Mappatura campi cliente

Mappa i campi cliente BigCommerce agli attributi 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

Configurazione 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"

Endpoint API

MetodoEndpointDescrizione
GET/v3/customersElenca i clienti
POST/v3/customersCrea clienti
PUT/v3/customersAggiorna clienti
GET/v2/ordersElenca gli ordini
GET/v2/orders/{id}Ottieni dettagli ordine
GET/v3/catalog/productsElenca i prodotti
GET/v3/catalog/products/{id}Ottieni dettagli prodotto
GET/v3/catalog/products/{id}/variantsElenca le varianti di prodotto
GET/v3/cartsElenca i carrelli
GET/v3/abandoned-cartsElenca i carrelli abbandonati
POST/v3/hooksCrea un webhook
GET/v3/catalog/categoriesElenca le categorie

Esempi di codice

Inizializza il connettore 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
});

Recupera e sincronizza i clienti

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

Gestisci eventi 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');
});

Sincronizza il catalogo prodotti

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

Limiti di velocità

PianoLimiteDettagli
Standard150 richieste/30 secPer negozio
Plus300 richieste/30 secPer negozio
Pro450 richieste/30 secPer negozio
EnterpriseIllimitatoLimiti personalizzati

Limiti aggiuntivi:

RisorsaLimite
Webhook100 per negozio
Per paginaMax 250 record
Richieste concorrentiDipende dal piano

Header dei limiti di velocità

Monitora gli header X-Rate-Limit-Requests-Left e X-Rate-Limit-Time-Reset-Ms per gestire l’utilizzo dell’API entro i limiti.

Risoluzione dei problemi

ProblemaCausaSoluzione
401 UnauthorizedAccess token non validoRigenera le credenziali API nell’admin BigCommerce
403 ForbiddenScope OAuth mancanteVerifica gli scope dell’account API e aggiungi i permessi richiesti
Webhook non attivatiLimite webhook raggiuntoControlla il numero di webhook (max 100) e rimuovi quelli inutilizzati
Eventi carrello mancantiScript storefront non caricatiVerifica lo script di tracciamento sullo storefront BigCommerce
Prodotti non sincronizzatiCache del catalogoAttiva una sincronizzazione manuale o attendi gli aggiornamenti via webhook
429 Too Many RequestsLimite di velocità superatoImplementa l’accodamento delle richieste monitorando gli header dei limiti
Gruppi cliente mancantiV2 vs V3 APII gruppi cliente usano l’API V2; controlla la versione dell’endpoint

Best practice

  1. Usa l’API V3 dove possibile - L’API V3 offre migliore paginazione, filtri e risposte JSON
  2. Monitora gli header dei limiti di velocità - Traccia X-Rate-Limit-Requests-Left per evitare di raggiungere i limiti
  3. Registra webhook per la sync in tempo reale - Usa i webhook invece del polling per gli aggiornamenti di clienti e ordini
  4. Batch sugli aggiornamenti cliente - Usa gli endpoint bulk V3 per grandi sincronizzazioni di dati
  5. Includi le varianti nella sync dei prodotti - Sincronizza le varianti per un tracciamento inventario accurato
  6. Imposta webhook di abbandono carrello - Fondamentale per l’automazione email di recupero carrello
  7. Usa la paginazione - Pagina sempre gli endpoint di elenco; max 250 record per pagina

Sicurezza

  • Autenticazione OAuth token - Accesso API sicuro basato su token
  • Permessi con scope - Account API limitati a specifici scope di dati
  • Solo HTTPS - Tutte le comunicazioni API cifrate tramite TLS
  • Verifica webhook - Verifica la fonte del webhook tramite store hash
  • Conformità PCI DSS - BigCommerce gestisce i dati di pagamento in modo sicuro
  • SOC 2 Type II - La piattaforma BigCommerce è certificata SOC 2

Risorse correlate

Subscribe to updates

developer-docs

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

Assistente AI

Ciao! Chiedimi qualsiasi cosa sulla documentazione.

Inizia gratis con Brevo