Trình Kết Nối WooCommerce
Trình Kết Nối WooCommerce
Kết nối cửa hàng WooCommerce của bạn với Brevo qua Tajo để đồng bộ dữ liệu customers và orders, kích hoạt email abandoned cart và tự động hóa marketing dựa trên hành vi mua hàng.
Tổng Quan
| Thuộc Tính | Giá Trị |
|---|---|
| Nền Tảng | WooCommerce |
| Danh Mục | Thương Mại Điện Tử |
| Độ Phức Tạp Thiết Lập | Trung Bình |
| Tích Hợp Chính Thức | Có |
| Dữ Liệu Đồng Bộ | Customers, Orders, Products, Subscriptions |
| URL API | https://yourstore.com/wp-json/wc/v3 |
Tính Năng
- Đồng bộ customers - Nhập WooCommerce customers sang liên hệ Brevo
- Đồng bộ orders - Theo dõi trạng thái orders và kích hoạt email tương ứng
- Catalog sản phẩm - Đồng bộ products cho email cá nhân hóa
- Abandoned cart - Kích hoạt campaigns recovery khi cart bị bỏ
- WooCommerce Subscriptions - Đồng bộ dữ liệu subscription cho renewal campaigns
- Webhooks - Cập nhật theo thời gian thực qua WooCommerce webhooks
Yêu Cầu
Trước khi bắt đầu, hãy đảm bảo bạn có:
- WordPress website với WooCommerce được cài đặt
- WooCommerce REST API credentials (Consumer Key và Secret)
- SSL certificate (HTTPS) trên website
- Tài khoản Brevo với quyền truy cập API
- Tài khoản Tajo
Xác Thực
REST API Keys
WooCommerce sử dụng xác thực OAuth 1.0a hoặc Basic Auth qua HTTPS.
curl "https://yourstore.com/wp-json/wc/v3/orders" \ -u "ck_YOUR_CONSUMER_KEY:cs_YOUR_CONSUMER_SECRET"Tạo API keys trong WooCommerce Settings > Advanced > REST API.
Hiệu Năng Server
WooCommerce chạy trên WordPress, vốn không được thiết kế cho API calls khối lượng cao. Giới hạn tốc độ đồng bộ để tránh làm chậm website bán hàng của bạn.
Cấu Hình
Thiết Lập Cơ Bản
connectors: woocommerce: enabled: true store_url: "https://yourstore.com" consumer_key: "${WC_CONSUMER_KEY}" consumer_secret: "${WC_CONSUMER_SECRET}"
sync: customers: true orders: true products: false subscriptions: true
brevo_list_ids: all_customers: 25 buyers: 26 subscribers: 27Ánh Xạ Trường
Ánh Xạ Mặc Định
| Parameter | Type | Description |
|---|---|---|
email required | string | Email khách hàng (định danh duy nhất) |
first_name optional | string | Ánh xạ sang thuộc tính FIRSTNAME |
last_name optional | string | Ánh xạ sang thuộc tính LASTNAME |
billing.phone optional | string | Số điện thoại billing |
orders_count optional | integer | Tổng số orders đã đặt |
total_spent optional | string | Tổng chi tiêu của khách hàng |
API Endpoints
| Phương Thức | Endpoint | Mô Tả |
|---|---|---|
GET | /wc/v3/customers | Liệt kê customers |
GET | /wc/v3/orders | Liệt kê orders |
GET | /wc/v3/products | Liệt kê products |
GET | /wc/v3/coupons | Liệt kê coupons |
POST | /wc/v3/webhooks | Tạo webhook |
GET | /wc/v3/reports/sales | Báo cáo doanh thu |
Sự Kiện
| Sự Kiện | Kích Hoạt | Trường Hợp Sử Dụng |
|---|---|---|
order.created | Order mới được đặt | Email xác nhận |
order.updated | Trạng thái order thay đổi | Cập nhật vận chuyển |
customer.created | Khách hàng mới đăng ký | Email chào mừng |
product.updated | Sản phẩm cập nhật | Thông báo có hàng |
coupon.created | Coupon mới được tạo | Campaign giảm giá |
Ví Dụ Code
Khởi Tạo Trình Kết Nối
import { TajoClient } from '@tajo/sdk';
const tajo = new TajoClient({ apiKey: process.env.TAJO_API_KEY, brevoApiKey: process.env.BREVO_API_KEY});
await tajo.connectors.connect('woocommerce', { storeUrl: process.env.WC_STORE_URL, consumerKey: process.env.WC_CONSUMER_KEY, consumerSecret: process.env.WC_CONSUMER_SECRET});Đồng Bộ Customers và Orders
// Đồng bộ WooCommerce sang Brevoawait tajo.connectors.sync('woocommerce', { type: 'incremental', resources: ['customers', 'orders'], since: '2024-01-01', batchSize: 50 // Giảm batch size để bảo vệ server});Xác Minh Webhook WooCommerce
// Xác minh WooCommerce webhook signatureapp.post('/webhooks/woocommerce', async (req, res) => { const signature = req.get('X-WC-Webhook-Signature'); const payload = JSON.stringify(req.body);
const expectedSig = crypto .createHmac('sha256', process.env.WC_WEBHOOK_SECRET) .update(payload, 'utf8') .digest('base64');
if (signature !== expectedSig) { return res.status(401).send('Unauthorized'); }
await tajo.connectors.handleWebhook('woocommerce', req.body); res.status(200).send('OK');});Giới Hạn Tốc Độ
WooCommerce không có giới hạn tốc độ API cụ thể, nhưng bị giới hạn bởi hiệu năng WordPress server:
| Khuyến Nghị | Giá Trị |
|---|---|
| Yêu cầu đồng thời | 2-5 |
| Kích thước batch | 50-100 |
| Delay giữa requests | 100-500ms |
Khắc Phục Sự Cố
| Sự Cố | Nguyên Nhân | Giải Pháp |
|---|---|---|
| 401 Unauthorized | Consumer key/secret sai | Tạo lại API keys trong WooCommerce settings |
| 404 Not Found | URL sai hoặc REST API tắt | Bật Permalink settings, kiểm tra REST API enabled |
| Timeout | Server quá tải | Giảm batch size và thêm delay |
| Webhooks không nhận | SSL hoặc URL sai | Đảm bảo HTTPS và URL có thể truy cập |