Konektor BigCommerce
Konektor BigCommerce
Połącz swój sklep BigCommerce z Brevo przez Tajo dla pełnej synchronizacji danych e-commerce. Synchronizuj klientów, zamówienia, produkty i zdarzenia koszyka, aby zasilać ukierunkowane kampanie marketingowe, odzyskiwanie porzuconych koszyków i automatyzację po zakupie.
Przegląd
| Właściwość | Wartość |
|---|---|
| Platforma | BigCommerce |
| Kategoria | E-commerce |
| Poziom konfiguracji | Średni |
| Integracja oficjalna | Nie |
| Synchronizowane dane | Klienci, Zamówienia, Produkty, Koszyki |
| Dostępne Skills | 10 |
Funkcje
- Synchronizacja klientów - Synchronizacja danych klientów w czasie rzeczywistym z kontaktami Brevo
- Śledzenie zamówień - Zdarzenia cyklu życia zamówień dla przepływów marketingowych po zakupie
- Synchronizacja katalogu produktów - Synchronizuj produkty dla rekomendacji e-mailowych i dynamicznych treści
- Porzucenie koszyka - Śledź i odzyskuj porzucone koszyki za pomocą automatycznych e-maili
- Obsługa wielu sklepów - Połącz wiele sklepów BigCommerce
- Aktualizacje oparte na webhookach - Aktualizacje danych w czasie rzeczywistym przez webhooki BigCommerce
- Pola niestandardowe - Mapuj niestandardowe pola BigCommerce na atrybuty kontaktów Brevo
- Śledzenie zapasów - Synchronizuj poziomy zapasów dla powiadomień o dostępności
Wymagania wstępne
Zanim zaczniesz, upewnij się, że masz:
- Sklep BigCommerce z dostępem właściciela sklepu lub administratora
- Konto API BigCommerce z odpowiednimi zakresami OAuth
- Store Hash (znajdziesz w URL sklepu lub poświadczeniach API)
- Konto Brevo z dostępem do API
- Konto Tajo z poświadczeniami API
Uwierzytelnianie
Poświadczenia konta API
BigCommerce używa kont API opartych na OAuth. Utwórz je w panelu BigCommerce w Settings > API > API Accounts.
Otrzymasz:
- Client ID - Identyfikator aplikacji
- Client Secret - Sekret aplikacji (przechowuj bezpiecznie)
- Access Token - Używany do uwierzytelniania API
- Store Hash - Unikalny identyfikator sklepu
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"Wymagane zakresy OAuth
| Zakres | Dostęp | Cel |
|---|---|---|
store_v2_customers | Odczyt | Synchronizacja danych klientów |
store_v2_orders | Odczyt | Śledzenie zdarzeń zamówień |
store_v2_products | Odczyt | Synchronizacja katalogu produktów |
store_cart | Odczyt | Śledzenie porzucenia koszyka |
store_v2_information | Odczyt | Konfiguracja sklepu |
store_v2_content | Odczyt | Treść sklepu |
Konfiguracja
Podstawowa konfiguracja
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: 42Mapowanie pól klientów
Mapuj pola klientów BigCommerce na atrybuty 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_GROUPKonfiguracja webhooków
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"Endpointy API
| Metoda | Endpoint | Opis |
|---|---|---|
GET | /v3/customers | Lista klientów |
POST | /v3/customers | Utwórz klientów |
PUT | /v3/customers | Zaktualizuj klientów |
GET | /v2/orders | Lista zamówień |
GET | /v2/orders/{id} | Szczegóły zamówienia |
GET | /v3/catalog/products | Lista produktów |
GET | /v3/catalog/products/{id} | Szczegóły produktu |
GET | /v3/catalog/products/{id}/variants | Lista wariantów produktu |
GET | /v3/carts | Lista koszyków |
GET | /v3/abandoned-carts | Lista porzuconych koszyków |
POST | /v3/hooks | Utwórz webhook |
GET | /v3/catalog/categories | Lista kategorii |
Przykłady kodu
Inicjalizacja konektora 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});Pobierz i synchronizuj klientów
// 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 }Obsługa zdarzeń webhooków
// 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');});Synchronizuj katalog produktów
// 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// }Limity API
| Plan | Limit | Szczegóły |
|---|---|---|
| Standard | 150 żądań/30 sek | Na sklep |
| Plus | 300 żądań/30 sek | Na sklep |
| Pro | 450 żądań/30 sek | Na sklep |
| Enterprise | Nieograniczony | Niestandardowe limity |
Dodatkowe limity:
| Zasób | Limit |
|---|---|
| Webhooki | 100 na sklep |
| Na stronę | Maks. 250 rekordów |
| Jednoczesne żądania | Zależne od planu |
Nagłówki limitów szybkości
Monitoruj nagłówki X-Rate-Limit-Requests-Left i X-Rate-Limit-Time-Reset-Ms, aby zarządzać zużyciem API w ramach limitów.
Rozwiązywanie problemów
| Problem | Przyczyna | Rozwiązanie |
|---|---|---|
401 Unauthorized | Nieprawidłowy token dostępu | Wygeneruj ponownie poświadczenia API w panelu BigCommerce |
403 Forbidden | Brakujący zakres OAuth | Sprawdź zakresy konta API i dodaj wymagane uprawnienia |
| Webhooki nie odpalaję | Przekroczony limit webhooków | Sprawdź liczbę webhooków (maks. 100) i usuń nieużywane |
| Brakujące zdarzenia koszyka | Skrypty sklepu nie załadowane | Zweryfikuj skrypt śledzenia w sklepie BigCommerce |
| Produkty desynchronizowane | Pamięć podręczna katalogu | Wyzwól ręczną synchronizację lub poczekaj na aktualizacje webhooków |
429 Too Many Requests | Przekroczony limit szybkości | Wdrożyj kolejkowanie żądań z monitoringiem nagłówków limitów |
| Brakujące grupy klientów | API V2 vs V3 | Grupy klientów używają API V2; sprawdź wersję endpointa |
Najlepsze praktyki
- Używaj API V3 tam, gdzie to możliwe - API V3 oferuje lepszą paginację, filtrowanie i odpowiedzi JSON
- Monitoruj nagłówki limitów - Śledź
X-Rate-Limit-Requests-Left, aby unikać przekraczania limitów - Rejestruj webhooki dla synchronizacji w czasie rzeczywistym - Używaj webhooków zamiast odpytywania dla aktualizacji klientów i zamówień
- Wsadowe aktualizacje klientów - Używaj endpointów zbiorczych V3 dla dużych synchronizacji danych
- Uwzględnij warianty w synchronizacji produktów - Synchronizuj warianty produktów dla dokładnego śledzenia zapasów
- Konfiguruj webhooki porzuconych koszyków - Kluczowe dla automatyzacji e-maili odzyskiwania koszyka
- Używaj paginacji - Zawsze paginuj endpointy listowania; maks. 250 rekordów na stronę
Bezpieczeństwo
- Uwierzytelnianie tokenem OAuth - Bezpieczny dostęp API oparty na tokenach
- Uprawnienia z zakresem - Konta API ograniczone do określonych zakresów danych
- Tylko HTTPS - Cała komunikacja API szyfrowana przez TLS
- Weryfikacja webhooków - Weryfikuj źródło webhooka używając store hash
- Zgodność z PCI DSS - BigCommerce bezpiecznie obsługuje dane płatności
- SOC 2 Type II - Platforma BigCommerce posiada certyfikat SOC 2