Konektor WooCommerce

Konektor WooCommerce

Propoj svůj WooCommerce obchod s Brevo přes Tajo pro kompletní synchronizaci e-commerce dat. Využij WooCommerce REST API k synchronizaci zákazníků, objednávek, produktů a slevových kupónů pro cílené marketingové kampaně a automatizované workflowy.

Přehled

VlastnostHodnota
PlatformaWooCommerce (WordPress)
KategorieE-commerce
Složitost nastaveníStřední
Oficiální integraceNe
Synchronizovaná dataZákazníci, Objednávky, Produkty, Kupóny
Dostupné skilly10

Funkce

  • Synchronizace zákazníků - Real-time synchronizace zákaznických dat do kontaktů Brevo
  • Sledování objednávek - Sledování celého životního cyklu objednávky pro post-purchase flow
  • Synchronizace katalogu produktů - Synchronizace produktů a variant pro doporučení v emailech
  • Správa kupónů - Synchronizace slevových kódů pro promo kampaně
  • Podpora webhooků - Aktualizace v reálném čase přes WooCommerce webhooky
  • Opuštěné košíky - Sledování a obnova opuštěných košíků
  • Multi-site podpora - Propojení WordPress multisite instalací s WooCommerce
  • Vlastní meta pole - Mapování WooCommerce vlastních meta dat na atributy Brevo

Předpoklady

Než začneš, ujisti se, že máš:

  1. WordPress stránku s nainstalovaným a aktivovaným WooCommerce pluginem
  2. Zapnuté WooCommerce REST API (Settings > Advanced > REST API)
  3. Vygenerovaný API Consumer Key a Consumer Secret
  4. Stránka musí používat HTTPS pro API autentizaci
  5. Brevo účet s API přístupem
  6. Tajo účet s API přihlašovacími údaji

Autentizace

REST API klíče

WooCommerce používá páry Consumer Key a Consumer Secret pro autentizaci. Vygeneruj je v WooCommerce > Settings > Advanced > REST API.

OAuth 1.0a (HTTPS stránky)

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

Autentizace přes query string (HTTPS)

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

Úrovně oprávnění

OprávněníPřístup
ReadPouze zobrazení prostředků
WriteVytvoření a úprava prostředků
Read/WritePlný CRUD přístup

Konfigurace

Základní nastavení

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

Mapování polí zákazníků

Namapuj WooCommerce pole zákazníků na atributy 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

Konfigurace webhooků

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

MetodaEndpointPopis
GET/wc/v3/customersSeznam zákazníků
POST/wc/v3/customersVytvoření zákazníka
GET/wc/v3/customers/{id}Získání zákazníka
PUT/wc/v3/customers/{id}Aktualizace zákazníka
GET/wc/v3/ordersSeznam objednávek
POST/wc/v3/ordersVytvoření objednávky
GET/wc/v3/orders/{id}Získání objednávky
GET/wc/v3/productsSeznam produktů
GET/wc/v3/products/{id}Získání produktu
GET/wc/v3/products/{id}/variationsSeznam variant produktu
GET/wc/v3/couponsSeznam kupónů
GET/wc/v3/reports/salesReporty prodejů
GET/wc/v3/reports/top_sellersNejprodávanější produkty
POST/wc/v3/webhooksVytvoření webhooku

Příklady kódu

Inicializace konektoru 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
});

Načtení a synchronizace zákazníků

// 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'];

Zpracování událostí webhooku

// 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');
});

Dávkové operace

// 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]
});

Rate limity

WooCommerce sám o sobě nevynucuje API rate limity, ale podkladový WordPress server a hosting mohou uplatnit vlastní limity:

FaktorTypický limitDetaily
Shared hosting50-100 req/minLiší se dle hostingu
Managed WP hosting200-500 req/minWP Engine, Kinsta atd.
Self-hostedBez pevného limituOmezeno zdroji serveru
Na stránkuMax 100 záznamůVýchozí je 10
Dávkové operace100 položek/dávkaVytvoření, úprava nebo smazání

Výkon serveru

Velké WooCommerce obchody mohou mít pomalé API odpovědi. Použij stránkování, omez pole parametrem _fields a plánuj hromadné synchronizace mimo špičku.

Řešení problémů

ProblémPříčinaŘešení
401 UnauthorizedNeplatné API klíčeZnovu vygeneruj Consumer Key/Secret v nastavení WooCommerce
403 ForbiddenNedostatečná oprávněníNastav API klíč na Read/Write přístup
Chyby SSL certifikátuNeplatný SSL na stránceZajisti platný SSL certifikát; pro testování nastav verify_ssl: false
Webhooky nestřílíVypnutý WordPress cronPovol WP-Cron nebo nakonfiguruj cron na úrovni serveru
Pomalé API odpovědiVelká databázeOptimalizuj WordPress databázi, použij parametr _fields
Chybí vlastní poleMeta data nejsou vystavenaPro přístup k vlastním meta použij pole meta_data
Problémy se stránkovánímVýchozí velikost stránkyExplicitně nastav parametr per_page (max 100)

Best practices

  1. Pro real-time synchronizaci používej webhooky - Nakonfiguruj WooCommerce webhooky místo pollování API
  2. Ověřuj podpisy webhooků - Vždy validuj hlavičku X-WC-Webhook-Signature
  3. Stránkuj všechny list requesty - Používej parametry page a per_page; kontroluj hlavičku X-WP-TotalPages
  4. Používej parametr _fields - Žádej jen potřebná pole pro zmenšení odpovědi a lepší výkon
  5. Dávkové operace - Používej batch endpointy pro hromadné create/update/delete operace (až 100 položek)
  6. Plánuj velké synchronizace - Úvodní plné synchronizace pouštěj mimo špičku, abys nezatížil server
  7. Zapni HTTPS - WooCommerce API vyžaduje HTTPS pro OAuth autentizaci

Bezpečnost

  • OAuth 1.0a - Bezpečná autentizace přes páry Consumer Key/Secret
  • HMAC podpisy webhooků - SHA-256 verifikace podpisu pro příchozí webhooky
  • Vyžadováno HTTPS - API vyžaduje TLS šifrování pro autentizaci
  • Rozsahy oprávnění - API klíče lze nastavit na Read, Write nebo Read/Write
  • Bezpečnost WordPressu - Profituje z bezpečnostních aktualizací WordPress jádra
  • PCI úvahy - Platební data zpracovávají platební brány WooCommerce, nejsou vystavena přes API

Související zdroje

Subscribe to updates

developer-docs

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

AI asistent

Ahoj! Zeptejte se mě na dokumentaci.

Začněte zdarma s Brevo