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 |
|---|---|
| Piattaforma | BigCommerce |
| Categoria | E-commerce |
| Complessità di setup | Media |
| Integrazione ufficiale | No |
| Dati sincronizzati | Clienti, Ordini, Prodotti, Carrelli |
| Skill disponibili | 10 |
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:
- Un negozio BigCommerce con accesso Store Owner o Admin
- Un account API BigCommerce con gli scope OAuth appropriati
- Il tuo Store Hash (reperibile nell’URL del negozio o nelle credenziali API)
- Un account Brevo con accesso API
- 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
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
| Scope | Accesso | Scopo |
|---|---|---|
store_v2_customers | Read | Sincronizzazione dati cliente |
store_v2_orders | Read | Tracciamento eventi ordine |
store_v2_products | Read | Sincronizzazione catalogo prodotti |
store_cart | Read | Tracciamento abbandono carrello |
store_v2_information | Read | Configurazione del negozio |
store_v2_content | Read | Contenuto 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: 42Mappatura 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_GROUPConfigurazione 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
| Metodo | Endpoint | Descrizione |
|---|---|---|
GET | /v3/customers | Elenca i clienti |
POST | /v3/customers | Crea clienti |
PUT | /v3/customers | Aggiorna clienti |
GET | /v2/orders | Elenca gli ordini |
GET | /v2/orders/{id} | Ottieni dettagli ordine |
GET | /v3/catalog/products | Elenca i prodotti |
GET | /v3/catalog/products/{id} | Ottieni dettagli prodotto |
GET | /v3/catalog/products/{id}/variants | Elenca le varianti di prodotto |
GET | /v3/carts | Elenca i carrelli |
GET | /v3/abandoned-carts | Elenca i carrelli abbandonati |
POST | /v3/hooks | Crea un webhook |
GET | /v3/catalog/categories | Elenca 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 storeawait 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 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 }Gestisci eventi 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');});Sincronizza il catalogo prodotti
// 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// }Limiti di velocità
| Piano | Limite | Dettagli |
|---|---|---|
| Standard | 150 richieste/30 sec | Per negozio |
| Plus | 300 richieste/30 sec | Per negozio |
| Pro | 450 richieste/30 sec | Per negozio |
| Enterprise | Illimitato | Limiti personalizzati |
Limiti aggiuntivi:
| Risorsa | Limite |
|---|---|
| Webhook | 100 per negozio |
| Per pagina | Max 250 record |
| Richieste concorrenti | Dipende 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
| Problema | Causa | Soluzione |
|---|---|---|
401 Unauthorized | Access token non valido | Rigenera le credenziali API nell’admin BigCommerce |
403 Forbidden | Scope OAuth mancante | Verifica gli scope dell’account API e aggiungi i permessi richiesti |
| Webhook non attivati | Limite webhook raggiunto | Controlla il numero di webhook (max 100) e rimuovi quelli inutilizzati |
| Eventi carrello mancanti | Script storefront non caricati | Verifica lo script di tracciamento sullo storefront BigCommerce |
| Prodotti non sincronizzati | Cache del catalogo | Attiva una sincronizzazione manuale o attendi gli aggiornamenti via webhook |
429 Too Many Requests | Limite di velocità superato | Implementa l’accodamento delle richieste monitorando gli header dei limiti |
| Gruppi cliente mancanti | V2 vs V3 API | I gruppi cliente usano l’API V2; controlla la versione dell’endpoint |
Best practice
- Usa l’API V3 dove possibile - L’API V3 offre migliore paginazione, filtri e risposte JSON
- Monitora gli header dei limiti di velocità - Traccia
X-Rate-Limit-Requests-Leftper evitare di raggiungere i limiti - Registra webhook per la sync in tempo reale - Usa i webhook invece del polling per gli aggiornamenti di clienti e ordini
- Batch sugli aggiornamenti cliente - Usa gli endpoint bulk V3 per grandi sincronizzazioni di dati
- Includi le varianti nella sync dei prodotti - Sincronizza le varianti per un tracciamento inventario accurato
- Imposta webhook di abbandono carrello - Fondamentale per l’automazione email di recupero carrello
- 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