Hướng dẫn cấu hình WooSync toàn diện - Từ cài đặt đến lượt đồng bộ đầu tiên
Trước khi bắt đầu
Bạn cần chuẩn bị:
Perfex CRM phiên bản 3.4.0 trở lên
Ít nhất một cửa hàng WooCommerce đã kích hoạt REST API
Tài khoản quản trị viên (Admin) trên cả hai hệ thống
Tổng thời gian thiết lập: 10 - 15 phút.
Bước 1: Cài đặt mô-đun (Module)
WooSync sẽ tự động tạo 16 bảng dữ liệu khi kích hoạt - không cần chạy lệnh SQL thủ công.
Bước 2: Tạo WooCommerce API Keys
Bước 3: Thêm cửa hàng mới trong Perfex CRM
Bước 4: Cấu hình Webhooks (Đồng bộ thời gian thực)
Sau khi lưu cửa hàng, chỉnh sửa thông tin cửa hàng đó để lấy Webhook Delivery URL và Webhook Secret.
Trên trang quản trị WooCommerce:
Truy cập Cấu hình (Settings) → Nâng cao (Advanced) → Webhooks
Tạo các webhook tương ứng với các sự kiện sau:
| Sự kiện | Chủ đề (Topic) |
|---|---|
| Tạo đơn hàng | order.created |
| Cập nhật đơn hàng | order.updated |
| Tạo sản phẩm | product.created |
| Cập nhật sản phẩm | product.updated |
| Tạo khách hàng | customer.created |
| Cập nhật khách hàng | customer.updated |
Bước 5: Cấu hình Cron Job chạy ngầm
WooSync tận dụng tiến trình cron.php có sẵn của Perfex CRM để thực hiện đồng bộ hóa gia tăng. Đảm bảo máy chủ của bạn chạy tiến trình này đều đặn:
Trên cPanel/DirectAdmin:
*/5 * * * * wget -q -O- https://your-perfex.com/cron.phpPhục vụ môi trường phát triển localhost/Windows:
Truy cập WooSync → Cài đặt (Settings)
Bật Chế độ gỡ lỗi (Debug Mode)
WooSync sẽ tự động kích hoạt cron giả lập mỗi khi bạn duyệt qua bảng điều khiển quản trị.
Bước 6: Chạy lượt đồng bộ dữ liệu đầu tiên
Bước 7: Cấu hình ánh xạ thuế Tax Mapping (Tùy chọn)
If you use auto-invoicing and your WooCommerce store has tax rates:
Bước 8: Ánh xạ dữ liệu & Trường tùy biến (Tùy chọn)
WooSync v1.2.0 giới thiệu tính năng ánh xạ dữ liệu trực quan. Nếu trang thanh toán của bạn có các trường tùy biến (ví dụ: Mã số thuế VAT, Ngày giao hàng) hoặc bạn muốn theo dõi Mã giảm giá cụ thể:
- Truy cập WooSync → Ánh xạ dữ liệu (Data Mapping)
- Chọn cửa hàng của bạn và tiến hành ánh xạ trực tiếp các trường WooCommerce custom meta keys với các trường tùy biến (Custom Fields) của Khách hàng hoặc Hóa đơn trong Perfex CRM.
Lưu ý: WooSync hỗ trợ đầy đủ 16 ngôn ngữ. Bạn có thể thay đổi ngôn ngữ của Perfex CRM trong thiết lập hồ sơ cá nhân để dịch toàn bộ giao diện làm việc của WooSync ngay lập tức.
Kiểm tra và Xác minh hoạt động
Sau khi thiết lập, hãy xác nhận:
Cửa hàng (Stores): Trạng thái kết nối hiển thị màu xanh lá cây
Sản phẩm (Products): Các sản phẩm WooCommerce đã xuất hiện trong WooSync → Products
Đơn hàng (Orders): Các đơn hàng gần đây đã được đồng bộ với tổng giá trị chính xác
Khách hàng (Customers): Người mua hàng được liên kết chuẩn xác với Khách hàng Perfex
Nhật ký (Logs): Mục WooSync → Logs ghi nhận các lượt đồng bộ thành công
Webhooks: Tạo một đơn hàng thử nghiệm trên WooCommerce - đơn hàng này sẽ xuất hiện trong WooSync chỉ sau vài giây
Khắc phục sự cố thường gặp
| Vấn đề | Hướng xử lý |
|---|---|
| Kiểm tra kết nối thất bại | Xác minh lại API keys, kiểm tra đường dẫn URL, đảm bảo REST API đã được kích hoạt trong WooCommerce |
| Webhook không truyền dữ liệu về | Kiểm tra lịch sử gửi webhook của WooCommerce, kiểm tra quyền truy cập của URL webhook nhận |
| Đơn hàng không đồng bộ | Đảm bảo tiến trình cron đang chạy đều đặn, kiểm tra mục WooSync Logs để tìm mã lỗi |
| Chế độ gỡ lỗi không chạy | Xóa bộ nhớ đệm trình duyệt, kiểm tra lại tùy chọn Debug Mode trong Cài đặt |
Cấu hình hoàn tất. Cửa hàng WooCommerce của bạn hiện đã được kết nối đồng bộ với Perfex CRM.
Kiến Trúc Hệ Thống & Luồng Quy Trình Đồng Bộ WooSync
graph TD
subgraph WooCommerce Store ["WooCommerce Store (E-Commerce Platform)"]
WC_Order["Order Placed / Updated"]
WC_Customer["Customer Registered"]
WC_Product["Product / Category Created"]
WC_Refund["Order Refund Triggered"]
WC_HPOS["HPOS (High-Performance Order Storage)"]
end
subgraph SyncEngine ["WooSync Synchronization Hub Engine"]
WH_Receiver["Inbound Webhook Receiver<br/>(HMAC-SHA256 Signature Verification)"]
Cron_Runner["Cron Delta Sync Fallback<br/>(Scheduled Polling Runner)"]
Queue_Log["Queue & Audit Logger<br/>(Payload Tracking & Retries)"]
AES_Enc["AES-256-CBC Encrypted Store API Keys"]
end
subgraph PerfexCRM ["Perfex CRM (Enterprise Platform)"]
CRM_Client["Clients & Contacts Database"]
CRM_Invoice["Invoices & Line Items"]
CRM_Item["Products, Categories & Attributes"]
CRM_Credit["Credit Notes & Refund Records"]
CRM_Payment["Invoice Paid Status Event"]
end
WC_Order -->|Real-time Inbound Webhook| WH_Receiver
WC_Customer -->|Real-time Inbound Webhook| WH_Receiver
WC_Product -->|Real-time Inbound Webhook| WH_Receiver
WC_Refund -->|Real-time Inbound Webhook| WH_Receiver
WC_HPOS -.->|Scheduled Delta Poll| Cron_Runner
WH_Receiver --> Queue_Log
Cron_Runner --> Queue_Log
Queue_Log -->|Auto-Create / Link Contact| CRM_Client
Queue_Log -->|Auto-Generate Invoice| CRM_Invoice
Queue_Log -->|Hierarchical Catalog Sync| CRM_Item
Queue_Log -->|Generate Credit Note| CRM_Credit
CRM_Payment -->|Reverse Sync Engine| WC_Order
Quy Trình Reverse Sync Engine
graph TD
A["Perfex CRM Invoice Marked Paid"] --> B["Woosync_reverse_sync Engine Triggered"]
B --> C{"Check Status Mapping Configuration"}
C --> D["Resolve WooCommerce Store ID & Order ID"]
D --> E["Decrypt API Secret Key via OpenSSL AES-256-CBC"]
E --> F["Initialize WooCommerce REST API Client (wc/v3)"]
F --> G["Send PUT Request to /wp-json/wc/v3/orders/{id}"]
G --> H{"HTTP Response 200 OK?"}
H -->|"Success"| I["Update Store Order Status (Processing -> Completed)"]
H -->|"Failure"| J["Log Status Exception & Enqueue into Retry Queue"]
Chuyển Đổi Đơn Hàng Thành Hóa Đơn & Ánh Xạ HPOS
graph TD
A["New Order Placed on WooCommerce Store (HPOS Order)"] --> B["Inbound Webhook order.created Listener"]
B --> C["Verify HMAC-SHA256 Signature Secret"]
C --> D{"Customer Email Exists in Perfex CRM?"}
D -->|"No"| E["Auto-Create New Client Profile & Contact"]
D -->|"Yes"| F["Link Order to Existing Client Profile"]
E --> G["Map Billing & Shipping Location Addresses"]
F --> G
G --> H["Convert Store Currency & Sales Tax"]
H --> I["Auto-Generate Perfex CRM Invoice (Unpaid)"]
I --> J["Record Item Lines, Shipping Fee & Coupon Adjustments"]
Kết Nối Đa Cửa Hàng & Bảo Mật OpenSSL AES-256
graph TD
A["Admin Adds New WooCommerce Store"] --> B["Input Store URL, Consumer Key, Consumer Secret & Webhook Secret"]
B --> C["Encrypt Credentials using OpenSSL AES-256-CBC"]
C --> D["Persist Record in woosync_stores Table"]
D --> E["Auto-Register Inbound Webhook Endpoints"]
E --> F["Test Connection via WooCommerce REST Client v3"]
F --> G{"Connection Status 200 OK?"}
G -->|"Success"| H["Activate Store Status & Start Real-Time Sync"]
G -->|"Failure"| I["Log Alert Error & Display Credential Warnings"]