WooCommerce Konektor

WooCommerce Konektor

Povežite svoju WooCommerce trgovinu s Brevom putem Taja za potpunu sinkronizaciju e-commerce podataka. Iskoristite WooCommerce REST API za sinkronizaciju kupaca, narudžbi, proizvoda i podataka o kuponima za ciljane marketinške kampanje i automatizirane tijekove rada.

Pregled

SvojstvoVrijednost
PlatformaWooCommerce (WordPress)
KategorijaE-commerce
Složenost postavljanjaSrednje
Službena integracijaNe
Sinkronizirani podaciKupci, Narudžbe, Proizvodi, Kuponi
Dostupne vještine10

Značajke

  • Sinkronizacija kupaca - Sinkronizacija podataka o kupcima u stvarnom vremenu s Brevo kontaktima
  • Praćenje narudžbi - Potpuno praćenje životnog ciklusa narudžbi za tokove nakon kupnje
  • Sinkronizacija kataloga proizvoda - Sinkronizacija proizvoda i varijacija za e-mail preporuke
  • Upravljanje kuponima - Sinkronizacija kodova kupona za promotivne kampanje
  • Podrška za webhookove - Ažuriranja u stvarnom vremenu putem WooCommerce webhookova
  • Napuštanje košarice - Praćenje i oporavak napuštenih košarica
  • Podrška za više stranica - Povežite WordPress multisite WooCommerce instalacije
  • Prilagođena meta polja - Mapiranje WooCommerce prilagođenih meta polja na Brevo atribute

Preduvjeti

Prije nego što počnete, osigurajte da imate:

  1. WordPress stranicu s instaliranim i aktiviranim WooCommerce dodatkom
  2. Omogućeni WooCommerce REST API (Postavke > Napredno > REST API)
  3. Generirani API Consumer Key i Consumer Secret
  4. Vaša stranica mora koristiti HTTPS za API autentifikaciju
  5. Brevo račun s API pristupom
  6. Tajo račun s API vjerodajnicama

Autentifikacija

REST API ključevi

WooCommerce koristi parove Consumer Key i Consumer Secret za autentifikaciju. Generirajte ih u WooCommerce > Postavke > Napredno > REST API.

OAuth 1.0a (HTTPS stranice)

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

Autentifikacija upitnim nizom (HTTPS)

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

Razine dozvola

DozvolaPristup
ČitanjeSamo pregled resursa
PisanjeKreiranje i uređivanje resursa
Čitanje/PisanjePuni CRUD pristup

Konfiguracija

Osnovna konfiguracija

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
# Opcije sinkronizacije podataka
sync:
customers: true
orders: true
products: true
coupons: true
# Dodjela Brevo popisa
lists:
all_customers: 50
buyers: 51
abandoned_cart: 52

Mapiranje polja kupaca

Mapirajte polja kupaca WooCommercea na Brevo atribute:

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 metrike (izračunate)
orders_count: ORDER_COUNT
total_spent: TOTAL_SPENT
date_created: SIGNUP_DATE
# Meta polja
meta_data.loyalty_points: LOYALTY_POINTS
meta_data.preferred_category: PREF_CATEGORY

Konfiguracija webhookova

Registrirajte webhookove u WooCommerce > Postavke > Napredno > Webhookovi:

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 krajnje točke

MetodaKrajnja točkaOpis
GET/wc/v3/customersPopis kupaca
POST/wc/v3/customersKreiraj kupca
GET/wc/v3/customers/{id}Dohvati kupca
PUT/wc/v3/customers/{id}Ažuriraj kupca
GET/wc/v3/ordersPopis narudžbi
POST/wc/v3/ordersKreiraj narudžbu
GET/wc/v3/orders/{id}Dohvati narudžbu
GET/wc/v3/productsPopis proizvoda
GET/wc/v3/products/{id}Dohvati proizvod
GET/wc/v3/products/{id}/variationsPopis varijacija proizvoda
GET/wc/v3/couponsPopis kupona
GET/wc/v3/reports/salesDohvati izvješća o prodaji
GET/wc/v3/reports/top_sellersDohvati najprodavanije
POST/wc/v3/webhooksKreiraj webhook

