Connecteur BigCommerce
Connecteur BigCommerce
Connectez votre boutique BigCommerce à Brevo via Tajo pour une synchronisation complète des données e-commerce. Synchronisez clients, commandes, produits et événements de panier pour alimenter des campagnes marketing ciblées, la récupération de paniers abandonnés et l’automatisation post-achat.
Vue d’ensemble
| Propriété | Valeur |
|---|---|
| Plateforme | BigCommerce |
| Catégorie | E-commerce |
| Complexité d’installation | Moyenne |
| Intégration officielle | Non |
| Données synchronisées | Clients, commandes, produits, paniers |
| Skills disponibles | 10 |
Fonctionnalités
- Synchronisation des clients, Synchronisation en temps réel des données client vers les contacts Brevo
- Suivi des commandes, Événements du cycle de vie des commandes pour les workflows marketing post-achat
- Synchronisation du catalogue produits, Synchronisez les produits pour les recommandations e-mail et le contenu dynamique
- Abandon de panier, Suivez et récupérez les paniers abandonnés avec des e-mails automatisés
- Prise en charge multi-vitrines, Connectez plusieurs vitrines BigCommerce
- Mises à jour via webhooks, Mises à jour en temps réel via les webhooks BigCommerce
- Champs personnalisés, Mappez les champs personnalisés BigCommerce vers les attributs de contact Brevo
- Suivi des stocks, Synchronisez les niveaux de stock pour les notifications de retour en stock
Prérequis
Avant de commencer, assurez-vous de disposer de :
- Une boutique BigCommerce avec accès Store Owner ou Admin
- Un compte API BigCommerce avec les scopes OAuth appropriés
- Votre Store Hash (trouvé dans l’URL de votre boutique ou vos identifiants API)
- Un compte Brevo avec accès API
- Un compte Tajo avec des identifiants API
Authentification
Identifiants de compte API
BigCommerce utilise des comptes API basés sur OAuth. Créez-en un dans votre panneau de contrôle BigCommerce sous Settings > API > API Accounts.
Vous recevrez :
- Client ID, Identifiant de votre application
- Client Secret, Secret de votre application (stockez-le en sécurité)
- Access Token, Utilisé pour l’authentification API
- Store Hash, Identifiant unique de votre boutique
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"Scopes OAuth requis
| Scope | Accès | Objectif |
|---|---|---|
store_v2_customers | Lecture | Synchronisation des données client |
store_v2_orders | Lecture | Suivi des événements de commande |
store_v2_products | Lecture | Synchronisation du catalogue produits |
store_cart | Lecture | Suivi de l’abandon de panier |
store_v2_information | Lecture | Configuration de la boutique |
store_v2_content | Lecture | Contenu de la vitrine |
Configuration
Configuration de 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: 42Mappage des champs client
Mappez les champs client BigCommerce vers les attributs 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_GROUPConfiguration des webhooks
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 API
| Méthode | Endpoint | Description |
|---|---|---|
GET | /v3/customers | Lister les clients |
POST | /v3/customers | Créer des clients |
PUT | /v3/customers | Mettre à jour des clients |
GET | /v2/orders | Lister les commandes |
GET | /v2/orders/{id} | Obtenir les détails d’une commande |
GET | /v3/catalog/products | Lister les produits |
GET | /v3/catalog/products/{id} | Obtenir les détails d’un produit |
GET | /v3/catalog/products/{id}/variants | Lister les variantes d’un produit |
GET | /v3/carts | Lister les paniers |
GET | /v3/abandoned-carts | Lister les paniers abandonnés |
POST | /v3/hooks | Créer un webhook |
GET | /v3/catalog/categories | Lister les catégories |
Exemples de code
Initialiser le connecteur 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});Récupérer et synchroniser les clients
// 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 }Gérer les événements 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');});Synchroniser le catalogue produits
// 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 débit
| Plan | Limite | Détails |
|---|---|---|
| Standard | 150 requêtes/30 s | Par boutique |
| Plus | 300 requêtes/30 s | Par boutique |
| Pro | 450 requêtes/30 s | Par boutique |
| Enterprise | Illimité | Limites personnalisées |
Limites supplémentaires :
| Ressource | Limite |
|---|---|
| Webhooks | 100 par boutique |
| Par page | 250 enregistrements max |
| Requêtes simultanées | Dépend du plan |
En-têtes de limite de débit
Surveillez les en-têtes X-Rate-Limit-Requests-Left et X-Rate-Limit-Time-Reset-Ms pour gérer votre usage API dans les limites.
Dépannage
| Problème | Cause | Solution |
|---|---|---|
401 Unauthorized | Jeton d’accès invalide | Régénérez les identifiants API dans l’admin BigCommerce |
403 Forbidden | Scope OAuth manquant | Vérifiez les scopes du compte API et ajoutez les permissions requises |
| Webhooks non déclenchés | Limite de webhooks atteinte | Vérifiez le nombre de webhooks (max 100) et supprimez les inutilisés |
| Événements de panier manquants | Scripts de vitrine non chargés | Vérifiez le script de tracking sur la vitrine BigCommerce |
| Produits non synchronisés | Cache du catalogue | Déclenchez une synchronisation manuelle ou attendez les mises à jour webhook |
429 Too Many Requests | Limite de débit dépassée | Implémentez une file d’attente avec surveillance des en-têtes de limite |
| Groupes de clients manquants | V2 vs V3 API | Les groupes de clients utilisent la V2 API ; vérifiez la version de l’endpoint |
Bonnes pratiques
- Utilisez la V3 API dès que possible, La V3 API offre une meilleure pagination, un meilleur filtrage et des réponses JSON
- Surveillez les en-têtes de limite de débit, Suivez
X-Rate-Limit-Requests-Leftpour éviter d’atteindre les limites - Enregistrez les webhooks pour la synchronisation en temps réel, Utilisez les webhooks plutôt que le polling pour les mises à jour de clients et de commandes
- Regroupez les mises à jour client, Utilisez les endpoints client en masse V3 pour les synchronisations volumineuses
- Incluez les variantes dans la synchronisation produits, Synchronisez les variantes produit pour un suivi de stock précis
- Configurez des webhooks de panier abandonné, Essentiel pour l’automatisation des e-mails de récupération
- Utilisez la pagination, Paginez toujours les endpoints de liste ; max 250 enregistrements par page
Sécurité
- Authentification par jeton OAuth, Accès API sécurisé par jeton
- Permissions délimitées, Comptes API restreints à des scopes de données spécifiques
- HTTPS uniquement, Toutes les communications API chiffrées via TLS
- Vérification des webhooks, Vérifiez la source des webhooks via le store hash
- Conformité PCI DSS, BigCommerce gère les données de paiement en toute sécurité
- SOC 2 Type II, La plateforme BigCommerce est certifiée SOC 2