---
title: "WooCommerce конектор"
description: "Пълно ръководство за интеграция с WooCommerce за синхронизация на клиенти, поръчки, продукти и събития от кошницата с Brevo през Tajo."
url: https://tajo.io/bg/docs/connectors/ecommerce/woocommerce/
markdown: https://tajo.io/bg/docs/connectors/ecommerce/woocommerce.md
lang: bg-BG
robots: noindex
---

Заявете ранен достъп

Въведете собственото си име и служебен имейл адрес. Ще ви изпратим връзка за потвърждение на заявката за достъп до Tajo.

# WooCommerce конектор

Статус на конектора: В разработка В процес на изграждане. Все още не е проверен.

| Поле източник | Целево поле | Примерна стойност |
| --- | --- | --- |
| `record.id` | `source_id` | `record_1042` |
| `record.updated_at` | `updated_at` | `2026-10-18T08:00:00Z` |
| `record.value` | `value` | `sample_value` |

Свържи магазина си в WooCommerce с Brevo през Tajo за пълна синхронизация на e-commerce данни. Използвай WooCommerce REST API, за да синхронизираш клиенти, поръчки, продукти и купони за таргетирани маркетингови кампании и автоматизирани работни потоци.

## Преглед

| Свойство | Стойност |
| --- | --- |
| **Платформа** | WooCommerce (WordPress) |
| **Категория** | E-commerce |
| **Сложност на настройка** | Средна |
| **Официална интеграция** | Не |
| **Синхронизирани данни** | Клиенти, поръчки, продукти, купони |
| **Налични скилове** | 10 |

## Функции

- **Синхронизация на клиенти** – Синхронизация на клиентски данни в реално време към контактите в Brevo
- **Проследяване на поръчки** – Пълно проследяване на събития от жизнения цикъл на поръчките за потоци след покупка
- **Синхронизация на продуктов каталог** – Синхронизирай продукти и вариации за имейл препоръки
- **Управление на купони** – Синхронизирай кодове за купони за промоционални кампании
- **Поддръжка на уебхуци** – Обновления в реално време чрез уебхуците на WooCommerce
- **Изоставена кошница** – Проследяване и възстановяване на изоставени кошници
- **Поддръжка на multi-site** – Свързване на WordPress multisite WooCommerce инсталации
- **Персонализирани meta полета** – Мапвай персонализирани meta данни в WooCommerce към атрибути в Brevo

## Предварителни условия

Преди да започнеш, увери се, че имаш:

1. WordPress сайт с инсталиран и активиран WooCommerce плъгин
2. Активиран WooCommerce REST API (Settings > Advanced > REST API)
3. Генерирани API Consumer Key и Consumer Secret
4. Сайтът ти трябва да използва HTTPS за API автентикация
5. Акаунт в Brevo с API достъп
6. Акаунт в Tajo с API credentials

## Автентикация

### REST API ключове

WooCommerce използва двойки Consumer Key и Consumer Secret за автентикация. Генерирай ги от WooCommerce > Settings > Advanced > REST API.

#### OAuth 1.0a (HTTPS сайтове)

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

#### Автентикация чрез query string (HTTPS)

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

### Нива на разрешения

| Разрешение | Достъп |
| --- | --- |
| **Read** | Само преглед на ресурси |
| **Write** | Създаване и редактиране на ресурси |
| **Read/Write** | Пълен CRUD достъп |

## Конфигурация

### Основна настройка

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

### Мапване на полета на клиенти

Мапвай полета на клиенти в WooCommerce към атрибути в 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
```

### Конфигурация на уебхуци

Регистрирай уебхуци в 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 крайни точки

| Метод | Крайна точка | Описание |
| --- | --- | --- |
| `GET` | `/wc/v3/customers` | Списък с клиенти |
| `POST` | `/wc/v3/customers` | Създаване на клиент |
| `GET` | `/wc/v3/customers/{id}` | Получаване на клиент |
| `PUT` | `/wc/v3/customers/{id}` | Обновяване на клиент |
| `GET` | `/wc/v3/orders` | Списък с поръчки |
| `POST` | `/wc/v3/orders` | Създаване на поръчка |
| `GET` | `/wc/v3/orders/{id}` | Получаване на поръчка |
| `GET` | `/wc/v3/products` | Списък с продукти |
| `GET` | `/wc/v3/products/{id}` | Получаване на продукт |
| `GET` | `/wc/v3/products/{id}/variations` | Списък с вариации на продукт |
| `GET` | `/wc/v3/coupons` | Списък с купони |
| `GET` | `/wc/v3/reports/sales` | Получаване на отчети за продажби |
| `GET` | `/wc/v3/reports/top_sellers` | Получаване на top sellers |
| `POST` | `/wc/v3/webhooks` | Създаване на уебхук |

## Примери с код

### Инициализация на 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
});
```

