WooCommerce Bağlayıcısı

WooCommerce Bağlayıcısı

WooCommerce mağazanızı eksiksiz e-ticaret veri senkronizasyonu için Tajo üzerinden Brevo’ya bağlayın. Hedefli pazarlama kampanyaları ve otomatik iş akışları için müşterileri, siparişleri, ürünleri ve kupon verilerini senkronize etmek üzere WooCommerce REST API’sini kullanın.

Genel Bakış

ÖzellikDeğer
PlatformWooCommerce (WordPress)
KategoriE-ticaret
Kurulum KarmaşıklığıOrta
Resmi EntegrasyonHayır
Senkronize Edilen VeriMüşteriler, Siparişler, Ürünler, Kuponlar
Mevcut Yetenekler10

Özellikler

  • Müşteri senkronizasyonu - Brevo kişilerine gerçek zamanlı müşteri verisi senkronizasyonu
  • Sipariş takibi - Satın alma sonrası akışlar için tam sipariş yaşam döngüsü olay takibi
  • Ürün kataloğu senkronizasyonu - E-posta önerileri için ürünleri ve varyasyonları senkronize edin
  • Kupon yönetimi - Promosyon kampanyaları için kupon kodlarını senkronize edin
  • Webhook desteği - WooCommerce webhook’ları aracılığıyla gerçek zamanlı güncellemeler
  • Sepet terki - Terk edilmiş sepetleri takip edin ve kurtarın
  • Çoklu site desteği - WordPress multisite WooCommerce kurulumlarını bağlayın
  • Özel meta alanları - WooCommerce özel meta verilerini Brevo özniteliklerine eşleyin

Ön Koşullar

Başlamadan önce sahip olmanız gerekenler:

  1. WooCommerce eklentisi yüklü ve etkinleştirilmiş bir WordPress sitesi
  2. WooCommerce REST API etkin (Settings > Advanced > REST API)
  3. API Consumer Key ve Consumer Secret oluşturulmuş
  4. Sitenizin API kimlik doğrulaması için HTTPS kullanması gerekir
  5. API erişimi olan bir Brevo hesabı
  6. API kimlik bilgilerine sahip bir Tajo hesabı

Kimlik Doğrulama

REST API Anahtarları

WooCommerce, kimlik doğrulama için Consumer Key ve Consumer Secret çiftlerini kullanır. Bunları WooCommerce > Settings > Advanced > REST API bölümünde oluşturun.

OAuth 1.0a (HTTPS siteleri)

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

Sorgu Dizesi Kimlik Doğrulaması (HTTPS)

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

İzin Seviyeleri

İzinErişim
ReadYalnızca kaynakları görüntüle
WriteKaynakları oluştur ve düzenle
Read/WriteTam CRUD erişimi

Yapılandırma

Temel Kurulum

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

Müşteri Alan Eşleme

WooCommerce müşteri alanlarını Brevo özniteliklerine eşleyin:

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

Webhook Yapılandırması

WooCommerce > Settings > Advanced > Webhooks bölümünden webhook’ları kaydedin:

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 Uç Noktaları

YöntemUç NoktaAçıklama
GET/wc/v3/customersMüşterileri listele
POST/wc/v3/customersBir müşteri oluştur
GET/wc/v3/customers/{id}Bir müşteri getir
PUT/wc/v3/customers/{id}Bir müşteriyi güncelle
GET/wc/v3/ordersSiparişleri listele
POST/wc/v3/ordersBir sipariş oluştur
GET/wc/v3/orders/{id}Bir sipariş getir
GET/wc/v3/productsÜrünleri listele
GET/wc/v3/products/{id}Bir ürün getir
GET/wc/v3/products/{id}/variationsÜrün varyasyonlarını listele
GET/wc/v3/couponsKuponları listele
GET/wc/v3/reports/salesSatış raporlarını getir
GET/wc/v3/reports/top_sellersEn çok satanları getir
POST/wc/v3/webhooksBir webhook oluştur

Kod Örnekleri

WooCommerce Bağlayıcısını Başlat

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

