WooCommerce konektor
WooCommerce konektor
Prepoj svoj obchod WooCommerce s Brevo cez Tajo pre kompletnú synchronizáciu e-commerce dát. Využi WooCommerce REST API na synchronizáciu zákazníkov, objednávok, produktov a kupónových dát pre cielené marketingové kampane a automatizované workflowy.
Prehľad
| Vlastnosť | Hodnota |
|---|---|
| Platforma | WooCommerce (WordPress) |
| Kategória | E-commerce |
| Zložitosť nastavenia | Stredná |
| Oficiálna integrácia | Nie |
| Synchronizované dáta | Zákazníci, Objednávky, Produkty, Kupóny |
| Dostupné skilly | 10 |
Funkcie
- Synchronizácia zákazníkov - Synchronizácia dát zákazníkov v reálnom čase do kontaktov Brevo
- Sledovanie objednávok - Úplné sledovanie životného cyklu objednávok pre toky po nákupe
- Synchronizácia katalógu produktov - Synchronizuj produkty a varianty pre e-mailové odporúčania
- Správa kupónov - Synchronizuj kupónové kódy pre propagačné kampane
- Podpora webhookov - Aktualizácie v reálnom čase cez webhooky WooCommerce
- Opustenie košíka - Sleduj a obnov opustené košíky
- Podpora multi-stránok - Prepoj inštalácie WooCommerce na WordPress multisite
- Vlastné meta polia - Namapuj vlastné meta WooCommerce na atribúty Brevo
Predpoklady
Predtým, než začneš, uisti sa, že máš:
- WordPress stránku s nainštalovaným a aktivovaným pluginom WooCommerce
- Povolené WooCommerce REST API (Settings > Advanced > REST API)
- Vygenerovaný API Consumer Key a Consumer Secret
- Tvoja stránka musí používať HTTPS pre autentifikáciu API
- Brevo účet s API prístupom
- Tajo účet s API prihlasovacími údajmi
Autentifikácia
REST API kľúče
WooCommerce používa páry Consumer Key a Consumer Secret pre autentifikáciu. Vygeneruj ich v WooCommerce > Settings > Advanced > REST API.
OAuth 1.0a (HTTPS stránky)
curl https://yourstore.com/wp-json/wc/v3/orders \ -u "consumer_key:consumer_secret"Autentifikácia pomocou query string (HTTPS)
curl "https://yourstore.com/wp-json/wc/v3/orders?consumer_key=ck_xxx&consumer_secret=cs_xxx"Úrovne oprávnení
| Oprávnenie | Prístup |
|---|---|
| Read | Iba prezeranie zdrojov |
| Write | Vytváranie a úprava zdrojov |
| Read/Write | Plný CRUD prístup |
Konfigurácia
Základné nastavenie
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: 52Mapovanie polí zákazníkov
Namapuj polia zákazníkov WooCommerce na atribúty 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_CATEGORYKonfigurácia webhookov
Registruj webhooky v 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"API endpointy
| Metóda | Endpoint | Popis |
|---|---|---|
GET | /wc/v3/customers | Zoznam zákazníkov |
POST | /wc/v3/customers | Vytvorenie zákazníka |
GET | /wc/v3/customers/{id} | Načítanie zákazníka |
PUT | /wc/v3/customers/{id} | Aktualizácia zákazníka |
GET | /wc/v3/orders | Zoznam objednávok |
POST | /wc/v3/orders | Vytvorenie objednávky |
GET | /wc/v3/orders/{id} | Načítanie objednávky |
GET | /wc/v3/products | Zoznam produktov |
GET | /wc/v3/products/{id} | Načítanie produktu |
GET | /wc/v3/products/{id}/variations | Zoznam variantov produktu |
GET | /wc/v3/coupons | Zoznam kupónov |
GET | /wc/v3/reports/sales | Reporty predajov |
GET | /wc/v3/reports/top_sellers | Najlepšie predávané |
POST | /wc/v3/webhooks | Vytvorenie webhooku |
Ukážky kódu
Inicializácia WooCommerce konektora
import { TajoClient } from '@tajo/sdk';
const tajo = new TajoClient({ apiKey: process.env.TAJO_API_KEY, brevoApiKey: process.env.BREVO_API_KEY});
// Connect WooCommerce storeawait tajo.connectors.connect('woocommerce', { storeUrl: 'https://yourstore.com', consumerKey: process.env.WC_CONSUMER_KEY, consumerSecret: process.env.WC_CONSUMER_SECRET});Načítanie a synchronizácia zákazníkov
// Fetch customers using WooCommerce REST APIconst 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 paginationconst 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 headersconst totalPages = response.headers['x-wp-totalpages'];const totalItems = response.headers['x-wp-total'];Spracovanie webhookových udalostí
// WooCommerce webhook handlerapp.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');});Dávkové operácie
// Batch create, update, and delete productsconst 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]});Obmedzenia rýchlosti
WooCommerce sám o sebe nevynucuje limity rýchlosti API, avšak základný WordPress server a hostingový poskytovateľ môžu ukladať obmedzenia:
| Faktor | Typický limit | Detaily |
|---|---|---|
| Zdieľaný hosting | 50–100 požiadaviek/min | Závisí od hosta |
| Spravovaný WP hosting | 200–500 požiadaviek/min | WP Engine, Kinsta atď. |
| Vlastný hosting | Bez pevného limitu | Obmedzený zdrojmi servera |
| Na stránku | Max 100 záznamov | Predvolene 10 |
| Dávkové operácie | 100 položiek/dávka | Vytváranie, aktualizácia alebo mazanie |
Výkon servera
Veľké obchody WooCommerce môžu mať pomalé odpovede API. Použi stránkovanie, obmedz polia parametrom _fields a plánuj hromadné synchronizácie v hodinách mimo špičky.
Riešenie problémov
| Problém | Príčina | Riešenie |
|---|---|---|
401 Unauthorized | Neplatné API kľúče | Znovu vygeneruj Consumer Key/Secret v nastaveniach WooCommerce |
403 Forbidden | Nedostatočné oprávnenia | Nastav API kľúč na prístup Read/Write |
| Chyby SSL certifikátu | Neplatný SSL na stránke | Uisti sa, že SSL certifikát je platný; nastav verify_ssl: false iba pre testovanie |
| Webhooky sa nespúšťajú | WordPress cron je vypnutý | Povol WP-Cron alebo nakonfiguruj cron na úrovni servera |
| Pomalé odpovede API | Veľká databáza | Optimalizuj WordPress databázu, použi parameter _fields |
| Chýbajúce vlastné polia | Meta dáta nie sú vystavené | Použi pole meta_data na prístup k vlastným metám |
| Problémy so stránkovaním | Predvolená veľkosť stránky | Explicitne nastav parameter per_page (max 100) |
Odporúčané postupy
- Použi webhooky pre synchronizáciu v reálnom čase - Nakonfiguruj webhooky WooCommerce namiesto pollovania API
- Overuj podpisy webhookov - Vždy validuj hlavičku
X-WC-Webhook-Signature - Stránkuj všetky požiadavky zoznamu - Použi parametre
pageaper_page; skontroluj hlavičkuX-WP-TotalPages - Použi parameter
_fields- Požaduj iba potrebné polia na zníženie veľkosti odpovede - Dávkové operácie - Použi dávkové endpointy pre hromadné operácie vytvárania/aktualizácie/mazania (až 100 položiek)
- Plánuj veľké synchronizácie - Spúšťaj počiatočné plné synchronizácie v hodinách mimo špičky
- Povol HTTPS - WooCommerce API vyžaduje HTTPS pre OAuth autentifikáciu
Bezpečnosť
- OAuth 1.0a - Bezpečná autentifikácia cez páry Consumer Key/Secret
- HMAC podpisy webhookov - Overenie podpisu SHA-256 pre prichádzajúce webhooky
- Vyžaduje HTTPS - API vyžaduje TLS šifrovanie pre autentifikáciu
- Scoping oprávnení - API kľúče je možné nastaviť na Read, Write alebo Read/Write
- Bezpečnosť WordPress - Využíva bezpečnostné aktualizácie jadra WordPress
- Úvahy o PCI - Platobné dáta spravujú platobné brány WooCommerce, nie sú vystavené cez API