BigCommerce-koppling
BigCommerce-koppling
Anslut din BigCommerce-butik till Brevo via Tajo för komplett synkronisering av e-handelsdata. Synka kunder, ordrar, produkter och kundvagnshändelser för att driva målinriktade marknadsföringskampanjer, återvinning av övergivna kundvagnar och automation efter köp.
Översikt
| Egenskap | Värde |
|---|---|
| Plattform | BigCommerce |
| Kategori | E-handel |
| Installationskomplexitet | Medel |
| Officiell integration | Nej |
| Data som synkas | Kunder, ordrar, produkter, kundvagnar |
| Tillgängliga skills | 10 |
Funktioner
- Kundsynk - Synkronisering av kunddata till Brevo-kontakter i realtid
- Orderspårning - Händelser för orderns livscykel för flöden efter köp
- Synk av produktkatalog - Synka produkter för e-postrekommendationer och dynamiskt innehåll
- Övergivna kundvagnar - Spåra och återvinn övergivna kundvagnar med automatiserade mejl
- Flera storefronts - Anslut flera BigCommerce-storefronts
- Webhook-drivna uppdateringar - Datauppdateringar i realtid via BigCommerce-webhooks
- Anpassade fält - Mappa anpassade BigCommerce-fält till Brevo-kontaktattribut
- Lagerspårning - Synka lagernivåer för aviseringar när produkter är tillbaka i lager
Förutsättningar
Innan du börjar, se till att du har:
- En BigCommerce-butik med åtkomst som Store Owner eller Admin
- Ett BigCommerce API-konto med lämpliga OAuth-scopes
- Din Store Hash (finns i din butiks-URL eller bland API-uppgifterna)
- Ett Brevo-konto med API-åtkomst
- Ett Tajo-konto med API-uppgifter
Autentisering
Uppgifter för API-konto
BigCommerce använder OAuth-baserade API-konton. Skapa ett i BigCommerce-kontrollpanelen under Settings > API > API Accounts.
Du kommer att få:
- Client ID - Din appidentifierare
- Client Secret - Din app-hemlighet (lagra säkert)
- Access Token - Används för API-autentisering
- Store Hash - Din unika butiksidentifierare
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"Nödvändiga OAuth-scopes
| Scope | Åtkomst | Syfte |
|---|---|---|
store_v2_customers | Read | Synk av kunddata |
store_v2_orders | Read | Spårning av orderhändelser |
store_v2_products | Read | Synk av produktkatalog |
store_cart | Read | Spårning av övergivna kundvagnar |
store_v2_information | Read | Butikskonfiguration |
store_v2_content | Read | Storefront-innehåll |
Konfiguration
Grundläggande konfiguration
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: 42Fältmappning för kunder
Mappa BigCommerce-kundfält till Brevo-attribut:
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-ändpunkter
| Metod | Ändpunkt | Beskrivning |
|---|---|---|
GET | /v3/customers | Lista kunder |
POST | /v3/customers | Skapa kunder |
PUT | /v3/customers | Uppdatera kunder |
GET | /v2/orders | Lista ordrar |
GET | /v2/orders/{id} | Hämta orderdetaljer |
GET | /v3/catalog/products | Lista produkter |
GET | /v3/catalog/products/{id} | Hämta produktdetaljer |
GET | /v3/catalog/products/{id}/variants | Lista produktvarianter |
GET | /v3/carts | Lista kundvagnar |
GET | /v3/abandoned-carts | Lista övergivna kundvagnar |
POST | /v3/hooks | Skapa en webhook |
GET | /v3/catalog/categories | Lista kategorier |
Kodexempel
Initiera BigCommerce-kopplingen
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});Hämta och synka kunder
// 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 }Hantera webhook-händelser
// 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');});Synka produktkatalog
// 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// }API-gränser
| Plan | Gräns | Detaljer |
|---|---|---|
| Standard | 150 förfrågningar/30 sek | Per butik |
| Plus | 300 förfrågningar/30 sek | Per butik |
| Pro | 450 förfrågningar/30 sek | Per butik |
| Enterprise | Obegränsat | Anpassade gränser |
Ytterligare gränser:
| Resurs | Gräns |
|---|---|
| Webhooks | 100 per butik |
| Per sida | Max 250 poster |
| Samtidiga förfrågningar | Beror på planen |
Rate limit-headers
Övervaka headrarna X-Rate-Limit-Requests-Left och X-Rate-Limit-Time-Reset-Ms för att hålla din API-användning inom gränserna.
Felsökning
| Problem | Orsak | Lösning |
|---|---|---|
401 Unauthorized | Ogiltig access token | Generera om API-uppgifterna i BigCommerce-admin |
403 Forbidden | OAuth-scope saknas | Kontrollera API-kontots scopes och lägg till nödvändiga behörigheter |
| Webhooks aktiveras inte | Webhook-gränsen uppnådd | Kontrollera antalet webhooks (max 100) och ta bort oanvända |
| Kundvagnshändelser saknas | Storefront-skript ej laddade | Verifiera spårningsskriptet på BigCommerce-storefronten |
| Produkter är inte synkade | Cache av katalog | Trigga en manuell synk eller vänta på webhook-uppdateringar |
429 Too Many Requests | Rate limit överskriden | Implementera kö med övervakning av rate limit-headers |
| Kundgrupper saknas | V2 jämfört med V3 API | Kundgrupper använder V2-API:et; kontrollera ändpunktsversionen |
Bästa praxis
- Använd V3 API där det är möjligt - V3-API:et erbjuder bättre paginering, filtrering och JSON-svar
- Övervaka rate limit-headers - Följ
X-Rate-Limit-Requests-Leftför att undvika att slå i gränsen - Registrera webhooks för realtidssynk - Använd webhooks istället för polling för kund- och orderuppdateringar
- Batcha kunduppdateringar - Använd V3 bulk customer-ändpunkter för stora datasynkar
- Inkludera varianter i produktsynken - Synka produktvarianter för korrekt lagerspårning
- Konfigurera webhooks för övergivna kundvagnar - Kritiskt för automation av återvinningsmejl
- Använd paginering - Paginera alltid list-ändpunkter; max 250 poster per sida
Säkerhet
- Token-baserad OAuth-autentisering - Säker tokenbaserad API-åtkomst
- Scope-baserade behörigheter - API-konton begränsas till specifika datascopes
- Endast HTTPS - All API-kommunikation krypteras via TLS
- Webhook-verifiering - Verifiera webhook-källan med store hash
- PCI DSS-kompatibel - BigCommerce hanterar betalningsdata säkert
- SOC 2 Type II - BigCommerce-plattformen är SOC 2-certifierad