
Hiện nay việc sử dụng ứng dụng Telegram để làm các kênh trao đổi thông tin, kênh thông báo đang ngày càng phổ biến và dần trở thành ứng dụng không thể thiếu của phần lớn người dùng trên toàn thế giới. Với ứng dụng Telegram, ngoài việc là một ứng dụng chat bảo mật , có độ ổn định cao. Thì Telegram còn là một kênh nhận thông báo vô cùng tốt riêng tư, bảo mật của người dùng được đặt lên hàng đầu và không thông qua sự kiểm soát của bất kỳ tổ chức nào.
Hôm nay hnitmedia sẽ hướng dẫn cách tích hợp báo đơn hàng Woocomerce qua Telegram nhanh nhất, không cần cài đặt Plugin hiện đang được rất nhiều bạn quan tâm. Trong bài viết này, hnitmedia sẽ hướng dẫn bạn cách tích hợp thông báo đơn hàng Woocommerce qua Telegram nhanh nhất và có thể tự tùy biến theo nhu cầu.
Hướng dẫn thiết lập
Bước 1: Tạo Token trên Telegram
Để kết nối với @BotFather lấy Token, bạn vào Telegram search @BotFather và chọn @BotFather có dấu tick √ như hình bên dưới. Hoặc bạn có thể truy cập trực tiếp liên kết https://telegram.me/BotFather để kết nối với @BotFather.

Nhấn START để bắt đầu cuộc trò chuyện.
Bạn soạn tiếp /newbot để tạo một bot mới.

Tiếp đó, bạn nhập tên cho bot cần tạo. (Lưu ý: tên bot phải được kết thúc bằng từ Bot. Ví dụ: kbazBot )

Sau khi nhập tên Bot thành công, bạn sẽ được cung cấp Token to access HTTP API như hình trên (khung đỏ). Bạn tiến hành lưu đoạn Token này lại.
Tiếp đó bạn thực hiện START bot vừa tạo lên để nó hoạt động.

Bước 2: Tạo nhóm để lấy mã nhóm
Mở ứng dụng Telegram > Chọn biểu tượng dấu 3 gạch ở góc trái bên trên.
- Chọn New Group > Chọn tài khoản bot mà bạn tạo ở trên thêm vào nhóm chat.
- Chọn dấu mũi tên ở góc phải bên dưới > Thay đổi tên và hình đại diện cho group chat.
- Chọn dấu tick ở góc phải phía dưới cùng > Chọn Tên nhóm phía trên cùng ứng dụng để thiết lập quyền cho các thành viên trong nhóm.
- Nhấn giữ tên thành viên mà bạn muốn thiết lập quyền > Chọn Promote to Admin để thiết lập các quyền mà Admin này có thể làm trong nhóm.
- Nhấn giữ tên thành viên mà bạn muốn thiết lập quyền > Chọn Change permissions để thiết lập quyền dành cho các thành viên còn lại.
Bước 3: Hướng dẫn lấy Groupd ID hoặc ChatID trên Telegram
3.1. Lấy Group ID
1️⃣ Thêm bot Rose vào nhóm cần lấy ID.
2️⃣ Trong khung chat nhóm, nhập lệnh /id rồi nhấn Enter.
3️⃣ Telegram sẽ trả về ID của nhóm/kênh

3.2. Cách lấy ID Telegram cá nhân
Để lấy ChatID, bạn vào Telegram search @userinfobot như hình bên dưới. Hoặc bạn có thể truy cập trực tiếp liên kết https://telegram.me/userinfobot để kết nối với @userinfobot.

Nhấn START để bắt đầu cuộc trò chuyện.

Sau khi nhấn START, bạn sẽ được cung cấp ID như hình trên (khung đỏ). Bạn tiến hành lưu đoạn ID này lại.
Bước III. Chèn Code Vào Website
Chèn đoạn Code dưới dây vào File functions.php của ChildTheme
add_action("woocommerce_thankyou","sendNotiTele", 5, 1);
function sendNotiTele($order_id){
if( !$order_id ){
return null;
}
$chatID = '****'; // ID của Group trong Telegram
$token = '#####'; // Token của con Bot gửi thông báo
$order = wc_get_order($order_id);
$txt = "ĐƠN HÀNG MỚI
\nMã đơn hàng #".$order->get_id().
"\nSố tiền: ".number_format($order->get_total()).
"\nTên khách: ".$order->get_billing_first_name().
"\nSố điện thoại: ".$order->get_billing_phone().
"\nĐịa chỉ Email: ".$order->get_billing_email().
"\nThanh toán: ".$order->get_payment_method_title().
"\n";
$txt .= "Sản Phẩm:\n";
foreach ( $order->get_items() as $item_id => $item ) {
$txt .= " + ".$item->get_name()." x ".$item->get_quantity()."\n";
}
$txt = urlencode($txt);
$curl_tele = curl_init();
curl_setopt_array($curl_tele, array(
CURLOPT_URL => "https://api.telegram.org/". $token."/sendMessage?chat_id=".$chatID."&text=".$txt,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
));
$response_tele = curl_exec($curl_tele);
}
Chèn Token Vào *** và ID Group vào ### (hoặc id cá nhân)
Vậy là xong.
Thiết Lập Nâng Cao
Trong trường hợp mình muốn sử dụng mỗi nhóm 1 tình trạng đơn hàng cho nhân viên xử lý thì chúng ta cần thay thế như sau:
woocommerce_order_status_pending
woocommerce_order_status_failed
woocommerce_order_status_on-hold
woocommerce_order_status_processing
woocommerce_order_status_completed
woocommerce_order_status_refunded
woocommerce_order_status_cancelled
Thay woocommerce_thankyou bằng 1 Hook tùy chỉnh theo 1 trạng thái nhất định. Khi đơn hàng ở trạng thái đơn hàng nào nó sẽ bắn về nhóm chứa trạng thái đó.
Lưu ý: Nhớ thay txt thành txt… | sendNotiTele thành sendNotiTele… | Trong đó … là ký tự bất kỳ. Để cho các đoạn không bị trùng nhau