---
title: "Conector WooCommerce"
description: "Ghid complet de integrare WooCommerce pentru sincronizarea clienților, comenzilor, produselor și evenimentelor de coș cu Brevo prin Tajo."
url: https://tajo.io/ro/docs/connectors/ecommerce/woocommerce/
markdown: https://tajo.io/ro/docs/connectors/ecommerce/woocommerce.md
lang: ro-RO
robots: noindex
---

Solicită acces anticipat

Introduceți prenumele și adresa de e-mail profesională. Vă vom trimite un link pentru a confirma cererea de acces la Tajo.

# Conector WooCommerce

Starea conectorului: În lucru În construcție. Încă neverificat.

| Câmp sursă | Câmp destinație | Valoare exemplu |
| --- | --- | --- |
| `record.id` | `source_id` | `record_1042` |
| `record.updated_at` | `updated_at` | `2026-10-18T08:00:00Z` |
| `record.value` | `value` | `sample_value` |

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ă

| Proprietate | Valoare |
| --- | --- |
| **Platformă** | WooCommerce (WordPress) |
| **Categorie** | E-commerce |
| **Complexitate configurare** | Medie |
| **Integrare oficială** | Nu |
| **Date sincronizate** | Clienți, Comenzi, Produse, Cupoane |
| **Skilluri disponibile** | 10 |

## 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)

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

#### Autentificare prin șir de interogare (HTTPS)

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

### Niveluri de permisiuni

| Permisiune | Acces |
| --- | --- |
| **Citire** | Vizualizare resurse |
| **Scriere** | Creare și editare resurse |
| **Citire/Scriere** | Acces CRUD complet |

## Configurare

### Configurare de bază

```yaml
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:

```yaml
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:

```yaml
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 final | Descriere |
| --- | --- | --- |
| `GET` | `/wc/v3/customers` | Listează clienții |
| `POST` | `/wc/v3/customers` | Creează un client |
| `GET` | `/wc/v3/customers/{id}` | Obține un client |
| `PUT` | `/wc/v3/customers/{id}` | Actualizează un client |
| `GET` | `/wc/v3/orders` | Listează comenzile |
| `POST` | `/wc/v3/orders` | Creează o comandă |
| `GET` | `/wc/v3/orders/{id}` | Obține o comandă |
| `GET` | `/wc/v3/products` | Listează produsele |
| `GET` | `/wc/v3/products/{id}` | Obține un produs |
| `GET` | `/wc/v3/products/{id}/variations` | Listează variantele produsului |
| `GET` | `/wc/v3/coupons` | Listează cupoanele |
| `GET` | `/wc/v3/reports/sales` | Obține rapoarte de vânzări |
| `GET` | `/wc/v3/reports/top_sellers` | Obține cei mai bine vânduți |
| `POST` | `/wc/v3/webhooks` | Creează un webhook |

## Exemple de cod

### Inițializare conector WooCommerce

```javascript
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

```javascript
// 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

```javascript
// 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

```javascript
// 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:

| Factor | Limită tipică | Detalii |
| --- | --- | --- |
| **Hosting partajat** | 50-100 cereri/min | Variază după host |
| **Hosting WP gestionat** | 200-500 cereri/min | WP Engine, Kinsta, etc. |
| **Self-hosted** | Fără limită fixă | Limitat de resursele serverului |
| **Per pagină** | Maximum 100 înregistrări | Implicit este 10 |
| **Operații în lot** | 100 articole/lot | Creare, 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 Neautorizat` | Chei API invalide | Regenerați Consumer Key/Secret în setările WooCommerce |
| `403 Interzis` | Permisiuni insuficiente | Setați cheia API la acces Read/Write |
| Erori certificat SSL | SSL invalid pe site | Asigurați certificat SSL valid; setați `verify_ssl: false` doar pentru testare |
| Webhook-urile nu se execută | WordPress cron dezactivat | Activați WP-Cron sau configurați cron la nivel de server |
| Răspunsuri API lente | Bază de date mare | Optimizați baza de date WordPress, utilizați parametrul `_fields` |
| Câmpuri personalizate lipsă | Meta date neexpuse | Utilizați câmpul `meta_data` pentru a accesa meta-urile personalizate |
| Probleme de paginare | Dimensiune 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

- [Conector Shopify](https://tajo.io/ro/docs/connectors/ecommerce/shopify)
- [Conector BigCommerce](https://tajo.io/ro/docs/connectors/ecommerce/bigcommerce)
- [Skill Sincronizare clienți](https://tajo.io/ro/docs/skills/data-sync/customer-sync)
- [Skill Coș abandonat](https://tajo.io/ro/docs/skills/email-marketing/abandoned-cart)
