WooCommerce Connector

WooCommerce Connector

Poveži svojo WooCommerce trgovino z Brevo prek Tajo za popolno sinhronizacijo podatkov e-trgovine. Izkoristi WooCommerce REST API za sinhronizacijo strank, naročil, izdelkov in kuponov za ciljne marketinške kampanje in avtomatizirane delovne tokove.

Pregled

LastnostVrednost
PlatformaWooCommerce (WordPress)
KategorijaE-commerce
Zahtevnost nastavitveSrednja
Uradna integracijaNe
Sinhronizirani podatkiStranke, naročila, izdelki, kuponi
Razpoložljivi Skills10

Funkcionalnosti

  • Sinhronizacija strank – sinhronizacija podatkov strank v stike Brevo v realnem času
  • Sledenje naročilom – popolno sledenje življenjskemu ciklu naročila za tokove po nakupu
  • Sinhronizacija kataloga izdelkov – sinhronizacija izdelkov in variacij za priporočila v e-mailih
  • Upravljanje kuponov – sinhronizacija kuponskih kod za promocijske kampanje
  • Podpora za webhooke – posodobitve v realnem času prek WooCommerce webhookov
  • Opuščanje košarice – sledi in obnovi zapuščene košarice
  • Podpora za več spletnih mest – poveži namestitve WordPress multisite WooCommerce
  • Meta polja po meri – preslikaj WooCommerce meta polja po meri v atribute Brevo

Predpogoji

Preden začneš, se prepričaj, da imaš:

  1. WordPress stran z nameščenim in aktiviranim vtičnikom WooCommerce
  2. Omogočen WooCommerce REST API (Settings > Advanced > REST API)
  3. Generirani API Consumer Key in Consumer Secret
  4. Tvoja stran mora uporabljati HTTPS za API avtentikacijo
  5. Brevo račun z dostopom do API
  6. Tajo račun z API poverilnicami

Avtentikacija

REST API ključi

WooCommerce uporablja pare Consumer Key in Consumer Secret za avtentikacijo. Generiraj jih v WooCommerce > Settings > Advanced > REST API.

OAuth 1.0a (HTTPS strani)

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

Avtentikacija prek poizvedbenega niza (HTTPS)

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

Ravni dovoljenj

DovoljenjeDostop
ReadSamo pregled virov
WriteUstvarjanje in urejanje virov
Read/WritePoln CRUD dostop

Konfiguracija

Osnovna nastavitev

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

Preslikava polj strank

Preslikaj polja strank WooCommerce v atribute 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

Konfiguracija webhookov

Registriraj webhooke 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 končne točke

MetodaKončna točkaOpis
GET/wc/v3/customersSeznam strank
POST/wc/v3/customersUstvari stranko
GET/wc/v3/customers/{id}Pridobi stranko
PUT/wc/v3/customers/{id}Posodobi stranko
GET/wc/v3/ordersSeznam naročil
POST/wc/v3/ordersUstvari naročilo
GET/wc/v3/orders/{id}Pridobi naročilo
GET/wc/v3/productsSeznam izdelkov
GET/wc/v3/products/{id}Pridobi izdelek
GET/wc/v3/products/{id}/variationsSeznam variacij izdelka
GET/wc/v3/couponsSeznam kuponov
GET/wc/v3/reports/salesPridobi prodajna poročila
GET/wc/v3/reports/top_sellersPridobi najboljše prodajalce
POST/wc/v3/webhooksUstvari webhook

Primeri kode

Inicializacija WooCommerce konektorja

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

Pridobivanje in sinhronizacija strank

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

Obravnava dogodkov webhook

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

Paketne operacije

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

Omejitve zahtevkov

WooCommerce sam ne uveljavlja API omejitev, lahko pa jih omeji WordPress strežnik in gostitelj:

DejavnikTipična omejitevPodrobnosti
Deljeno gostovanje50–100 zahtevkov/minOdvisno od gostitelja
Upravljano WP gostovanje200–500 zahtevkov/minWP Engine, Kinsta itd.
Lastno gostovanjeNi trde omejitveOmejeno z viri strežnika
Na stranNajveč 100 zapisovPrivzeto 10
Paketne operacije100 elementov/paketUstvari, posodobi ali izbriši

Zmogljivost strežnika

Velike trgovine WooCommerce lahko imajo počasne API odzive. Uporabi paginacijo, omeji polja s parametrom _fields in načrtuj množične sinhronizacije izven konic.

Odpravljanje težav

TežavaVzrokRešitev
401 UnauthorizedNeveljavni API ključiRegeneriraj Consumer Key/Secret v nastavitvah WooCommerce
403 ForbiddenNezadostna dovoljenjaNastavi API ključ na Read/Write dostop
Napake SSL certifikataNeveljaven SSL na straniZagotovi veljaven SSL certifikat; nastavi verify_ssl: false samo za testiranje
Webhooki se ne sprožijoOnemogočen WordPress cronOmogoči WP-Cron ali nastavi cron na ravni strežnika
Počasni API odziviVelika baza podatkovOptimiziraj WordPress bazo, uporabi parameter _fields
Manjkajo polja po meriMeta podatki niso izpostavljeniUporabi polje meta_data za dostop do meta po meri
Težave s paginacijoPrivzeta velikost straniEksplicitno nastavi parameter per_page (največ 100)

Najboljše prakse

  1. Uporabljaj webhooke za sinhronizacijo v realnem času – nastavi WooCommerce webhooke namesto poizvedovanja API
  2. Preveri podpise webhookov – vedno potrdi glavo X-WC-Webhook-Signature
  3. Paginaj vse zahteve seznamov – uporabi parametra page in per_page; preveri glavo X-WP-TotalPages
  4. Uporabi parameter _fields – zahtevaj samo potrebna polja za manjše odgovore in boljšo zmogljivost
  5. Paketne operacije – uporabi paketne končne točke za množično ustvarjanje/posodabljanje/brisanje (do 100 elementov)
  6. Načrtuj velike sinhronizacije – začetne polne sinhronizacije izvajaj izven konic, da preprečiš obremenitev strežnika
  7. Omogoči HTTPS – WooCommerce API za OAuth avtentikacijo zahteva HTTPS

Varnost

  • OAuth 1.0a – varna avtentikacija prek parov Consumer Key/Secret
  • HMAC podpisi webhook – preverjanje SHA-256 podpisov za prihajajoče webhooke
  • HTTPS obvezen – API zahteva TLS šifriranje za avtentikacijo
  • Obsegana dovoljenja – API ključi so lahko nastavljeni na Read, Write ali Read/Write
  • Varnost WordPress – koristi varnostne posodobitve jedra WordPress
  • PCI premisleki – plačilne podatke obravnavajo plačilni prehodi WooCommerce, niso izpostavljeni prek API

Povezani viri

Subscribe to updates

developer-docs

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

AI pomočnik

Živjo! Vprašajte me o dokumentaciji.

Začnite brezplačno z Brevo