WooCommerce konektor

WooCommerce konektor

Poveži svoju WooCommerce prodavnicu sa Brevo preko Tajo za kompletnu sinhronizaciju e-commerce podataka. Iskoristi WooCommerce REST API za sinhronizaciju kupaca, porudžbina, proizvoda i kupona za ciljane marketing kampanje i automatizovane tokove rada.

Pregled

SvojstvoVrednost
PlatformaWooCommerce (WordPress)
KategorijaE-commerce
Složenost podešavanjaSrednja
Zvanična integracijaNe
Sinhronizovani podaciKupci, porudžbine, proizvodi, kuponi
Dostupne veštine10

Karakteristike

  • Sinhronizacija kupaca - Sinhronizacija podataka o kupcima sa Brevo kontaktima u realnom vremenu
  • Praćenje porudžbina - Praćenje događaja kroz kompletan životni ciklus porudžbine za post-purchase tokove
  • Sinhronizacija kataloga proizvoda - Sinhronizuj proizvode i varijacije za preporuke u email-u
  • Upravljanje kuponima - Sinhronizuj kodove kupona za promotivne kampanje
  • Webhook podrška - Ažuriranja u realnom vremenu preko WooCommerce webhook-ova
  • Napuštanje korpe - Prati i oporavi napuštene korpe
  • Multi-site podrška - Poveži WordPress multisite WooCommerce instalacije
  • Prilagođena meta polja - Mapiraj WooCommerce prilagođene meta podatke na Brevo atribute

Preduslovi

Pre nego što započneš, proveri da imaš:

  1. WordPress sajt sa instaliranim i aktiviranim WooCommerce plugin-om
  2. Omogućen WooCommerce REST API (Settings > Advanced > REST API)
  3. Generisane API Consumer Key i Consumer Secret
  4. Tvoj sajt mora koristiti HTTPS za API autentifikaciju
  5. Brevo nalog sa API pristupom
  6. Tajo nalog sa API kredencijalima

Autentifikacija

REST API ključevi

WooCommerce koristi parove Consumer Key i Consumer Secret za autentifikaciju. Generiši ih u WooCommerce > Settings > Advanced > REST API.

OAuth 1.0a (HTTPS sajtovi)

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

Autentifikacija preko Query String-a (HTTPS)

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

Nivoi dozvola

DozvolaPristup
ReadSamo pregled resursa
WriteKreiranje i izmena resursa
Read/WritePotpun CRUD pristup

Konfiguracija

Osnovno podešavanje

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

Mapiranje polja kupca

Mapiraj WooCommerce polja kupca 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 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 webhook-a

Registruj webhook-ove u 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 endpoint-i

MetodaEndpointOpis
GET/wc/v3/customersLista kupaca
POST/wc/v3/customersKreiraj kupca
GET/wc/v3/customers/{id}Preuzmi kupca
PUT/wc/v3/customers/{id}Ažuriraj kupca
GET/wc/v3/ordersLista porudžbina
POST/wc/v3/ordersKreiraj porudžbinu
GET/wc/v3/orders/{id}Preuzmi porudžbinu
GET/wc/v3/productsLista proizvoda
GET/wc/v3/products/{id}Preuzmi proizvod
GET/wc/v3/products/{id}/variationsLista varijacija proizvoda
GET/wc/v3/couponsLista kupona
GET/wc/v3/reports/salesPreuzmi izveštaje o prodaji
GET/wc/v3/reports/top_sellersPreuzmi najprodavanije
POST/wc/v3/webhooksKreiraj webhook

Primeri 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
});
// Connect WooCommerce store
await tajo.connectors.connect('woocommerce', {
storeUrl: 'https://yourstore.com',
consumerKey: process.env.WC_CONSUMER_KEY,
consumerSecret: process.env.WC_CONSUMER_SECRET
});

Preuzimanje i sinhronizacija kupaca

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

Obrada webhook događaja

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

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

Ograničenja stope

WooCommerce sam po sebi ne primenjuje API limite, ali WordPress server i hosting provajder mogu nametnuti ograničenja:

FaktorTipičan limitDetalji
Shared hosting50-100 zahteva/minVarira po hostu
Managed WP hosting200-500 zahteva/minWP Engine, Kinsta, itd.
Self-hostedBez čvrstog limitaOgraničeno resursima servera
Po straniciNajviše 100 zapisaPodrazumevano je 10
Batch operacije100 stavki/batchKreiraj, ažuriraj ili obriši

Performanse servera

Velike WooCommerce prodavnice mogu doživeti spore API odgovore. Koristi paginaciju, ograniči polja parametrom _fields i zakaži masovne sinhronizacije van udarnih sati.

Rešavanje problema

ProblemUzrokRešenje
401 UnauthorizedNeispravni API ključeviRegeneriši Consumer Key/Secret u WooCommerce podešavanjima
403 ForbiddenNedovoljne dozvolePostavi API ključ na Read/Write pristup
SSL sertifikatske greškeNeispravan SSL na sajtuObezbedi validan SSL sertifikat; postavi verify_ssl: false samo za testiranje
Webhook-ovi se ne okidajuWordPress cron onemogućenUključi WP-Cron ili konfiguriši cron na nivou servera
Spori API odgovoriVelika baza podatakaOptimizuj WordPress bazu, koristi _fields parametar
Nedostaju prilagođena poljaMeta podaci nisu izloženiKoristi meta_data polje za pristup prilagođenim meta podacima
Problemi sa paginacijomPodrazumevana veličina straniceEksplicitno postavi per_page parametar (maks 100)

Najbolje prakse

  1. Koristi webhook-ove za sinhronizaciju u realnom vremenu - Konfiguriši WooCommerce webhook-ove umesto pollinga API-ja
  2. Verifikuj potpise webhook-ova - Uvek validiraj X-WC-Webhook-Signature header
  3. Paginiraj sve list zahteve - Koristi page i per_page parametre; proveri X-WP-TotalPages header
  4. Koristi _fields parametar - Traži samo potrebna polja da smanjiš veličinu odgovora i poboljšaš performanse
  5. Batch operacije - Koristi batch endpoint-e za masovno kreiranje/ažuriranje/brisanje (do 100 stavki)
  6. Zakaži velike sinhronizacije - Pokreni inicijalne pune sinhronizacije van udarnih sati da izbegneš opterećenje servera
  7. Uključi HTTPS - WooCommerce API zahteva HTTPS za OAuth autentifikaciju

Bezbednost

  • OAuth 1.0a - Bezbedna autentifikacija preko Consumer Key/Secret parova
  • HMAC potpisi webhook-ova - SHA-256 verifikacija potpisa za dolazne webhook-ove
  • Obavezan HTTPS - API zahteva TLS enkripciju za autentifikaciju
  • Skopiranje dozvola - API ključevi se mogu postaviti na Read, Write ili Read/Write
  • WordPress bezbednost - Koristi bezbednosna ažuriranja WordPress jezgra
  • PCI razmatranja - Podatke o plaćanju obrađuju WooCommerce payment gateway-ovi, ne izlažu se preko API-ja

Povezani resursi

Subscribe to updates

developer-docs

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

AI асистент

Здраво! Питајте ме о документацији.

Započnite besplatno sa Brevo