BigCommerce konektor
BigCommerce konektor
Poveži svoju BigCommerce prodavnicu sa Brevo putem Tajo za kompletnu sinhronizaciju e-commerce podataka. Sinhronizuj kupce, porudžbine, proizvode i događaje korpe da pokrećeš ciljane marketing kampanje, oporavak napuštenih korpi i automatizacije nakon kupovine.
Pregled
| Svojstvo | Vrednost |
|---|---|
| Platforma | BigCommerce |
| Kategorija | E-commerce |
| Složenost podešavanja | Srednje |
| Zvanična integracija | Ne |
| Sinhronizovani podaci | Kupci, Porudžbine, Proizvodi, Korpe |
| Dostupne veštine | 10 |
Karakteristike
- Sinhronizacija kupaca - Sinhronizacija podataka o kupcima u realnom vremenu na Brevo kontakte
- Praćenje porudžbina - Događaji životnog ciklusa porudžbine za tokove marketing posle kupovine
- Sinhronizacija kataloga proizvoda - Sinhronizacija proizvoda za email preporuke i dinamički sadržaj
- Napuštanje korpe - Praćenje i oporavak napuštenih korpi automatizovanim emailovima
- Podrška za više prodavnica - Povezivanje više BigCommerce prodavnica
- Ažuriranja pokretana webhook-ovima - Ažuriranja podataka u realnom vremenu putem BigCommerce webhook-ova
- Prilagođena polja - Mapiranje BigCommerce prilagođenih polja na Brevo atribute kontakta
- Praćenje inventara - Sinhronizacija nivoa zaliha za obaveštenja o ponovnoj dostupnosti
Preduslovi
Pre nego što započneš, proveri da imaš:
- BigCommerce prodavnicu sa pristupom vlasnika prodavnice ili admin pristupom
- BigCommerce API nalog sa odgovarajućim OAuth skopovima
- Hash prodavnice (nalazi se u URL-u prodavnice ili API akreditivima)
- Brevo nalog sa API pristupom
- Tajo nalog sa API akreditivima
Autentifikacija
Akreditivi API naloga
BigCommerce koristi OAuth-bazirane API naloge. Kreirati ih u BigCommerce kontrolnoj tabli pod Settings > API > API Accounts.
Dobićeš:
- Client ID - Identifikator tvoje aplikacije
- Client Secret - Tajna tvoje aplikacije (čuvaj bezbedno)
- Access Token - Koristi se za API autentifikaciju
- Store Hash - Jedinstveni identifikator tvoje prodavnice
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"Potrebni OAuth skopovi
| Skop | Pristup | Namena |
|---|---|---|
store_v2_customers | Čitanje | Sinhronizacija podataka o kupcima |
store_v2_orders | Čitanje | Praćenje događaja porudžbine |
store_v2_products | Čitanje | Sinhronizacija kataloga proizvoda |
store_cart | Čitanje | Praćenje napuštanja korpe |
store_v2_information | Čitanje | Konfiguracija prodavnice |
store_v2_content | Čitanje | Sadržaj prodavnice |
Konfiguracija
Osnovno podešavanje
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: 42Mapiranje polja kupaca
Mapiranje BigCommerce polja kupaca na Brevo atribute:
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 webhook-ova
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 endpointi
| Metoda | Endpoint | Opis |
|---|---|---|
GET | /v3/customers | Listanje kupaca |
POST | /v3/customers | Kreiranje kupaca |
PUT | /v3/customers | Ažuriranje kupaca |
GET | /v2/orders | Listanje porudžbina |
GET | /v2/orders/{id} | Dohvatanje detalja porudžbine |
GET | /v3/catalog/products | Listanje proizvoda |
GET | /v3/catalog/products/{id} | Dohvatanje detalja proizvoda |
GET | /v3/catalog/products/{id}/variants | Listanje varijanti proizvoda |
GET | /v3/carts | Listanje korpi |
GET | /v3/abandoned-carts | Listanje napuštenih korpi |
POST | /v3/hooks | Kreiranje webhook-a |
GET | /v3/catalog/categories | Listanje kategorija |
Primeri koda
Inicijalizacija BigCommerce konektora
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});Dohvatanje i sinhronizacija kupaca
// 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 }Obrada webhook događaja
// 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 proizvoda
// 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// }Ograničenja brzine
| Plan | Limit | Detalji |
|---|---|---|
| Standard | 150 zahteva/30 sek | Po prodavnici |
| Plus | 300 zahteva/30 sek | Po prodavnici |
| Pro | 450 zahteva/30 sek | Po prodavnici |
| Enterprise | Neograničeno | Prilagođeni limiti |
Dodatna ograničenja:
| Resurs | Limit |
|---|---|
| Webhook-ovi | 100 po prodavnici |
| Po stranici | Maksimalno 250 zapisa |
| Istovremeni zahtevi | Zavisi od plana |
Headeri ograničenja brzine
Prati headere X-Rate-Limit-Requests-Left i X-Rate-Limit-Time-Reset-Ms da upravljaš upotrebom API-ja unutar limita.
Rešavanje problema
| Problem | Uzrok | Rešenje |
|---|---|---|
401 Unauthorized | Nevažeći access token | Regeneriši API akreditive u BigCommerce adminu |
403 Forbidden | Nedostaje OAuth skop | Proveri skopove API naloga i dodaj potrebne dozvole |
| Webhook-ovi ne okidaju | Dostignut limit webhook-ova | Proveri broj webhook-ova (maks 100) i ukloni nekorišćene |
| Nedostaju događaji korpe | Skripte prodavnice nisu učitane | Verifikuj skriptu za praćenje na BigCommerce prodavnici |
| Proizvodi nisu sinhronizovani | Keš kataloga | Pokrni ručnu sinhronizaciju ili sačekaj ažuriranja webhook-ova |
429 Too Many Requests | Prekoračen limit brzine | Implementiraj red zahteva sa praćenjem headera ograničenja brzine |
| Nedostaju grupe kupaca | V2 vs V3 API | Grupe kupaca koriste V2 API; proveri verziju endpointa |
Najbolje prakse
- Koristi V3 API gde je moguće - V3 API nudi bolju paginaciju, filtriranje i JSON odgovore
- Prati headere ograničenja brzine - Prati
X-Rate-Limit-Requests-Leftda ne dostigneš limite - Registruj webhook-ove za sinhronizaciju u realnom vremenu - Koristi webhook-ove umesto ispitivanja za ažuriranja kupaca i porudžbina
- Grupno ažuriranje kupaca - Koristi V3 bulk endpointe za kupce za sinhronizaciju velikih skupova podataka
- Uključi varijante u sinhronizaciju proizvoda - Sinhronizuj varijante proizvoda za tačno praćenje inventara
- Postavi webhook-ove za napuštenu korpu - Kritično za automatizaciju email oporavka korpe
- Koristi paginaciju - Uvek paginiraj list endpointe; maks 250 zapisa po stranici
Bezbednost
- Autentifikacija OAuth tokenom - Siguran pristup API-ju zasnovan na tokenima
- Skopovane dozvole - API nalozi ograničeni na specifične skopove podataka
- Samo HTTPS - Sva API komunikacija enkriptovana putem TLS
- Verifikacija webhook-ova - Verifikuj izvor webhook-a koristeći hash prodavnice
- PCI DSS usklađenost - BigCommerce bezbedno obrađuje podatke plaćanja
- SOC 2 Type II - BigCommerce platforma je SOC 2 sertifikovana