BigCommerce-connector
BigCommerce-connector
Verbind je BigCommerce-winkel met Brevo via Tajo voor volledige synchronisatie van e-commercedata. Synchroniseer klanten, bestellingen, producten en cart-events om gerichte marketingcampagnes, abandoned-cart-recovery en post-purchase-automatisering aan te sturen.
Overzicht
| Eigenschap | Waarde |
|---|---|
| Platform | BigCommerce |
| Categorie | E-commerce |
| Setupcomplexiteit | Gemiddeld |
| Officiële integratie | Nee |
| Gesynchroniseerde data | Klanten, Bestellingen, Producten, Winkelwagens |
| Beschikbare skills | 10 |
Functies
- Klantsynchronisatie - Realtime klantdatasynchronisatie naar Brevo-contacten
- Ordertracking - Order-lifecycle-events voor post-purchase-marketingflows
- Productcatalogus-sync - Synchroniseer producten voor e-mailaanbevelingen en dynamische content
- Winkelwagenherstel - Volg en herstel verlaten winkelwagens met geautomatiseerde e-mails
- Multi-storefront-ondersteuning - Verbind meerdere BigCommerce-storefronts
- Webhook-gestuurde updates - Realtime data-updates via BigCommerce-webhooks
- Custom velden - Koppel BigCommerce-customvelden aan Brevo-contactattributen
- Voorraadtracking - Synchroniseer voorraadniveaus voor weer-op-voorraad-notificaties
Vereisten
Voordat je begint, zorg dat je beschikt over:
- Een BigCommerce-winkel met Store Owner- of Admin-toegang
- Een BigCommerce API-account met de juiste OAuth-scopes
- Je Store Hash (te vinden in je winkel-URL of API-inloggegevens)
- Een Brevo-account met API-toegang
- Een Tajo-account met API-inloggegevens
Authenticatie
API-accountinloggegevens
BigCommerce gebruikt OAuth-gebaseerde API-accounts. Maak er een aan in je BigCommerce-controlepaneel onder Settings > API > API Accounts.
Je ontvangt:
- Client ID - Je app-identifier
- Client Secret - Je app-secret (bewaar veilig)
- Access Token - Voor API-authenticatie
- Store Hash - Je unieke winkelidentifier
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"Vereiste OAuth-scopes
| Scope | Toegang | Doel |
|---|---|---|
store_v2_customers | Read | Klantdatasync |
store_v2_orders | Read | Order-event-tracking |
store_v2_products | Read | Productcatalogussync |
store_cart | Read | Winkelwagenherstel-tracking |
store_v2_information | Read | Winkelconfiguratie |
store_v2_content | Read | Storefrontcontent |
Configuratie
Basisopzet
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: 42Klantveldmapping
Koppel BigCommerce-klantvelden aan Brevo-attributen:
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-configuratie
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 | Beschrijving |
|---|---|---|
GET | /v3/customers | Klanten opvragen |
POST | /v3/customers | Klanten aanmaken |
PUT | /v3/customers | Klanten bijwerken |
GET | /v2/orders | Bestellingen opvragen |
GET | /v2/orders/{id} | Orderdetails ophalen |
GET | /v3/catalog/products | Producten opvragen |
GET | /v3/catalog/products/{id} | Productdetails ophalen |
GET | /v3/catalog/products/{id}/variants | Productvarianten opvragen |
GET | /v3/carts | Winkelwagens opvragen |
GET | /v3/abandoned-carts | Verlaten winkelwagens opvragen |
POST | /v3/hooks | Webhook aanmaken |
GET | /v3/catalog/categories | Categorieën opvragen |
Codevoorbeelden
BigCommerce-connector initialiseren
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});Klanten ophalen en synchroniseren
// 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 afhandelen
// 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');});Productcatalogus synchroniseren
// 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// }Ratelimits
| Plan | Limiet | Details |
|---|---|---|
| Standard | 150 requests/30 sec | Per winkel |
| Plus | 300 requests/30 sec | Per winkel |
| Pro | 450 requests/30 sec | Per winkel |
| Enterprise | Onbeperkt | Custom limieten |
Aanvullende limieten:
| Resource | Limiet |
|---|---|
| Webhooks | 100 per winkel |
| Per pagina | 250 records max |
| Gelijktijdige requests | Afhankelijk van plan |
Ratelimit-headers
Monitor de X-Rate-Limit-Requests-Left- en X-Rate-Limit-Time-Reset-Ms-headers om je API-gebruik binnen de limieten te houden.
Probleemoplossing
| Probleem | Oorzaak | Oplossing |
|---|---|---|
401 Unauthorized | Ongeldig access token | Genereer API-inloggegevens opnieuw in BigCommerce-admin |
403 Forbidden | Ontbrekende OAuth-scope | Controleer API-accountscopes en voeg vereiste rechten toe |
| Webhooks werken niet | Webhook-limiet bereikt | Controleer aantal webhooks (max 100) en verwijder ongebruikte |
| Cart-events ontbreken | Storefrontscripts niet geladen | Verifieer trackingscript op de BigCommerce-storefront |
| Producten niet in sync | Cataloguscache | Trigger een handmatige sync of wacht op webhook-updates |
429 Too Many Requests | Ratelimit overschreden | Implementeer request-queuing met monitoring van ratelimit-headers |
| Klantengroepen ontbreken | V2 vs V3 API | Klantengroepen gebruiken de V2 API; controleer endpoint-versie |
Best practices
- Gebruik V3 API waar mogelijk - De V3 API biedt betere paginatie, filtering en JSON-responses
- Monitor ratelimit-headers - Houd
X-Rate-Limit-Requests-Leftin de gaten om limieten niet te raken - Registreer webhooks voor realtime-sync - Gebruik webhooks in plaats van polling voor klant- en orderupdates
- Batch klantupdates - Gebruik de V3 bulk-klantendpoints voor grote datasyncs
- Neem varianten mee in productsync - Synchroniseer productvarianten voor nauwkeurige voorraadtracking
- Stel abandoned-cart-webhooks in - Cruciaal voor cart-recovery-e-mailautomatisering
- Gebruik paginatie - Pagineer altijd lijst-endpoints; max 250 records per pagina
Beveiliging
- OAuth-token-authenticatie - Veilige tokengebaseerde API-toegang
- Gescopede permissies - API-accounts beperkt tot specifieke datascopes
- Alleen HTTPS - Alle API-communicatie versleuteld via TLS
- Webhook-verificatie - Verifieer webhook-bron via de store hash
- PCI DSS-compliant - BigCommerce verwerkt betaalgegevens veilig
- SOC 2 Type II - Het BigCommerce-platform is SOC 2-gecertificeerd