Primjeri koda

Inicijalizacija WooCommerce konektora

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

Dohvaćanje i sinkronizacija kupaca

// Dohvatite kupce koristeći 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'
});
// Popis kupaca s paginacijom
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, ... }]
// Informacije o paginaciji iz zaglavlja
const totalPages = response.headers['x-wp-totalpages'];
const totalItems = response.headers['x-wp-total'];

Rukovanje webhook događajima

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

Skupne operacije

// Skupno kreiranje, ažuriranje i brisanje proizvoda
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]
});

Ograničenja brzine

WooCommerce sam po sebi ne primjenjuje ograničenja brzine API-ja, ali temeljni WordPress server i pružatelj hostinga mogu nametati ograničenja:

FaktorTipično ograničenjeDetalji
Dijeljeni hosting50-100 zah./minOvisi o hostu
Upravljani WP hosting200-500 zah./minWP Engine, Kinsta, itd.
Self-hostedBez tvrdog ograničenjaOgraničeno resursima servera
Po straniciMaks. 100 zapisaZadano je 10
Skupne operacije100 stavki/skupnoKreiranje, ažuriranje ili brisanje

Performanse servera

Velike WooCommerce trgovine mogu doživjeti spore API odgovore. Koristite paginaciju, ograničite polja parametrom _fields i rasporedite skupne sinkronizacije izvan vršnih sati.

Rješavanje problema

ProblemUzrokRješenje
401 UnauthorizedNevažeći API ključeviRegenerirajte Consumer Key/Secret u WooCommerce postavkama
403 ForbiddenNedovoljne dozvolePostavite API ključ na pristup Čitanje/Pisanje
Greške SSL certifikataNevažeći SSL na straniciOsigurajte valjani SSL certifikat; postavite verify_ssl: false samo za testiranje
Webhookovi se ne pokrećuWordPress cron onemogućenOmogućite WP-Cron ili konfigurirajte cron na razini servera
Spori API odgovoriVelika baza podatakaOptimizirajte WordPress bazu podataka, koristite parametar _fields
Nedostaju prilagođena poljaMeta podaci nisu izloženiKoristite polje meta_data za pristup prilagođenim meta podacima
Problemi s paginacijomZadana veličina straniceEksplicitno postavite parametar per_page (maks. 100)

Preporučene prakse

  1. Koristite webhookove za sinkronizaciju u stvarnom vremenu - Konfigurirajte WooCommerce webhookove umjesto anketiranja API-ja
  2. Verificirajte potpise webhookova - Uvijek validirajte zaglavlje X-WC-Webhook-Signature
  3. Paginirajte sve zahtjeve za popise - Koristite parametre page i per_page; provjerite zaglavlje X-WP-TotalPages
  4. Koristite parametar _fields - Zatražite samo potrebna polja za smanjenje veličine odgovora i poboljšanje performansi
  5. Skupne operacije - Koristite skupne krajnje točke za skupne operacije kreiranja/ažuriranja/brisanja (do 100 stavki)
  6. Rasporedite velike sinkronizacije - Pokrenite početne potpune sinkronizacije izvan vršnih sati kako biste izbjegli opterećenje servera
  7. Omogućite HTTPS - WooCommerce API zahtijeva HTTPS za OAuth autentifikaciju

Sigurnost

  • OAuth 1.0a - Sigurna autentifikacija putem parova Consumer Key/Secret
  • HMAC potpisi webhookova - Verifikacija SHA-256 potpisa za dolazne webhookove
  • HTTPS obavezno - API zahtijeva TLS šifriranje za autentifikaciju
  • Opsežavanje dozvola - API ključevi mogu se postaviti na Čitanje, Pisanje ili Čitanje/Pisanje
  • WordPress sigurnost - Koristi od sigurnosnih ažuriranja WordPress jezgre
  • PCI razmatranja - Podaci o plaćanju koje obrađuju WooCommerce platni prolazi, ne izloženi putem API-ja

Povezani resursi

Subscribe to updates

developer-docs

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

AI asistent

Bok! Pitajte me o dokumentaciji.

Započnite besplatno s Brevo