Conector BigCommerce
Conector BigCommerce
Conectați magazinul BigCommerce la Brevo prin Tajo pentru sincronizarea completă a datelor de e-commerce. Sincronizați clienți, comenzi, produse și evenimente de coș pentru a alimenta campanii de marketing targetate, recuperarea coșurilor abandonate și automatizarea post-cumpărare.
Prezentare generală
| Proprietate | Valoare |
|---|---|
| Platformă | BigCommerce |
| Categorie | E-commerce |
| Complexitate configurare | Medie |
| Integrare oficială | Nu |
| Date sincronizate | Clienți, Comenzi, Produse, Coșuri |
| Skilluri disponibile | 10 |
Funcționalități
- Sincronizare clienți - Sincronizare în timp real a datelor clienților la contactele Brevo
- Urmărire comenzi - Evenimente de ciclu de viață al comenzilor pentru fluxuri de marketing post-cumpărare
- Sincronizare catalog produse - Sincronizați produsele pentru recomandări în e-mail și conținut dinamic
- Recuperare coșuri abandonate - Urmăriți și recuperați coșurile abandonate cu e-mailuri automatizate
- Suport multi-magazin - Conectați mai multe magazine BigCommerce
- Actualizări bazate pe webhook - Actualizări de date în timp real prin webhook-urile BigCommerce
- Câmpuri personalizate - Mapați câmpurile personalizate BigCommerce la atributele de contact Brevo
- Urmărire inventar - Sincronizați nivelurile de stoc pentru notificări revenire în stoc
Cerințe preliminare
Înainte de a începe, asigurați-vă că aveți:
- Un magazin BigCommerce cu acces de Proprietar sau Administrator
- Un cont API BigCommerce cu scope-uri OAuth corespunzătoare
- Hash-ul magazinului (găsit în URL-ul magazinului sau credențialele API)
- Un cont Brevo cu acces API
- Un cont Tajo cu credențiale API
Autentificare
Credențiale cont API
BigCommerce utilizează conturi API bazate pe OAuth. Creați unul în panoul de control BigCommerce sub Settings > API > API Accounts.
Veți primi:
- Client ID - Identificatorul aplicației dvs.
- Client Secret - Secretul aplicației dvs. (stocați în siguranță)
- Access Token - Utilizat pentru autentificarea API
- Store Hash - Identificatorul unic al magazinului dvs.
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"Scope-uri OAuth necesare
| Scope | Acces | Scop |
|---|---|---|
store_v2_customers | Citire | Sincronizare date clienți |
store_v2_orders | Citire | Urmărire evenimente comenzi |
store_v2_products | Citire | Sincronizare catalog produse |
store_cart | Citire | Urmărire coșuri abandonate |
store_v2_information | Citire | Configurare magazin |
store_v2_content | Citire | Conținut magazin |
Configurare
Configurare de bază
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: 42Mapare câmpuri clienți
Mapați câmpurile clienților BigCommerce la atributele 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_GROUPConfigurare webhook
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"Puncte finale API
| Metodă | Punct final | Descriere |
|---|---|---|
GET | /v3/customers | Listează clienții |
POST | /v3/customers | Creează clienți |
PUT | /v3/customers | Actualizează clienții |
GET | /v2/orders | Listează comenzile |
GET | /v2/orders/{id} | Obține detalii comandă |
GET | /v3/catalog/products | Listează produsele |
GET | /v3/catalog/products/{id} | Obține detalii produs |
GET | /v3/catalog/products/{id}/variants | Listează variantele produsului |
GET | /v3/carts | Listează coșurile |
GET | /v3/abandoned-carts | Listează coșurile abandonate |
POST | /v3/hooks | Creează un webhook |
GET | /v3/catalog/categories | Listează categoriile |
Exemple de cod
Inițializare conector BigCommerce
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});Preluare și sincronizare clienți
// 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 }Gestionare evenimente 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');});Sincronizare catalog produse
// 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// }Limite de rată
| Plan | Limită | Detalii |
|---|---|---|
| Standard | 150 cereri/30 sec | Per magazin |
| Plus | 300 cereri/30 sec | Per magazin |
| Pro | 450 cereri/30 sec | Per magazin |
| Enterprise | Nelimitat | Limite personalizate |
Limite suplimentare:
| Resursă | Limită |
|---|---|
| Webhook-uri | 100 per magazin |
| Per pagină | Maximum 250 înregistrări |
| Cereri concurente | Depinde de plan |
Anteturi limite de rată
Monitorizați anteturile X-Rate-Limit-Requests-Left și X-Rate-Limit-Time-Reset-Ms pentru a gestiona utilizarea API în cadrul limitelor.
Depanare
| Problemă | Cauză | Soluție |
|---|---|---|
401 Neautorizat | Token de acces invalid | Regenerați credențialele API în admin BigCommerce |
403 Interzis | Scope OAuth lipsă | Verificați scope-urile contului API și adăugați permisiunile necesare |
| Webhook-urile nu se execută | Limită webhook atinsă | Verificați numărul de webhook-uri (max 100) și eliminați-le pe cele neutilizate |
| Evenimente coș lipsă | Scripturi storefront neîncărcate | Verificați scriptul de urmărire pe magazinul BigCommerce |
| Produse nesincronizate | Cache catalog | Declanșați o sincronizare manuală sau așteptați actualizările prin webhook |
429 Prea multe cereri | Limită de rată depășită | Implementați cozi de cereri cu monitorizarea anteturilor de limită de rată |
| Grupuri clienți lipsă | API V2 vs V3 | Grupurile de clienți utilizează API-ul V2; verificați versiunea punctului final |
Bune practici
- Utilizați API V3 unde este posibil - API-ul V3 oferă paginare mai bună, filtrare și răspunsuri JSON
- Monitorizați anteturile de limită de rată - Urmăriți
X-Rate-Limit-Requests-Leftpentru a evita atingerea limitelor - Înregistrați webhook-uri pentru sincronizare în timp real - Utilizați webhook-uri în loc de polling pentru actualizări clienți și comenzi
- Grupați actualizările clienților - Utilizați punctele finale V3 de clienți în bloc pentru sincronizări de date mari
- Includeți variante în sincronizarea produselor - Sincronizați variantele produselor pentru urmărirea precisă a inventarului
- Configurați webhook-uri de coș abandonat - Critice pentru automatizarea e-mailurilor de recuperare a coșului
- Utilizați paginarea - Paginați întotdeauna punctele finale de listare; maximum 250 înregistrări per pagină
Securitate
- Autentificare cu token OAuth - Acces API securizat bazat pe token
- Permisiuni cu scope - Conturi API restricționate la scope-uri specifice de date
- Numai HTTPS - Toate comunicațiile API criptate prin TLS
- Verificare webhook - Verificați sursa webhook folosind hash-ul magazinului
- Conform PCI DSS - BigCommerce gestionează datele de plată în siguranță
- SOC 2 Tip II - Platforma BigCommerce este certificată SOC 2