Ajukan akses awal

Masukkan nama depan serta email atau nomor telepon Anda. Kami akan menghubungi Anda dengan detail akses Tajo.

Konektor WooCommerce

Hubungkan toko WooCommerce Anda ke Brevo melalui Tajo untuk sinkronisasi data e-commerce yang lengkap. Manfaatkan WooCommerce REST API untuk menyinkronkan data pelanggan, pesanan, produk, dan kupon bagi kampanye pemasaran tertarget serta alur kerja otomatis.

Ikhtisar

PropertiNilai
PlatformWooCommerce (WordPress)
KategoriE-commerce
Kompleksitas penyiapanSedang
Integrasi resmiTidak
Data yang tersinkronPelanggan, Pesanan, Produk, Kupon
Skill yang tersedia10

Fitur

  • Sinkronisasi pelanggan - Sinkronisasi data pelanggan secara real-time ke kontak Brevo
  • Pelacakan pesanan - Pelacakan event siklus hidup pesanan secara penuh untuk alur pascapembelian
  • Sinkronisasi katalog produk - Sinkronkan produk dan variasinya untuk rekomendasi email
  • Manajemen kupon - Sinkronkan kode kupon untuk kampanye promosi
  • Dukungan webhook - Pembaruan real-time melalui webhook WooCommerce
  • Keranjang yang ditinggalkan - Lacak dan pulihkan keranjang yang ditinggalkan
  • Dukungan multi-situs - Hubungkan instalasi WooCommerce pada WordPress multisite
  • Custom meta field - Petakan custom meta WooCommerce ke atribut Brevo

Prasyarat

Sebelum memulai, pastikan Anda memiliki:

  1. Situs WordPress dengan plugin WooCommerce terpasang dan aktif
  2. WooCommerce REST API yang sudah diaktifkan (Settings > Advanced > REST API)
  3. Consumer Key dan Consumer Secret API yang sudah dibuat
  4. Situs Anda harus memakai HTTPS untuk autentikasi API
  5. Akun Brevo dengan akses API
  6. Akun Tajo dengan kredensial API

Autentikasi

Key REST API

WooCommerce memakai pasangan Consumer Key dan Consumer Secret untuk autentikasi. Buat keduanya di WooCommerce > Settings > Advanced > REST API.

OAuth 1.0a (situs HTTPS)

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

Autentikasi query string (HTTPS)

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

Level izin

IzinAkses
ReadHanya melihat sumber daya
WriteMembuat dan mengubah sumber daya
Read/WriteAkses CRUD penuh

Konfigurasi

Penyiapan dasar

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

Pemetaan field pelanggan

Petakan field pelanggan WooCommerce ke atribut Brevo:

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

Konfigurasi webhook

Daftarkan webhook di WooCommerce > Settings > Advanced > Webhooks:

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"

Endpoint API

MetodeEndpointDeskripsi
GET/wc/v3/customersDaftar pelanggan
POST/wc/v3/customersBuat seorang pelanggan
GET/wc/v3/customers/{id}Ambil seorang pelanggan
PUT/wc/v3/customers/{id}Perbarui seorang pelanggan
GET/wc/v3/ordersDaftar pesanan
POST/wc/v3/ordersBuat sebuah pesanan
GET/wc/v3/orders/{id}Ambil sebuah pesanan
GET/wc/v3/productsDaftar produk
GET/wc/v3/products/{id}Ambil sebuah produk
GET/wc/v3/products/{id}/variationsDaftar variasi produk
GET/wc/v3/couponsDaftar kupon
GET/wc/v3/reports/salesAmbil laporan penjualan
GET/wc/v3/reports/top_sellersAmbil daftar produk terlaris
POST/wc/v3/webhooksBuat sebuah webhook

Contoh kode

Inisialisasi konektor WooCommerce

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

Ambil dan sinkronkan pelanggan

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

Tangani event webhook

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

Operasi batch

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

Batas rate

WooCommerce sendiri tidak menerapkan batas rate API, tetapi server WordPress yang mendasarinya dan penyedia hosting dapat memberlakukan batas:

FaktorBatas umumDetail
Shared hosting50-100 permintaan/menitBervariasi menurut penyedia
Managed WP hosting200-500 permintaan/menitWP Engine, Kinsta, dan sejenisnya
Self-hostedTanpa batas kerasDibatasi oleh sumber daya server
Per halamanMaksimum 100 recordDefault-nya 10
Operasi batch100 item/batchBuat, perbarui, atau hapus

Performa server

Toko WooCommerce berukuran besar dapat mengalami respons API yang lambat. Gunakan paginasi, batasi field dengan parameter _fields, dan jadwalkan sinkronisasi massal di luar jam sibuk.

Pemecahan masalah

MasalahPenyebabSolusi
401 UnauthorizedKey API tidak validBuat ulang Consumer Key/Secret di pengaturan WooCommerce
403 ForbiddenIzin tidak memadaiSetel key API ke akses Read/Write
Error sertifikat SSLSSL situs tidak validPastikan sertifikat SSL valid, setel verify_ssl: false hanya untuk pengujian
Webhook tidak terpicuCron WordPress nonaktifAktifkan WP-Cron atau konfigurasikan cron di level server
Respons API lambatDatabase berukuran besarOptimalkan database WordPress, gunakan parameter _fields
Custom field tidak munculMeta data tidak dieksposGunakan field meta_data untuk mengakses custom meta
Masalah paginasiUkuran halaman defaultSetel parameter per_page secara eksplisit (maksimum 100)

Praktik terbaik

  1. Gunakan webhook untuk sinkronisasi real-time - Konfigurasikan webhook WooCommerce alih-alih melakukan polling ke API
  2. Verifikasi tanda tangan webhook - Selalu validasi header X-WC-Webhook-Signature
  3. Paginasikan semua permintaan daftar - Gunakan parameter page dan per_page, lalu periksa header X-WP-TotalPages
  4. Gunakan parameter _fields - Minta hanya field yang diperlukan untuk memperkecil ukuran respons dan meningkatkan performa
  5. Operasi batch - Gunakan endpoint batch untuk operasi buat/perbarui/hapus massal (hingga 100 item)
  6. Jadwalkan sinkronisasi besar - Jalankan sinkronisasi penuh awal di luar jam sibuk agar server tidak terbebani
  7. Aktifkan HTTPS - WooCommerce API mewajibkan HTTPS untuk autentikasi OAuth

Keamanan

  • OAuth 1.0a - Autentikasi aman melalui pasangan Consumer Key/Secret
  • Tanda tangan webhook HMAC - Verifikasi tanda tangan SHA-256 untuk webhook yang masuk
  • Wajib HTTPS - API mewajibkan enkripsi TLS untuk autentikasi
  • Pembatasan izin - Key API dapat disetel ke Read, Write, atau Read/Write
  • Keamanan WordPress - Memperoleh manfaat dari pembaruan keamanan inti WordPress
  • Pertimbangan PCI - Data pembayaran ditangani oleh payment gateway WooCommerce dan tidak diekspos melalui API

Sumber daya terkait

Ajukan akses awal

Masukkan nama depan serta email atau nomor telepon Anda. Kami akan menghubungi Anda dengan detail akses Tajo.

deteksi otomatis
Asisten AI

Halo! Tanyakan apa saja tentang dokumentasi.