Müşterileri Getir ve Senkronize Et

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

Webhook Olaylarını İşle

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

Toplu İşlemler

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

Hız Limitleri

WooCommerce kendisi API hız limitleri uygulamaz, ancak alttaki WordPress sunucusu ve barındırma sağlayıcısı limitler getirebilir:

FaktörTipik LimitDetaylar
Paylaşımlı barındırma50-100 istek/dakikaSağlayıcıya göre değişir
Yönetilen WP barındırma200-500 istek/dakikaWP Engine, Kinsta, vb.
Kendi sunucunuzSabit limit yokSunucu kaynaklarıyla sınırlı
Sayfa başınaMaksimum 100 kayıtVarsayılan 10
Toplu işlemlerToplu başına 100 öğeOluştur, güncelle veya sil

Sunucu Performansı

Büyük WooCommerce mağazaları yavaş API yanıtları yaşayabilir. Sayfalama kullanın, _fields parametresiyle alanları sınırlandırın ve toplu senkronizasyonları yoğun olmayan saatlere planlayın.

Sorun Giderme

SorunNedenÇözüm
401 UnauthorizedGeçersiz API anahtarlarıWooCommerce ayarlarında Consumer Key/Secret’ı yeniden oluşturun
403 ForbiddenYetersiz izinlerAPI anahtarını Read/Write erişimine ayarlayın
SSL sertifika hatalarıSitede geçersiz SSLGeçerli SSL sertifikası sağlayın; yalnızca test için verify_ssl: false ayarlayın
Webhook’lar tetiklenmiyorWordPress cron devre dışıWP-Cron’u etkinleştirin veya sunucu seviyesi cron yapılandırın
Yavaş API yanıtlarıBüyük veritabanıWordPress veritabanını optimize edin, _fields parametresini kullanın
Özel alanlar eksikMeta veriler ortaya çıkmamışÖzel meta verilere erişmek için meta_data alanını kullanın
Sayfalama sorunlarıVarsayılan sayfa boyutuAçıkça per_page parametresini ayarlayın (maks. 100)

En İyi Uygulamalar

  1. Gerçek zamanlı senkronizasyon için webhook kullanın - API’yi sorgulamak yerine WooCommerce webhook’larını yapılandırın
  2. Webhook imzalarını doğrulayın - X-WC-Webhook-Signature başlığını her zaman doğrulayın
  3. Tüm liste isteklerini sayfalandırın - page ve per_page parametrelerini kullanın; X-WP-TotalPages başlığını kontrol edin
  4. _fields parametresini kullanın - Yanıt boyutunu azaltmak ve performansı artırmak için yalnızca gerekli alanları isteyin
  5. Toplu işlemler - Toplu oluşturma/güncelleme/silme işlemleri için toplu uç noktaları kullanın (en fazla 100 öğe)
  6. Büyük senkronizasyonları planlayın - Sunucu yükünden kaçınmak için ilk tam senkronizasyonları yoğun olmayan saatlerde çalıştırın
  7. HTTPS’i etkinleştirin - WooCommerce API, OAuth kimlik doğrulaması için HTTPS gerektirir

Güvenlik

  • OAuth 1.0a - Consumer Key/Secret çiftleri ile güvenli kimlik doğrulama
  • HMAC webhook imzaları - Gelen webhook’lar için SHA-256 imza doğrulaması
  • HTTPS gerekli - API, kimlik doğrulama için TLS şifrelemesi gerektirir
  • İzin kapsamı - API anahtarları Read, Write veya Read/Write olarak ayarlanabilir
  • WordPress güvenliği - WordPress çekirdek güvenlik güncellemelerinden faydalanır
  • PCI değerlendirmeleri - Ödeme verileri WooCommerce ödeme ağ geçitleri tarafından işlenir, API üzerinden açık değildir

İlgili Kaynaklar

Subscribe to updates

developer-docs

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

AI Asistan

Merhaba! Belgeler hakkında her şeyi sorabilirsiniz.

Brevo ile ücretsiz başlayın