Khi OA đã có lượng tin nhắn đều đặn, nhân viên trực sẽ nhận ra phần lớn câu hỏi lặp lại: giờ mở cửa, còn hàng không, đơn của tôi tới đâu rồi, đổi lịch hẹn thế nào. Chatbot sinh ra để gánh phần đó. Bài này dành cho chủ doanh nghiệp muốn hiểu chatbot Zalo làm được gì trước khi thuê làm, và cho người làm kỹ thuật cần một khung kiến trúc để bắt đầu.
Chatbot Zalo làm được gì
- Trả lời câu hỏi thường gặp: giờ làm việc, địa chỉ, chính sách đổi trả, cách thanh toán.
- Tra dữ liệu thật: khách nhập mã đơn hoặc số điện thoại, bot trả trạng thái đơn hàng từ phần mềm bán hàng.
- Đặt và đổi lịch hẹn: bot đưa ra khung giờ trống từ hệ thống lịch, khách chọn, bot xác nhận.
- Thu thập thông tin trước khi chuyển nhân viên: nhu cầu, ngân sách, khu vực, để nhân viên vào cuộc là tư vấn được ngay.
- Trực ngoài giờ: ghi nhận yêu cầu, hẹn giờ phản hồi, tạo phiếu việc cho sáng hôm sau.
Việc chatbot không nên làm: đàm phán giá, xử lý khiếu nại gay gắt, tư vấn những việc có hậu quả pháp lý hay sức khoẻ. Những việc này cần người thật, và bot nên nhận ra để chuyển sớm.
Chatbot theo kịch bản hay chatbot AI
Chatbot theo kịch bản
Bot đi theo cây lựa chọn và từ khoá do người thiết kế: khách bấm nút hoặc gõ đúng từ khoá, bot trả lời tương ứng. Ưu điểm là dễ kiểm soát, không nói sai điều chưa được duyệt, chi phí vận hành thấp. Nhược điểm là cứng nhắc: khách hỏi theo cách không có trong kịch bản thì bot không hiểu.
Chatbot AI
Bot dùng mô hình ngôn ngữ lớn để hiểu câu hỏi tự do và trả lời dựa trên tài liệu của doanh nghiệp (chính sách, danh mục sản phẩm, câu hỏi thường gặp). Ưu điểm là tự nhiên, hiểu nhiều cách hỏi. Rủi ro là có thể trả lời tự tin một điều sai, nên phải giới hạn phạm vi, trả lời chỉ từ tài liệu được cung cấp, và không cho AI tự hứa giá hay khuyến mãi.
Kết hợp là cách thực tế nhất
Các việc có quy trình rõ (tra đơn, đặt lịch) đi theo kịch bản và gọi dữ liệu thật. Câu hỏi tự do đi qua AI với phạm vi hẹp. Mọi thứ ngoài phạm vi chuyển cho người thật. Cách chia này giữ được độ chính xác ở chỗ cần chính xác và độ linh hoạt ở chỗ cần linh hoạt.
Chatbot Zalo hoạt động thế nào về kỹ thuật
Luồng cơ bản khi dùng API chính thức của Zalo OA:
- Doanh nghiệp tạo một ứng dụng trên trang dành cho nhà phát triển của Zalo, liên kết ứng dụng với OA và được OA cấp quyền.
- Ứng dụng nhận mã truy cập (access token) để gọi API thay mặt OA. Mã này có thời hạn và phải được làm mới định kỳ bằng mã làm mới (refresh token).
- Doanh nghiệp khai báo một địa chỉ webhook: mỗi khi có sự kiện (khách gửi tin, khách quan tâm OA, khách bấm nút), nền tảng gửi một yêu cầu tới địa chỉ này.
- Máy chủ của doanh nghiệp nhận sự kiện, kiểm tra chữ ký để chắc chắn sự kiện thật sự từ nền tảng, rồi xử lý: tra dữ liệu, gọi AI, quyết định chuyển người.
- Máy chủ gọi API gửi tin để trả lời khách trong khung chat.
Tên API, định dạng dữ liệu, loại tin được phép gửi và hạn mức nằm trong tài liệu chính thức cho nhà phát triển và thay đổi theo phiên bản. Khung dưới đây là mã giả minh hoạ logic, không phải mã chạy được với API thật.
ts// Ma gia: xu ly mot su kien tin nhan tu webhook
async function xuLySuKien(req) {
if (!chuKyHopLe(req)) return tuChoi(); // chi nhan su kien tu nen tang
const ev = req.body;
if (daXuLy(ev.id)) return ok(); // chong xu ly trung khi nen tang gui lai
ghiNhan(ev.id);
traLoiNgay(); // tra 200 nhanh, xu ly nang de sau
const khach = await timKhach(ev.nguoiGui); // noi voi CRM / phan mem ban hang
if (dangGapNhanVien(khach)) return chuyenChoNhanVien(ev);
const y = phanLoai(ev.noiDung); // tu khoa, nut bam, hoac AI
if (y === "tra-don") return guiTin(khach, await trangThaiDon(khach));
if (y === "dat-lich") return guiTin(khach, await khungGioTrong());
if (y === "hoi-dap") return guiTin(khach, await traLoiTuTaiLieu(ev.noiDung));
return chuyenChoNhanVien(ev, "ngoai pham vi");
}Những điểm kỹ thuật hay bị bỏ sót
- Làm mới mã truy cập tự động và cảnh báo khi làm mới thất bại. Mã hết hạn là bot im lặng mà không ai biết.
- Trả lời webhook nhanh rồi mới xử lý phần nặng (gọi AI, tra dữ liệu) ở hàng đợi phía sau, tránh nền tảng coi là lỗi và gửi lại.
- Chống xử lý trùng: cùng một sự kiện có thể tới hai lần, bot không được trả lời hai lần hay tạo hai lịch hẹn.
- Ghi nhật ký mọi hội thoại và mọi quyết định của bot để xem lại khi khách phàn nàn.
- Máy chủ nhận webhook phải chạy liên tục và được giám sát. Webhook đặt trên một máy tính văn phòng tắt lúc tối là bot chỉ làm giờ hành chính.
Kinh nghiệm hạ tầng khi chạy webhook
Ở Alodev, các ứng dụng nhận sự kiện từ bên ngoài chạy trong container trên cụm máy chủ nhiều node do chúng tôi tự vận hành, và nhận lưu lượng qua đường hầm của mạng phân phối thay vì mở cổng trực tiếp trên máy chủ. Với chatbot, cách bố trí này cho vài lợi ích thực tế: địa chỉ webhook ổn định dù ứng dụng chuyển giữa các node, máy chủ không lộ địa chỉ ra ngoài, và có một lớp lọc trước khi yêu cầu vào tới ứng dụng.
Bài học quan trọng hơn cả là giám sát bằng hành vi, không bằng trạng thái. Một dịch vụ báo "đang chạy" chưa chắc đang trả lời được khách: mã truy cập có thể đã hết hạn, hàng đợi có thể đang kẹt. Cách kiểm tra đáng tin là định kỳ gửi một tin thử qua đúng đường khách dùng và đo xem có câu trả lời không, bao lâu thì có.
Chuyển cho người thật: phần quyết định trải nghiệm
Khách không ghét chatbot, khách ghét bị mắc kẹt với chatbot. Thiết kế phần chuyển giao cẩn thận:
- Luôn có lựa chọn "gặp nhân viên" trong menu và nhận diện các câu như "cho tôi nói chuyện với người".
- Chuyển tự động khi bot không hiểu hai lần liên tiếp, khi khách dùng từ ngữ bức xúc, hoặc khi câu hỏi thuộc nhóm nhạy cảm.
- Khi chuyển, bot tóm tắt những gì khách đã nói để nhân viên không hỏi lại.
- Trong lúc nhân viên đang trò chuyện, bot im lặng. Bot chen vào giữa cuộc trò chuyện của người thật là lỗi rất khó chịu.
- Ngoài giờ, bot nói thật: ghi nhận yêu cầu và báo khi nào nhân viên sẽ phản hồi.
Vì sao không nên làm chatbot trên Zalo cá nhân
Từ khoá chatbot Zalo cá nhân vẫn được tìm, và trên mạng có nhiều công cụ hứa tự động trả lời, tự kết bạn, tự gửi tin từ tài khoản cá nhân. Những công cụ này thường hoạt động bằng cách giả lập thao tác người dùng hoặc dùng kênh không chính thức, không phải API được nền tảng cung cấp cho mục đích này. Rủi ro gồm tài khoản bị hạn chế hoặc khoá, mất toàn bộ danh bạ khách, và việc trao mật khẩu tài khoản cho một công cụ bên ngoài. Doanh nghiệp muốn tự động hoá trên Zalo nên đi đường chính thức qua OA.
Dữ liệu và quyền riêng tư
- Chỉ hỏi thông tin cần cho việc đang làm. Tra đơn thì cần mã đơn, không cần hỏi ngày sinh.
- Khi gửi nội dung hội thoại cho dịch vụ AI bên ngoài, lọc bớt thông tin cá nhân không cần thiết và kiểm tra điều khoản xử lý dữ liệu của dịch vụ đó.
- Lưu hội thoại có thời hạn, phân quyền ai được xem.
- Tuân thủ quy định về bảo vệ dữ liệu cá nhân hiện hành và chính sách của nền tảng về tin nhắn.
Đo hiệu quả chatbot
- Tỷ lệ hội thoại bot tự giải quyết được mà không cần chuyển người.
- Tỷ lệ khách chủ động đòi gặp người sau khi nói chuyện với bot: cao là dấu hiệu bot đang cản trở.
- Thời gian phản hồi đầu tiên, trước và sau khi có bot, đặc biệt ngoài giờ.
- Các câu bot không hiểu, gom theo tuần để bổ sung kịch bản hoặc tài liệu.
Bắt đầu nhỏ: làm năm câu hỏi phổ biến nhất và một luồng tra dữ liệu, đo một tháng, rồi mở rộng theo số liệu. Nếu doanh nghiệp chưa biết câu hỏi nào phổ biến nhất, hãy đếm từ lịch sử tin nhắn của OA trước khi thiết kế bất cứ thứ gì.
Câu hỏi thường gặp
Zalo chatbot là gì?
Là chương trình tự động trả lời tin nhắn trên Zalo, chạy chính thức qua Zalo OA: nền tảng gửi tin nhắn của khách tới máy chủ của doanh nghiệp, máy chủ xử lý và gửi câu trả lời qua API.
Có làm chatbot cho Zalo cá nhân được không?
Có công cụ làm được nhưng thường dùng kênh không chính thức, có nguy cơ bị khoá tài khoản và mất danh bạ khách. Doanh nghiệp nên làm chatbot trên OA.
Chatbot Zalo có cần AI không?
Không bắt buộc. Kịch bản cộng với tra dữ liệu thật đã giải quyết phần lớn câu hỏi lặp lại. AI hữu ích cho câu hỏi tự do, nhưng cần giới hạn phạm vi và chỉ trả lời từ tài liệu đã duyệt.
Chatbot Zalo cần những gì về kỹ thuật?
Một OA đã xác thực, ứng dụng đăng ký trên trang nhà phát triển của Zalo và được OA cấp quyền, máy chủ chạy liên tục để nhận webhook, cơ chế làm mới mã truy cập, và kết nối tới dữ liệu cần tra như đơn hàng, lịch hẹn.
Làm sao để chatbot không làm phiền khách?
Luôn có đường gặp người thật, chuyển tự động khi bot không hiểu, bot im lặng khi nhân viên đang trò chuyện, và không dùng bot để gửi quảng cáo dồn dập.


