---
title: "WooCommerce konektor"
description: "Kompletan vodič za WooCommerce integraciju za sinhronizaciju kupaca, porudžbina, proizvoda i događaja iz korpe sa Brevo preko Tajo."
url: https://tajo.io/sr/docs/connectors/ecommerce/woocommerce/
markdown: https://tajo.io/sr/docs/connectors/ecommerce/woocommerce.md
lang: sr-Latn-RS
robots: noindex
---

Zatražite rani pristup

Unesite ime i poslovnu adresu e-pošte. Poslaćemo vam vezu za potvrdu zahteva za pristup Taju.

# WooCommerce konektor

Status konektora: U izradi Gradi se. Još nije provereno.

| Izvorno polje | Odredišno polje | Primer vrednosti |
| --- | --- | --- |
| `record.id` | `source_id` | `record_1042` |
| `record.updated_at` | `updated_at` | `2026-10-18T08:00:00Z` |
| `record.value` | `value` | `sample_value` |

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

| Svojstvo | Vrednost |
| --- | --- |
| **Platforma** | WooCommerce (WordPress) |
| **Kategorija** | E-commerce |
| **Složenost podešavanja** | Srednja |
| **Zvanična integracija** | Ne |
| **Sinhronizovani podaci** | Kupci, porudžbine, proizvodi, kuponi |
| **Dostupne veštine** | 10 |

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

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

#### Autentifikacija preko Query String-a (HTTPS)

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

### Nivoi dozvola

| Dozvola | Pristup |
| --- | --- |
| **Read** | Samo pregled resursa |
| **Write** | Kreiranje i izmena resursa |
| **Read/Write** | Potpun CRUD pristup |

## Konfiguracija

### Osnovno podešavanje

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

### Mapiranje polja kupca

Mapiraj WooCommerce polja kupca na Brevo atribute:

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

### Konfiguracija webhook-a

Registruj webhook-ove u 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"
```

## API endpoint-i

| Metoda | Endpoint | Opis |
| --- | --- | --- |
| `GET` | `/wc/v3/customers` | Lista kupaca |
| `POST` | `/wc/v3/customers` | Kreiraj kupca |
| `GET` | `/wc/v3/customers/{id}` | Preuzmi kupca |
| `PUT` | `/wc/v3/customers/{id}` | Ažuriraj kupca |
| `GET` | `/wc/v3/orders` | Lista porudžbina |
| `POST` | `/wc/v3/orders` | Kreiraj porudžbinu |
| `GET` | `/wc/v3/orders/{id}` | Preuzmi porudžbinu |
| `GET` | `/wc/v3/products` | Lista proizvoda |
| `GET` | `/wc/v3/products/{id}` | Preuzmi proizvod |
| `GET` | `/wc/v3/products/{id}/variations` | Lista varijacija proizvoda |
| `GET` | `/wc/v3/coupons` | Lista kupona |
| `GET` | `/wc/v3/reports/sales` | Preuzmi izveštaje o prodaji |
| `GET` | `/wc/v3/reports/top_sellers` | Preuzmi najprodavanije |
| `POST` | `/wc/v3/webhooks` | Kreiraj webhook |

## Primeri koda

### Inicijalizacija WooCommerce konektora

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

### Preuzimanje i sinhronizacija kupaca

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

### Obrada webhook događaja

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

### Batch operacije

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

## Ograničenja stope

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

| Faktor | Tipičan limit | Detalji |
| --- | --- | --- |
| **Shared hosting** | 50-100 zahteva/min | Varira po hostu |
| **Managed WP hosting** | 200-500 zahteva/min | WP Engine, Kinsta, itd. |
| **Self-hosted** | Bez čvrstog limita | Ograničeno resursima servera |
| **Po stranici** | Najviše 100 zapisa | Podrazumevano je 10 |
| **Batch operacije** | 100 stavki/batch | Kreiraj, 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

| Problem | Uzrok | Rešenje |
| --- | --- | --- |
| `401 Unauthorized` | Neispravni API ključevi | Regeneriši Consumer Key/Secret u WooCommerce podešavanjima |
| `403 Forbidden` | Nedovoljne dozvole | Postavi API ključ na Read/Write pristup |
| SSL sertifikatske greške | Neispravan SSL na sajtu | Obezbedi validan SSL sertifikat; postavi `verify_ssl: false` samo za testiranje |
| Webhook-ovi se ne okidaju | WordPress cron onemogućen | Uključi WP-Cron ili konfiguriši cron na nivou servera |
| Spori API odgovori | Velika baza podataka | Optimizuj WordPress bazu, koristi `_fields` parametar |
| Nedostaju prilagođena polja | Meta podaci nisu izloženi | Koristi `meta_data` polje za pristup prilagođenim meta podacima |
| Problemi sa paginacijom | Podrazumevana veličina stranice | Eksplicitno 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

- [Shopify konektor](https://tajo.io/sr/docs/connectors/ecommerce/shopify)
- [BigCommerce konektor](https://tajo.io/sr/docs/connectors/ecommerce/bigcommerce)
- [Customer Sync veština](https://tajo.io/sr/docs/skills/data-sync/customer-sync)
- [Abandoned Cart veština](https://tajo.io/sr/docs/skills/email-marketing/abandoned-cart)
