BigCommerce Connector
BigCommerce Connector
Poveži svojo BigCommerce trgovino z Brevo prek Tajo za popolno sinhronizacijo podatkov e-trgovine. Sinhroniziraj stranke, naročila, izdelke in dogodke košarice za poganjanje ciljnih marketinških kampanj, obnovo zapuščenih košaric in avtomatizacijo po nakupu.
Pregled
| Lastnost | Vrednost |
|---|---|
| Platforma | BigCommerce |
| Kategorija | E-commerce |
| Zahtevnost nastavitve | Srednja |
| Uradna integracija | Ne |
| Sinhronizirani podatki | Stranke, naročila, izdelki, košarice |
| Razpoložljivi Skills | 10 |
Funkcionalnosti
- Sinhronizacija strank – sinhronizacija podatkov strank v stike Brevo v realnem času
- Sledenje naročilom – dogodki življenjskega cikla naročila za marketinške tokove po nakupu
- Sinhronizacija kataloga izdelkov – sinhroniziraj izdelke za priporočila v e-mailih in dinamično vsebino
- Opuščanje košarice – sledi in obnovi zapuščene košarice z avtomatiziranimi e-maili
- Podpora za več trgovin – poveži več BigCommerce trgovin
- Posodobitve prek webhookov – posodobitve podatkov v realnem času prek BigCommerce webhookov
- Polja po meri – preslikaj BigCommerce polja po meri v atribute stikov Brevo
- Sledenje zalogi – sinhroniziraj stanje zalog za obvestila “back-in-stock”
Predpogoji
Preden začneš, se prepričaj, da imaš:
- BigCommerce trgovino z dostopom Store Owner ali Admin
- BigCommerce API račun z ustreznimi OAuth obsegi
- Svoj Store Hash (najdeš ga v URL trgovine ali API poverilnicah)
- Brevo račun z dostopom do API
- Tajo račun z API poverilnicami
Avtentikacija
Poverilnice API računa
BigCommerce uporablja OAuth API račune. Ustvari ga v nadzorni plošči BigCommerce pod Settings > API > API Accounts.
Prejel boš:
- Client ID – identifikator tvoje aplikacije
- Client Secret – skrivnost aplikacije (shrani varno)
- Access Token – uporablja se za API avtentikacijo
- Store Hash – enolični identifikator tvoje trgovine
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"Zahtevani OAuth obsegi
| Obseg | Dostop | Namen |
|---|---|---|
store_v2_customers | Read | Sinhronizacija podatkov strank |
store_v2_orders | Read | Sledenje dogodkom naročil |
store_v2_products | Read | Sinhronizacija kataloga izdelkov |
store_cart | Read | Sledenje zapuščenih košaric |
store_v2_information | Read | Konfiguracija trgovine |
store_v2_content | Read | Vsebina trgovine |
Konfiguracija
Osnovna nastavitev
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: 42Preslikava polj strank
Preslikaj polja strank BigCommerce v atribute 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_GROUPKonfiguracija webhookov
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 končne točke
| Metoda | Končna točka | Opis |
|---|---|---|
GET | /v3/customers | Seznam strank |
POST | /v3/customers | Ustvari stranke |
PUT | /v3/customers | Posodobi stranke |
GET | /v2/orders | Seznam naročil |
GET | /v2/orders/{id} | Pridobi podrobnosti naročila |
GET | /v3/catalog/products | Seznam izdelkov |
GET | /v3/catalog/products/{id} | Pridobi podrobnosti izdelka |
GET | /v3/catalog/products/{id}/variants | Seznam variacij izdelka |
GET | /v3/carts | Seznam košaric |
GET | /v3/abandoned-carts | Seznam zapuščenih košaric |
POST | /v3/hooks | Ustvari webhook |
GET | /v3/catalog/categories | Seznam kategorij |
Primeri kode
Inicializacija BigCommerce konektorja
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});Pridobivanje in sinhronizacija strank
// 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 }Obravnava dogodkov 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');});Sinhronizacija kataloga izdelkov
// 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// }Omejitve zahtevkov
| Plan | Omejitev | Podrobnosti |
|---|---|---|
| Standard | 150 zahtevkov/30 sek | Na trgovino |
| Plus | 300 zahtevkov/30 sek | Na trgovino |
| Pro | 450 zahtevkov/30 sek | Na trgovino |
| Enterprise | Neomejeno | Omejitve po meri |
Dodatne omejitve:
| Vir | Omejitev |
|---|---|
| Webhooki | 100 na trgovino |
| Na stran | Največ 250 zapisov |
| Sočasni zahtevki | Odvisno od plana |
Glave omejitev zahtevkov
Spremljaj glavi X-Rate-Limit-Requests-Left in X-Rate-Limit-Time-Reset-Ms za upravljanje porabe API v okviru omejitev.
Odpravljanje težav
| Težava | Vzrok | Rešitev |
|---|---|---|
401 Unauthorized | Neveljaven access token | Regeneriraj API poverilnice v BigCommerce adminu |
403 Forbidden | Manjka OAuth obseg | Preveri obsege API računa in dodaj potrebna dovoljenja |
| Webhooki se ne sprožajo | Dosežena omejitev webhookov | Preveri število webhookov (največ 100) in odstrani neuporabljene |
| Manjkajo dogodki košarice | Skripte trgovine niso naložene | Preveri sledilno skripto v BigCommerce trgovini |
| Izdelki niso sinhronizirani | Predpomnilnik kataloga | Sproži ročno sinhronizacijo ali počakaj na webhook posodobitve |
429 Too Many Requests | Presežena omejitev zahtevkov | Implementiraj čakalno vrsto s spremljanjem glav omejitev |
| Manjkajo skupine strank | V2 vs V3 API | Skupine strank uporabljajo V2 API; preveri različico končne točke |
Najboljše prakse
- Uporabljaj V3 API, kjer je mogoče – V3 API ponuja boljšo paginacijo, filtriranje in JSON odzive
- Spremljaj glave omejitev zahtevkov – sledi
X-Rate-Limit-Requests-Left, da ne zadeneš omejitev - Registriraj webhooke za sinhronizacijo v realnem času – uporabi webhooke namesto poizvedovanja za posodobitve strank in naročil
- Paketno posodabljaj stranke – uporabi V3 bulk customer končne točke za velike sinhronizacije
- Vključi variacije v sinhronizacijo izdelkov – sinhroniziraj variacije za natančno sledenje zalog
- Nastavi webhooke za zapuščene košarice – ključno za avtomatizacijo e-mailov za obnovo košarice
- Uporabljaj paginacijo – vedno paginaj končne točke seznamov; največ 250 zapisov na stran
Varnost
- Avtentikacija z OAuth žetonom – varen dostop do API na osnovi žetonov
- Obsegana dovoljenja – API računi so omejeni na specifične obsege podatkov
- Samo HTTPS – vsa API komunikacija je šifrirana prek TLS
- Preverjanje webhookov – preveri vir webhooka prek store hash
- PCI DSS skladnost – BigCommerce varno obravnava plačilne podatke
- SOC 2 Type II – platforma BigCommerce je SOC 2 certificirana