### Извличане и синхронизация на клиенти

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

### Обработка на уебхук събития

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

### Пакетни операции

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

## Ограничения на заявките

WooCommerce сам по себе си не налага API лимити, но основният WordPress сървър и хостинг доставчикът могат да налагат такива:

| Фактор | Типичен лимит | Детайли |
| --- | --- | --- |
| **Споделен хостинг** | 50-100 заявки/мин | Зависи от хоста |
| **Managed WP хостинг** | 200-500 заявки/мин | WP Engine, Kinsta и др. |
| **Self-hosted** | Без твърд лимит | Ограничен от сървърните ресурси |
| **На страница** | 100 записа макс | По подразбиране е 10 |
| **Пакетни операции** | 100 артикула/пакет | Създаване, обновяване или изтриване |

Производителност на сървъра

Големите WooCommerce магазини може да имат бавни API отговори. Използвай пагинация, ограничавай полетата с параметъра `_fields` и планирай масови синхронизации в непиковите часове.

## Отстраняване на проблеми

| Проблем | Причина | Решение |
| --- | --- | --- |
| `401 Unauthorized` | Невалидни API ключове | Регенерирай Consumer Key/Secret в настройките на WooCommerce |
| `403 Forbidden` | Недостатъчни разрешения | Задай API ключа на Read/Write достъп |
| SSL certificate грешки | Невалиден SSL на сайта | Увери се, че SSL сертификатът е валиден; задай `verify_ssl: false` само за тестове |
| Уебхуците не се задействат | WordPress cron деактивиран | Активирай WP-Cron или конфигурирай cron на сървърно ниво |
| Бавни API отговори | Голяма база данни | Оптимизирай WordPress базата, използвай параметъра `_fields` |
| Липсват персонализирани полета | Meta данните не са изложени | Използвай полето `meta_data` за достъп до персонализирани meta |
| Проблеми с пагинацията | Размер на страницата по подразбиране | Задай изрично параметъра `per_page` (макс. 100) |

## Добри практики

1. **Използвай уебхуци за синхронизация в реално време** – Конфигурирай уебхуци в WooCommerce, вместо да правиш polling към API
2. **Верифицирай подписите на уебхуците** – Винаги валидирай хедъра `X-WC-Webhook-Signature`
3. **Пагинирай всички списъчни заявки** – Използвай параметрите `page` и `per_page`; проверявай хедъра `X-WP-TotalPages`
4. **Използвай параметъра `_fields`** – Заявявай само нужните полета, за да намалиш размера на отговора и да подобриш производителността
5. **Пакетни операции** – Използвай пакетни крайни точки за масово създаване/обновяване/изтриване (до 100 елемента)
6. **Планирай големи синхронизации** – Първоначалните пълни синхронизации да се правят в непикови часове, за да се избегне натоварване на сървъра
7. **Активирай HTTPS** – WooCommerce API изисква HTTPS за OAuth автентикация

## Сигурност

- **OAuth 1.0a** – Сигурна автентикация чрез двойки Consumer Key/Secret
- **HMAC подписи на уебхуци** – SHA-256 верификация на подпис за входящи уебхуци
- **Изисква се HTTPS** – API изисква TLS криптиране за автентикация
- **Обхват на разрешения** – API ключовете могат да се задават на Read, Write или Read/Write
- **WordPress сигурност** – Печели от security обновленията на WordPress core
- **PCI съображения** – Данните за плащания се обработват от payment gateways на WooCommerce, не се излагат през API

## Свързани ресурси

- [Shopify конектор](https://tajo.io/bg/docs/connectors/ecommerce/shopify)
- [BigCommerce конектор](https://tajo.io/bg/docs/connectors/ecommerce/bigcommerce)
- [Customer Sync скил](https://tajo.io/bg/docs/skills/data-sync/customer-sync)
- [Abandoned Cart скил](https://tajo.io/bg/docs/skills/email-marketing/abandoned-cart)
