---
title: "WooCommerce Konektor"
description: "Kompletan vodič za integraciju WooCommercea za sinkronizaciju kupaca, narudžbi, proizvoda i događaja košarice s Brevom putem Taja."
url: https://tajo.io/hr/docs/connectors/ecommerce/woocommerce/
markdown: https://tajo.io/hr/docs/connectors/ecommerce/woocommerce.md
lang: hr-HR
robots: noindex
---

Zatražite rani pristup

Unesite ime i poslovnu adresu e-pošte. Poslat ćemo vam poveznicu za potvrdu zahtjeva za pristup Taju.

# WooCommerce Konektor

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

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

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

| Svojstvo | Vrijednost |
| --- | --- |
| **Platforma** | WooCommerce (WordPress) |
| **Kategorija** | E-commerce |
| **Složenost postavljanja** | Srednje |
| **Službena integracija** | Ne |
| **Sinkronizirani podaci** | Kupci, Narudžbe, Proizvodi, Kuponi |
| **Dostupne vještine** | 10 |

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

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

#### Autentifikacija upitnim nizom (HTTPS)

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

### Razine dozvola

| Dozvola | Pristup |
| --- | --- |
| **Čitanje** | Samo pregled resursa |
| **Pisanje** | Kreiranje i uređivanje resursa |
| **Čitanje/Pisanje** | Puni CRUD pristup |

## Konfiguracija

### Osnovna konfiguracija

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

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

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

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

| Metoda | Krajnja točka | Opis |
| --- | --- | --- |
| `GET` | `/wc/v3/customers` | Popis kupaca |
| `POST` | `/wc/v3/customers` | Kreiraj kupca |
| `GET` | `/wc/v3/customers/{id}` | Dohvati kupca |
| `PUT` | `/wc/v3/customers/{id}` | Ažuriraj kupca |
| `GET` | `/wc/v3/orders` | Popis narudžbi |
| `POST` | `/wc/v3/orders` | Kreiraj narudžbu |
| `GET` | `/wc/v3/orders/{id}` | Dohvati narudžbu |
| `GET` | `/wc/v3/products` | Popis proizvoda |
| `GET` | `/wc/v3/products/{id}` | Dohvati proizvod |
| `GET` | `/wc/v3/products/{id}/variations` | Popis varijacija proizvoda |
| `GET` | `/wc/v3/coupons` | Popis kupona |
| `GET` | `/wc/v3/reports/sales` | Dohvati izvješća o prodaji |
| `GET` | `/wc/v3/reports/top_sellers` | Dohvati najprodavanije |
| `POST` | `/wc/v3/webhooks` | Kreiraj webhook |

## Primjeri 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
});

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

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

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

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

| Faktor | Tipično ograničenje | Detalji |
| --- | --- | --- |
| **Dijeljeni hosting** | 50-100 zah./min | Ovisi o hostu |
| **Upravljani WP hosting** | 200-500 zah./min | WP Engine, Kinsta, itd. |
| **Self-hosted** | Bez tvrdog ograničenja | Ograničeno resursima servera |
| **Po stranici** | Maks. 100 zapisa | Zadano je 10 |
| **Skupne operacije** | 100 stavki/skupno | Kreiranje, 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

| Problem | Uzrok | Rješenje |
| --- | --- | --- |
| `401 Unauthorized` | Nevažeći API ključevi | Regenerirajte Consumer Key/Secret u WooCommerce postavkama |
| `403 Forbidden` | Nedovoljne dozvole | Postavite API ključ na pristup Čitanje/Pisanje |
| Greške SSL certifikata | Nevažeći SSL na stranici | Osigurajte valjani SSL certifikat; postavite `verify_ssl: false` samo za testiranje |
| Webhookovi se ne pokreću | WordPress cron onemogućen | Omogućite WP-Cron ili konfigurirajte cron na razini servera |
| Spori API odgovori | Velika baza podataka | Optimizirajte WordPress bazu podataka, koristite parametar `_fields` |
| Nedostaju prilagođena polja | Meta podaci nisu izloženi | Koristite polje `meta_data` za pristup prilagođenim meta podacima |
| Problemi s paginacijom | Zadana veličina stranice | Eksplicitno 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

- [Shopify Konektor](https://tajo.io/hr/docs/connectors/ecommerce/shopify)
- [BigCommerce Konektor](https://tajo.io/hr/docs/connectors/ecommerce/bigcommerce)
- [Vještina sinkronizacije korisnika](https://tajo.io/hr/docs/skills/data-sync/customer-sync)
- [Vještina napuštene košarice](https://tajo.io/hr/docs/skills/email-marketing/abandoned-cart)
