Konektor WooCommerce

Konektor WooCommerce

Połącz swój sklep WooCommerce z Brevo przez Tajo, aby uzyskać pełną synchronizację danych e-commerce. Wykorzystaj WooCommerce REST API do synchronizacji klientów, zamówień, produktów i kuponów w ukierunkowanych kampaniach marketingowych oraz zautomatyzowanych przepływach pracy.

Przegląd

WłaściwośćWartość
PlatformaWooCommerce (WordPress)
KategoriaE-commerce
Poziom konfiguracjiŚredni
Integracja oficjalnaNie
Synchronizowane daneKlienci, Zamówienia, Produkty, Kupony
Dostępne Skills10

Funkcje

  • Synchronizacja klientów - Synchronizacja danych klientów w czasie rzeczywistym do kontaktów Brevo
  • Śledzenie zamówień - Pełne śledzenie zdarzeń cyklu życia zamówienia dla flow po zakupie
  • Synchronizacja katalogu produktów - Synchronizuj produkty i wariacje do rekomendacji e-mailowych
  • Zarządzanie kuponami - Synchronizuj kody kuponów dla kampanii promocyjnych
  • Obsługa webhooków - Aktualizacje w czasie rzeczywistym przez webhooki WooCommerce
  • Porzucone koszyki - Śledź i odzyskuj porzucone koszyki
  • Obsługa multi-site - Podłącz instalacje multisite WordPress z WooCommerce
  • Niestandardowe meta pola - Mapuj niestandardowe meta WooCommerce na atrybuty Brevo

Wymagania wstępne

Zanim zaczniesz, upewnij się, że masz:

  1. Witrynę WordPress z zainstalowaną i aktywowaną wtyczką WooCommerce
  2. Włączone WooCommerce REST API (Settings > Advanced > REST API)
  3. Wygenerowane Consumer Key i Consumer Secret
  4. Twoja witryna musi używać HTTPS do uwierzytelniania API
  5. Konto Brevo z dostępem do API
  6. Konto Tajo z danymi dostępowymi API

Uwierzytelnianie

Klucze REST API

WooCommerce używa par Consumer Key i Consumer Secret do uwierzytelniania. Wygeneruj je w WooCommerce > Settings > Advanced > REST API.

OAuth 1.0a (witryny HTTPS)

Terminal window
curl https://yourstore.com/wp-json/wc/v3/orders \
-u "consumer_key:consumer_secret"

Uwierzytelnianie przez query string (HTTPS)

Terminal window
curl "https://yourstore.com/wp-json/wc/v3/orders?consumer_key=ck_xxx&consumer_secret=cs_xxx"

Poziomy uprawnień

UprawnienieDostęp
ReadTylko odczyt zasobów
WriteTworzenie i edycja zasobów
Read/WritePełny dostęp CRUD

Konfiguracja

Podstawowa konfiguracja

connectors:
woocommerce:
enabled: true
store_url: "https://yourstore.com"
consumer_key: "ck_your_consumer_key"
consumer_secret: "cs_your_consumer_secret"
api_version: "wc/v3"
verify_ssl: true
# Data sync options
sync:
customers: true
orders: true
products: true
coupons: true
# Brevo list assignment
lists:
all_customers: 50
buyers: 51
abandoned_cart: 52

Mapowanie pól klienta

Zmapuj pola klienta WooCommerce na atrybuty Brevo:

customer_mapping:
email: email
first_name: FIRSTNAME
last_name: LASTNAME
billing.phone: SMS
billing.company: COMPANY
billing.city: CITY
billing.state: STATE
billing.country: COUNTRY
billing.postcode: ZIP
# E-commerce metrics (computed)
orders_count: ORDER_COUNT
total_spent: TOTAL_SPENT
date_created: SIGNUP_DATE
# Meta fields
meta_data.loyalty_points: LOYALTY_POINTS
meta_data.preferred_category: PREF_CATEGORY

Konfiguracja webhooków

Zarejestruj webhooki w WooCommerce > Settings > Advanced > Webhooks:

webhooks:
- topic: "customer.created"
event: "customer_created"
- topic: "customer.updated"
event: "customer_updated"
- topic: "order.created"
event: "order_placed"
- topic: "order.updated"
event: "order_updated"
- topic: "order.completed"
event: "order_fulfilled"
- topic: "order.refunded"
event: "order_refunded"
- topic: "coupon.created"
event: "coupon_created"
- topic: "product.created"
event: "product_added"
- topic: "product.updated"
event: "product_updated"

Endpointy API

MetodaEndpointOpis
GET/wc/v3/customersLista klientów
POST/wc/v3/customersUtwórz klienta
GET/wc/v3/customers/{id}Pobierz klienta
PUT/wc/v3/customers/{id}Zaktualizuj klienta
GET/wc/v3/ordersLista zamówień
POST/wc/v3/ordersUtwórz zamówienie
GET/wc/v3/orders/{id}Pobierz zamówienie
GET/wc/v3/productsLista produktów
GET/wc/v3/products/{id}Pobierz produkt
GET/wc/v3/products/{id}/variationsLista wariacji produktu
GET/wc/v3/couponsLista kuponów
GET/wc/v3/reports/salesPobierz raporty sprzedaży
GET/wc/v3/reports/top_sellersPobierz bestsellery
POST/wc/v3/webhooksUtwórz webhook

Przykłady kodu

Inicjalizacja konektora WooCommerce

import { TajoClient } from '@tajo/sdk';
const tajo = new TajoClient({
apiKey: process.env.TAJO_API_KEY,
brevoApiKey: process.env.BREVO_API_KEY
});
// Connect WooCommerce store
await tajo.connectors.connect('woocommerce', {
storeUrl: 'https://yourstore.com',
consumerKey: process.env.WC_CONSUMER_KEY,
consumerSecret: process.env.WC_CONSUMER_SECRET
});

