Khi kinh doanh online tại Việt Nam, việc nhận thông báo đơn hàng mới ngay lập tức trên điện thoại (qua Telegram hoặc Zalo) giúp chủ shop phản ứng nhanh, xử lý đơn hàng kịp thời và giảm tỷ lệ hủy đơn. Bài viết này hướng dẫn bạn hai cách tích hợp gửi thông báo đơn hàng WooCommerce về Telegram và Zalo:
- Dùng plugin – nhanh, dễ cấu hình, phù hợp người mới.
- Code tay (không dùng plugin) – linh hoạt, nhẹ máy, phù hợp khi muốn tùy chỉnh sâu hoặc tránh thêm plugin.
Chuẩn bị chung cho cả hai cách
Trước khi bắt đầu, bạn cần chuẩn bị các thông tin sau:
1. Telegram
- Tạo Telegram Bot:
- Tìm @BotFather → /newbot → đặt tên bot → nhận Bot Token (dạng 123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11)
- Lấy Chat ID:
- Cách 1: Gửi tin nhắn bất kỳ cho bot → truy cập https://api.telegram.org/bot<YourBotToken>/getUpdates → tìm “chat”:{“id”:…}
- Cách 2: Thêm bot vào group → dùng @username_to_id_bot để lấy ID group
2. Zalo
- Tạo Zalo Official Account (OA) (nếu chưa có): https://oa.zalo.me
- Lấy Access Token:
- Vào OA → Cài đặt → API → Tạo Access Token (có thể dùng token dài hạn)
- Lấy User ID (nếu gửi cho cá nhân) hoặc Follower ID (nếu gửi cho tất cả follower)
- Hoặc dùng Webhook để nhận tin nhắn từ khách → nhưng ở đây ta tập trung gửi thông báo một chiều từ website về Zalo OA → chủ shop
Cách 1: Dùng Plugin
Plugin phổ biến cho Telegram
- WP Telegram (miễn phí + Pro)
- Telegram for WooCommerce (có bản miễn phí)
- NotificationX (có tích hợp Telegram)
Plugin phổ biến cho Zalo
- Zalo Official Account – WooCommerce (từ các nhà phát triển Việt Nam, thường trả phí)
- WooZalo hoặc Zalo Notification for WooCommerce (các plugin Việt Nam trên CodeCanyon hoặc diễn đàn)
Hướng dẫn chi tiết (ví dụ với WP Telegram – Telegram)
- Vào Plugins → Thêm mới → Tìm “WP Telegram” → Cài đặt & kích hoạt.
- Vào Cài đặt → WP Telegram.
- Nhập Bot Token vừa tạo.
- Thêm Chat ID (cá nhân hoặc group).
- Trong tab WooCommerce, bật các thông báo cần thiết:
- New Order
- Order Status Changed
- Low Stock / Out of Stock
- Tùy chỉnh nội dung thông báo (dùng shortcode như {order_id}, {order_total}, {customer_name}, v.v.)
- Lưu lại → test bằng cách đặt một đơn hàng thử.
Với Zalo (ví dụ plugin WooZalo hoặc tương tự)
- Tìm plugin “Zalo OA WooCommerce” trên Google hoặc diễn đàn WordPress Việt.
- Sau khi cài đặt:
- Nhập OA ID và Access Token.
- Chọn loại thông báo (thường là gửi tin nhắn cho admin hoặc broadcast cho follower).
- Cấu hình template tin nhắn.
Ưu điểm: Cài đặt nhanh, giao diện cấu hình thân thiện, hỗ trợ template sẵn. Nhược điểm: Thêm plugin → có thể xung đột hoặc làm chậm site nếu dùng nhiều plugin.
Cách 2: Code tay (không dùng plugin)
Phương pháp này sử dụng functions.php của child theme và các hook WooCommerce.
2.1. Gửi thông báo về Telegram
Thêm đoạn code sau vào functions.php của child theme:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
<span class="line">// Gửi thông báo Telegram khi có đơn hàng mới</span> <span class="line">add_action('woocommerce_new_order', 'send_telegram_new_order', 10, 1);</span> <span class="line">function send_telegram_new_order($order_id) {</span> <span class="line"> $order = wc_get_order($order_id);</span> <span class="line"> // Thông tin cần gửi</span> <span class="line"> $customer_name = $order->get_billing_first_name() . ' ' . $order->get_billing_last_name();</span> <span class="line"> $order_total = $order->get_formatted_order_total();</span> <span class="line"> $order_link = $order->get_edit_order_url();</span> <span class="line"> $message = "🛒 Đơn hàng mới!\n";</span> <span class="line"> $message .= "Mã đơn: #{$order_id}\n";</span> <span class="line"> $message .= "Khách hàng: {$customer_name}\n";</span> <span class="line"> $message .= "Tổng tiền: {$order_total}\n";</span> <span class="line"> $message .= "Xem chi tiết: {$order_link}";</span> <span class="line"> // Thay bằng token và chat_id của bạn</span> <span class="line"> $bot_token = 'YOUR_BOT_TOKEN_HERE';</span> <span class="line"> $chat_id = 'YOUR_CHAT_ID_HERE';</span> <span class="line"> $url = "https://api.telegram.org/bot{$bot_token}/sendMessage";</span> <span class="line"> $args = [</span> <span class="line"> 'chat_id' => $chat_id,</span> <span class="line"> 'text' => $message,</span> <span class="line"> 'parse_mode' => 'HTML',</span> <span class="line"> ];</span> <span class="line"> wp_remote_post($url, ['body' => $args]);</span> <span class="line">}</span> |
2.2. Gửi thông báo về Zalo OA (gửi tin nhắn cho admin)
Zalo OA hỗ trợ gửi tin nhắn một chiều đến user đã follow OA hoặc admin. Dưới đây là cách gửi cho admin (dùng API gửi tin nhắn cá nhân).
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
<span class="line">// Gửi thông báo Zalo khi có đơn hàng mới</span> <span class="line">add_action('woocommerce_new_order', 'send_zalo_new_order', 10, 1);</span> <span class="line">function send_zalo_new_order($order_id) {</span> <span class="line"> $order = wc_get_order($order_id);</span> <span class="line"> $customer_name = $order->get_billing_first_name() . ' ' . $order->get_billing_last_name();</span> <span class="line"> $order_total = $order->get_formatted_order_total();</span> <span class="line"> $message = "Đơn hàng mới #{$order_id}\nKhách: {$customer_name}\nTổng: {$order_total}";</span> <span class="line"> // Thay bằng thông tin của bạn</span> <span class="line"> $access_token = 'YOUR_ZALO_OA_ACCESS_TOKEN';</span> <span class="line"> $user_id = 'USER_ID_CUA_ADMIN_HOAC_FOLLOWER'; // Lấy từ Zalo OA</span> <span class="line"> $url = 'https://openapi.zalo.me/v2.0/oa/message';</span> <span class="line"> $data = [</span> <span class="line"> 'recipient' => ['user_id' => $user_id],</span> <span class="line"> 'message' => ['text' => $message],</span> <span class="line"> ];</span> <span class="line"> $args = [</span> <span class="line"> 'headers' => [</span> <span class="line"> 'access_token' => $access_token,</span> <span class="line"> 'Content-Type' => 'application/json',</span> <span class="line"> ],</span> <span class="line"> 'body' => wp_json_encode($data),</span> <span class="line"> ];</span> <span class="line"> wp_remote_post($url, $args);</span> <span class="line">}</span> |
Lưu ý quan trọng khi dùng code tay:
- Thay YOUR_BOT_TOKEN_HERE, YOUR_CHAT_ID_HERE, YOUR_ZALO_OA_ACCESS_TOKEN, USER_ID_CUA_ADMIN_HOAC_FOLLOWER bằng giá trị thực.
- Để gửi cho nhiều người (group Telegram hoặc broadcast Zalo), cần dùng API tương ứng (sendMessage cho Telegram group, broadcast cho Zalo OA).
- Nếu muốn gửi khi thay đổi trạng thái đơn (ví dụ: hoàn tất, hủy), thay hook woocommerce_new_order bằng woocommerce_order_status_changed.
Ví dụ mở rộng – gửi khi hoàn tất đơn:
|
1 2 3 4 5 |
<span class="line">add_action('woocommerce_order_status_completed', 'send_telegram_order_completed', 10, 1);</span> <span class="line">function send_telegram_order_completed($order_id) {</span> <span class="line"> // Tương tự code trên, chỉ đổi nội dung thông báo</span> <span class="line"> // ...</span> <span class="line">}</span> |
So sánh hai cách
| Tiêu chí | Dùng Plugin | Code tay |
|---|---|---|
| Độ khó | Dễ – cấu hình qua giao diện | Trung bình – cần hiểu code |
| Thời gian setup | 5–15 phút | 15–60 phút |
| Tùy chỉnh nội dung | Tốt (có shortcode) | Rất tốt (tự do viết) |
| Hiệu suất website | Có thể chậm hơn nếu plugin nặng | Nhẹ hơn |
| Bảo trì khi API thay đổi | Plugin thường cập nhật nhanh | Phải tự sửa code |
| Chi phí | Miễn phí hoặc trả phí (Pro) | Miễn phí |
Lời khuyên cuối
- Nếu bạn mới bắt đầu hoặc không rành code → dùng plugin (WP Telegram + plugin Zalo Việt Nam).
- Nếu bạn muốn tối ưu tốc độ, tùy chỉnh chi tiết hoặc tránh phụ thuộc plugin → dùng code tay.
- Nên test kỹ trên đơn hàng thử nghiệm trước khi áp dụng thật.
- Đảm bảo không để lộ Token/API Key trong code (có thể lưu vào file wp-config.php hoặc custom fields).
Nếu bạn cần mẫu code mở rộng hơn (gửi cho nhiều chat ID, đính kèm ảnh sản phẩm, thông báo khi stock thấp…), hãy comment bên dưới!
Chúc các bạn thực hiện thành công !

