BigCommerce-Connector
BigCommerce-Connector
Verbinde deinen BigCommerce-Shop mit Brevo über Tajo für eine vollständige Synchronisation deiner E-Commerce-Daten. Synchronisiere Kund:innen, Bestellungen, Produkte und Warenkorb-Events, um zielgerichtete Marketingkampagnen, Warenkorb-Abandonment-Recovery und automatisierte Post-Purchase-Flows zu ermöglichen.
Überblick
| Eigenschaft | Wert |
|---|---|
| Plattform | BigCommerce |
| Kategorie | E-Commerce |
| Einrichtungsaufwand | Mittel |
| Offizielle Integration | Nein |
| Synchronisierte Daten | Kund:innen, Bestellungen, Produkte, Warenkörbe |
| Verfügbare Skills | 10 |
Funktionen
- Kundendaten-Synchronisation – Echtzeit-Synchronisation von Kundendaten mit Brevo-Kontakten
- Bestellverfolgung – Bestell-Lifecycle-Events für Post-Purchase-Marketing-Flows
- Produktkatalog-Synchronisation – Synchronisiere Produkte für E-Mail-Empfehlungen und dynamische Inhalte
- Warenkorb-Abandonment – Verfolge und reaktiviere abgebrochene Warenkörbe mit automatisierten E-Mails
- Multi-Storefront-Unterstützung – Verbinde mehrere BigCommerce-Storefronts
- Webhook-gesteuerte Updates – Echtzeit-Datenaktualisierungen über BigCommerce-Webhooks
- Benutzerdefinierte Felder – Mappe BigCommerce-Custom-Fields auf Brevo-Kontaktattribute
- Bestandsverfolgung – Synchronisiere Lagerbestände für Wieder-verfügbar-Benachrichtigungen
Voraussetzungen
Bevor du beginnst, stelle sicher, dass du Folgendes hast:
- Einen BigCommerce-Shop mit Store-Owner- oder Admin-Zugang
- Einen BigCommerce-API-Account mit geeigneten OAuth-Scopes
- Deinen Store Hash (findest du in deiner Shop-URL oder in den API-Zugangsdaten)
- Einen Brevo-Account mit API-Zugang
- Einen Tajo-Account mit API-Zugangsdaten
Authentifizierung
API-Account-Zugangsdaten
BigCommerce nutzt OAuth-basierte API-Accounts. Erstelle einen in deinem BigCommerce-Control-Panel unter Settings > API > API Accounts.
Du erhältst:
- Client ID – Dein App-Identifier
- Client Secret – Dein App-Secret (sicher aufbewahren)
- Access Token – Wird für die API-Authentifizierung verwendet
- Store Hash – Dein eindeutiger Shop-Identifier
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"Erforderliche OAuth-Scopes
| Scope | Zugriff | Zweck |
|---|---|---|
store_v2_customers | Read | Kundendaten-Synchronisation |
store_v2_orders | Read | Bestell-Event-Tracking |
store_v2_products | Read | Produktkatalog-Synchronisation |
store_cart | Read | Warenkorb-Abandonment-Tracking |
store_v2_information | Read | Shop-Konfiguration |
store_v2_content | Read | Storefront-Inhalte |
Konfiguration
Grundlegende Einrichtung
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: 42Kundenfeld-Mapping
Mappe BigCommerce-Kundenfelder auf Brevo-Attribute:
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_GROUPWebhook-Konfiguration
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"API-Endpoints
| Methode | Endpoint | Beschreibung |
|---|---|---|
GET | /v3/customers | Kund:innen auflisten |
POST | /v3/customers | Kund:innen anlegen |
PUT | /v3/customers | Kund:innen aktualisieren |
GET | /v2/orders | Bestellungen auflisten |
GET | /v2/orders/{id} | Bestelldetails abrufen |
GET | /v3/catalog/products | Produkte auflisten |
GET | /v3/catalog/products/{id} | Produktdetails abrufen |
GET | /v3/catalog/products/{id}/variants | Produktvarianten auflisten |
GET | /v3/carts | Warenkörbe auflisten |
GET | /v3/abandoned-carts | Abgebrochene Warenkörbe auflisten |
POST | /v3/hooks | Einen Webhook erstellen |
GET | /v3/catalog/categories | Kategorien auflisten |
Code-Beispiele
BigCommerce-Connector initialisieren
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});Kund:innen abrufen und synchronisieren
// 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 }Webhook-Events verarbeiten
// 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');});Produktkatalog synchronisieren
// 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// }Rate Limits
| Plan | Limit | Details |
|---|---|---|
| Standard | 150 Requests/30 Sek. | Pro Shop |
| Plus | 300 Requests/30 Sek. | Pro Shop |
| Pro | 450 Requests/30 Sek. | Pro Shop |
| Enterprise | Unbegrenzt | Individuelle Limits |
Zusätzliche Limits:
| Ressource | Limit |
|---|---|
| Webhooks | 100 pro Shop |
| Pro Seite | Max. 250 Datensätze |
| Gleichzeitige Requests | Planabhängig |
Rate-Limit-Header
Überwache die Header X-Rate-Limit-Requests-Left und X-Rate-Limit-Time-Reset-Ms, um deine API-Nutzung innerhalb der Limits zu halten.
Fehlerbehebung
| Problem | Ursache | Lösung |
|---|---|---|
401 Unauthorized | Ungültiges Access Token | API-Zugangsdaten im BigCommerce-Admin neu generieren |
403 Forbidden | Fehlender OAuth-Scope | API-Account-Scopes prüfen und erforderliche Berechtigungen hinzufügen |
| Webhooks werden nicht ausgelöst | Webhook-Limit erreicht | Webhook-Anzahl prüfen (max. 100) und ungenutzte entfernen |
| Warenkorb-Events fehlen | Storefront-Skripte nicht geladen | Tracking-Skript auf der BigCommerce-Storefront prüfen |
| Produkte nicht synchron | Katalog-Cache | Manuelle Synchronisation auslösen oder auf Webhook-Updates warten |
429 Too Many Requests | Rate Limit überschritten | Request-Queuing mit Überwachung der Rate-Limit-Header implementieren |
| Kundengruppen fehlen | V2 vs. V3 API | Kundengruppen nutzen die V2-API; Endpoint-Version prüfen |
Best Practices
- Nutze wo möglich die V3-API – Die V3-API bietet bessere Pagination, Filterung und JSON-Antworten
- Überwache Rate-Limit-Header – Verfolge
X-Rate-Limit-Requests-Left, um Limits nicht zu überschreiten - Webhooks für Echtzeit-Synchronisation registrieren – Nutze Webhooks statt Polling für Kunden- und Bestell-Updates
- Kunden-Updates batchen – Nutze die V3-Bulk-Endpoints für große Datensynchronisationen
- Varianten in die Produkt-Synchronisation einbeziehen – Synchronisiere Produktvarianten für genaue Bestandsverfolgung
- Webhooks für abgebrochene Warenkörbe einrichten – Entscheidend für Warenkorb-Recovery-Automation
- Pagination nutzen – List-Endpoints immer paginieren; max. 250 Datensätze pro Seite
Sicherheit
- OAuth-Token-Authentifizierung – Sicherer Token-basierter API-Zugriff
- Gescopete Berechtigungen – API-Accounts auf spezifische Daten-Scopes beschränkt
- Nur HTTPS – Gesamte API-Kommunikation via TLS verschlüsselt
- Webhook-Verifizierung – Webhook-Quelle über Store Hash verifizieren
- PCI-DSS-konform – BigCommerce verarbeitet Zahlungsdaten sicher
- SOC 2 Type II – Die BigCommerce-Plattform ist SOC-2-zertifiziert