Conector WooCommerce

Conector WooCommerce

Conectați magazinul WooCommerce la Brevo prin Tajo pentru sincronizarea completă a datelor de e-commerce. Valorificați REST API WooCommerce pentru a sincroniza clienți, comenzi, produse și date de cupoane pentru campanii de marketing targetate și fluxuri de lucru automatizate.

Prezentare generală

ProprietateValoare
PlatformăWooCommerce (WordPress)
CategorieE-commerce
Complexitate configurareMedie
Integrare oficialăNu
Date sincronizateClienți, Comenzi, Produse, Cupoane
Skilluri disponibile10

Funcționalități

  • Sincronizare clienți - Sincronizare în timp real a datelor clienților la contactele Brevo
  • Urmărire comenzi - Urmărire completă a evenimentelor de ciclu de viață al comenzilor pentru fluxuri post-cumpărare
  • Sincronizare catalog produse - Sincronizați produsele și variantele pentru recomandări în e-mail
  • Gestionare cupoane - Sincronizați codurile de cupon pentru campanii promoționale
  • Suport webhook - Actualizări în timp real prin webhook-urile WooCommerce
  • Recuperare coșuri abandonate - Urmăriți și recuperați coșurile abandonate
  • Suport multi-site - Conectați instalările WordPress multisite WooCommerce
  • Câmpuri meta personalizate - Mapați meta-urile personalizate WooCommerce la atributele Brevo

Cerințe preliminare

Înainte de a începe, asigurați-vă că aveți:

  1. Un site WordPress cu plugin-ul WooCommerce instalat și activat
  2. REST API WooCommerce activat (Settings > Advanced > REST API)
  3. Consumer Key și Consumer Secret generate
  4. Site-ul dvs. trebuie să utilizeze HTTPS pentru autentificarea API
  5. Un cont Brevo cu acces API
  6. Un cont Tajo cu credențiale API

Autentificare

Chei REST API

WooCommerce utilizează perechi Consumer Key și Consumer Secret pentru autentificare. Generați-le în WooCommerce > Settings > Advanced > REST API.

OAuth 1.0a (Site-uri HTTPS)

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

Autentificare prin șir de interogare (HTTPS)

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

Niveluri de permisiuni

PermisiuneAcces
CitireVizualizare resurse
ScriereCreare și editare resurse
Citire/ScriereAcces CRUD complet

Configurare

Configurare de bază

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

Mapare câmpuri clienți

Mapați câmpurile clienților WooCommerce la atributele 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

Configurare webhook

Înregistrați webhook-uri în 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"

Puncte finale API

MetodăPunct finalDescriere
GET/wc/v3/customersListează clienții
POST/wc/v3/customersCreează un client
GET/wc/v3/customers/{id}Obține un client
PUT/wc/v3/customers/{id}Actualizează un client
GET/wc/v3/ordersListează comenzile
POST/wc/v3/ordersCreează o comandă
GET/wc/v3/orders/{id}Obține o comandă
GET/wc/v3/productsListează produsele
GET/wc/v3/products/{id}Obține un produs
GET/wc/v3/products/{id}/variationsListează variantele produsului
GET/wc/v3/couponsListează cupoanele
GET/wc/v3/reports/salesObține rapoarte de vânzări
GET/wc/v3/reports/top_sellersObține cei mai bine vânduți
POST/wc/v3/webhooksCreează un webhook

Exemple de cod

Inițializare conector 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
});

Preluare și sincronizare clienți

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

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

Operații în lot

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

Limite de rată

WooCommerce în sine nu aplică limite de rată API, dar serverul WordPress de bază și furnizorul de hosting pot impune limite:

FactorLimită tipicăDetalii
Hosting partajat50-100 cereri/minVariază după host
Hosting WP gestionat200-500 cereri/minWP Engine, Kinsta, etc.
Self-hostedFără limită fixăLimitat de resursele serverului
Per paginăMaximum 100 înregistrăriImplicit este 10
Operații în lot100 articole/lotCreare, actualizare sau ștergere

Performanță server

Magazinele WooCommerce mari pot experimenta răspunsuri API lente. Utilizați paginare, limitați câmpurile cu parametrul _fields și programați sincronizările în bloc în orele de vârf redus.

Depanare

ProblemăCauzăSoluție
401 NeautorizatChei API invalideRegenerați Consumer Key/Secret în setările WooCommerce
403 InterzisPermisiuni insuficienteSetați cheia API la acces Read/Write
Erori certificat SSLSSL invalid pe siteAsigurați certificat SSL valid; setați verify_ssl: false doar pentru testare
Webhook-urile nu se executăWordPress cron dezactivatActivați WP-Cron sau configurați cron la nivel de server
Răspunsuri API lenteBază de date mareOptimizați baza de date WordPress, utilizați parametrul _fields
Câmpuri personalizate lipsăMeta date neexpuseUtilizați câmpul meta_data pentru a accesa meta-urile personalizate
Probleme de paginareDimensiune pagină implicităSetați explicit parametrul per_page (max 100)

Bune practici

  1. Utilizați webhook-uri pentru sincronizare în timp real - Configurați webhook-urile WooCommerce în loc de polling-ul API
  2. Verificați semnăturile webhook - Validați întotdeauna antetul X-WC-Webhook-Signature
  3. Paginați toate cererile de listare - Utilizați parametrii page și per_page; verificați antetul X-WP-TotalPages
  4. Utilizați parametrul _fields - Solicitați doar câmpurile necesare pentru a reduce dimensiunea răspunsului și a îmbunătăți performanța
  5. Operații în lot - Utilizați punctele finale batch pentru operații create/update/delete în bloc (până la 100 articole)
  6. Programați sincronizările mari - Rulați sincronizările complete inițiale în orele de vârf redus pentru a evita supraîncărcarea serverului
  7. Activați HTTPS - API-ul WooCommerce necesită HTTPS pentru autentificarea OAuth

Securitate

  • OAuth 1.0a - Autentificare securizată prin perechi Consumer Key/Secret
  • Semnături HMAC webhook - Verificare semnătură SHA-256 pentru webhook-urile primite
  • HTTPS necesar - API-ul necesită criptare TLS pentru autentificare
  • Scop permisiuni - Cheile API pot fi setate la Citire, Scriere sau Citire/Scriere
  • Securitate WordPress - Beneficiază de actualizările de securitate ale nucleului WordPress
  • Considerații PCI - Datele de plată gestionate de gateway-urile de plată WooCommerce, neexpuse prin API

Resurse conexe

Subscribe to updates

developer-docs

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

Asistent AI

Bună! Întreabă-mă orice despre documentație.

Începe gratuit cu Brevo