Pobieranie i synchronizacja klientów

// Fetch customers using WooCommerce REST API
const WooCommerce = require('@woocommerce/woocommerce-rest-api').default;
const api = new WooCommerce({
url: 'https://yourstore.com',
consumerKey: process.env.WC_CONSUMER_KEY,
consumerSecret: process.env.WC_CONSUMER_SECRET,
version: 'wc/v3'
});
// List customers with pagination
const response = await api.get('customers', {
per_page: 100,
page: 1,
orderby: 'registered_date',
order: 'desc'
});
const customers = response.data;
// [{ id, email, first_name, last_name, billing, shipping, ... }]
// Pagination info from headers
const totalPages = response.headers['x-wp-totalpages'];
const totalItems = response.headers['x-wp-total'];

Obsługa zdarzeń webhooków

// WooCommerce webhook handler
app.post('/webhooks/woocommerce', async (req, res) => {
const topic = req.headers['x-wc-webhook-topic'];
const signature = req.headers['x-wc-webhook-signature'];
// Verify webhook signature
const expectedSignature = crypto
.createHmac('sha256', WEBHOOK_SECRET)
.update(JSON.stringify(req.body))
.digest('base64');
if (signature !== expectedSignature) {
return res.status(401).send('Invalid signature');
}
// Forward to Tajo
await tajo.connectors.handleWebhook('woocommerce', {
topic,
payload: req.body
});
res.status(200).send('OK');
});

Operacje wsadowe

// Batch create, update, and delete products
const batchResponse = await api.post('products/batch', {
create: [
{ name: 'New Product', type: 'simple', regular_price: '19.99' }
],
update: [
{ id: 123, regular_price: '24.99' }
],
delete: [456]
});

Limity zapytań

Samo WooCommerce nie narzuca limitów API, ale leżący pod spodem serwer WordPress i dostawca hostingu mogą wprowadzać ograniczenia:

CzynnikTypowy limitSzczegóły
Hosting współdzielony50-100 zap./minRóżnie w zależności od hosta
Zarządzany hosting WP200-500 zap./minWP Engine, Kinsta itd.
Self-hostedBrak twardego limituOgraniczony zasobami serwera
Na stronęMaks. 100 rekordówDomyślnie 10
Operacje wsadowe100 elementów/wsadUtwórz, zaktualizuj lub usuń

Wydajność serwera

Duże sklepy WooCommerce mogą doświadczać wolnych odpowiedzi API. Używaj paginacji, ogranicz pola parametrem _fields i planuj synchronizacje masowe poza godzinami szczytu.

Rozwiązywanie problemów

ProblemPrzyczynaRozwiązanie
401 UnauthorizedNieprawidłowe klucze APIWygeneruj ponownie Consumer Key/Secret w ustawieniach WooCommerce
403 ForbiddenNiewystarczające uprawnieniaUstaw klucz API na dostęp Read/Write
Błędy certyfikatu SSLNieprawidłowy SSL na witrynieUpewnij się, że certyfikat SSL jest ważny; ustaw verify_ssl: false tylko do testów
Webhooki nie uruchamiają sięWordPress cron wyłączonyWłącz WP-Cron lub skonfiguruj crona na poziomie serwera
Wolne odpowiedzi APIDuża baza danychZoptymalizuj bazę WordPress, użyj parametru _fields
Brak niestandardowych pólMeta dane nieujawnioneUżyj pola meta_data, aby uzyskać dostęp do niestandardowych meta
Problemy z paginacjąDomyślny rozmiar stronyUstaw jawnie parametr per_page (maks. 100)

Najlepsze praktyki

  1. Używaj webhooków do synchronizacji w czasie rzeczywistym - Konfiguruj webhooki WooCommerce zamiast odpytywać API
  2. Weryfikuj podpisy webhooków - Zawsze waliduj nagłówek X-WC-Webhook-Signature
  3. Paginuj wszystkie żądania listowe - Używaj parametrów page i per_page; sprawdzaj nagłówek X-WP-TotalPages
  4. Używaj parametru _fields - Żądaj tylko potrzebnych pól, aby zmniejszyć rozmiar odpowiedzi i poprawić wydajność
  5. Operacje wsadowe - Używaj endpointów wsadowych do masowych operacji tworzenia/aktualizacji/usuwania (do 100 elementów)
  6. Planuj duże synchronizacje - Uruchamiaj wstępne pełne synchronizacje poza godzinami szczytu, aby nie obciążać serwera
  7. Włącz HTTPS - WooCommerce API wymaga HTTPS do uwierzytelniania OAuth

Bezpieczeństwo

  • OAuth 1.0a - Bezpieczne uwierzytelnianie przez pary Consumer Key/Secret
  • Podpisy webhooków HMAC - Weryfikacja podpisu SHA-256 dla przychodzących webhooków
  • Wymagany HTTPS - API wymaga szyfrowania TLS do uwierzytelniania
  • Zakresy uprawnień - Klucze API można ustawić na Read, Write lub Read/Write
  • Bezpieczeństwo WordPress - Korzyści z aktualizacji bezpieczeństwa rdzenia WordPress
  • Kwestie PCI - Dane płatności obsługiwane są przez bramki płatnicze WooCommerce, nie są ujawniane przez API

Powiązane zasoby

Subscribe to updates

developer-docs

Drop your email or phone number — we'll send you what matters next.

Asystent AI

Cześć! Zapytaj mnie o dokumentację.

Zacznij za darmo z Brevo