Chương 10: Hướng dẫn tích hợp Facebook Messenger vào EzyOA để kết nối với Chatbot
Back To BlogsỞ bài trước, chúng ta đã có một chatbot Ezyvora hoạt động trên website và có thể sử dụng Chat Profile trong EzyChat để xử lý câu hỏi của khách hàng. Tuy nhiên, khách hàng không phải lúc nào cũng truy cập website để đặt câu hỏi. Với nhiều doanh nghiệp, Facebook Page cũng là một điểm chạm quan trọng: khách xem bài viết, tìm hiểu sản phẩm rồi nhắn tin trực tiếp qua Messenger.
Thay vì xây thêm một chatbot riêng cho Facebook, trong bài này chúng ta sẽ kết nối Facebook Messenger với chatbot Ezyvora thông qua EzyOA. Nhờ đó, chatbot đang sử dụng trên website có thể tiếp tục được sử dụng để hỗ trợ khách hàng trên Facebook.
1. Tạo ứng dụng trên Meta for Developers
Để EzyOA có thể kết nối với Facebook Messenger và nhận tin nhắn từ Fanpage, trước tiên chúng ta cần tạo một ứng dụng trên Meta for Developers. Ứng dụng này đóng vai trò trung gian để EzyOA làm việc với các API của Meta. Truy cập Meta for Developers, chọn Ứng dụng của tôi → Tạo ứng dụng. Bạn có thể xem hướng dẫn chi tiết tại đây: EzyOA: Hướng dẫn tích hợp Facebook Messenger vào EzyOA, để hiểu chi tiết hơn về các thông số cấu hình, cách lấy Page Access Token và xử lý các lỗi thường gặp.
Nhập Tên ứng dụng và Email liên hệ, sau đó nhấn Tiếp.
Ở bước Trường hợp sử dụng, lựa chọn các trường hợp cần thiết cho quá trình tích hợp, trong đó quan trọng nhất là:
- Tương tác với khách hàng trên Messenger from Meta để ứng dụng có thể làm việc với tin nhắn Messenger.
- Quản lý mọi thứ trên Trang để ứng dụng có thể truy cập và làm việc với Fanpage.
Nếu chưa có hồ sơ doanh nghiệp phù hợp, tại bước Doanh nghiệp có thể chọn Tôi chưa muốn kết nối hồ sơ doanh nghiệp, sau đó tiếp tục qua phần Yêu cầu.
Cuối cùng, kiểm tra lại thông tin tại Tổng quan và nhấn Tạo ứng dụng. Sau khi hoàn tất, ứng dụng sẽ xuất hiện trong Meta for Developers cùng các trường hợp sử dụng đã chọn. Đây sẽ là ứng dụng chúng ta sử dụng ở các bước tiếp theo để kết nối Facebook Page → EzyOA → Chatbot.
2. Kết nối ứng dụng Meta với EzyOA
Sau khi tạo ứng dụng trên Meta, bước tiếp theo là đưa thông tin ứng dụng vào EzyOA để thiết lập kết nối với Facebook Messenger. Quay lại EzyPlatform, vào EzyOA → Các dịch vụ OA, mở dịch vụ MESSENGER. Tại đây, sao chép Đường dẫn callback xác thực và sử dụng đường dẫn này để cấu hình URI chuyển hướng OAuth trên Meta.
Trong Meta for Developers, vào Cài đặt ứng dụng → Thông tin cơ bản để lấy ID ứng dụng và Khóa bí mật của ứng dụng. Đồng thời, tại phần Đăng nhập bằng Facebook → Cài đặt, chúng ta sẽ cần khai báo đường dẫn callback do EzyOA cung cấp.
Tiếp theo, chỉnh sửa dịch vụ Messenger trên EzyOA và nhập các thông tin tương ứng từ ứng dụng Meta, gồm ID ứng dụng và Khóa bí mật. Sau khi lưu thành công, EzyOA sẽ tạo các thông tin cần thiết cho quá trình xác thực, đồng thời hiển thị nút Lấy access token.
Nhấn Lấy access token, Meta sẽ mở cửa sổ cấp quyền. Chọn Fanpage muốn kết nối với EzyOA, ví dụ Ezyvora, sau đó nhấn Tiếp tục. Kiểm tra các quyền mà ứng dụng yêu cầu để quản lý Trang, Messenger và webhook, rồi nhấn Lưu.
Khi Meta hiển thị thông báo tài khoản đã được kết nối với ứng dụng Chatbot Ezyvora, quá trình cấp quyền cho Fanpage đã hoàn tất. Từ đây, EzyOA đã có thể sử dụng kết nối này cho các bước cấu hình Messenger và Chatbot tiếp theo.
3. Thử nghiệm quyền truy cập Messenger trên Meta
Sau khi Fanpage đã được kết nối với ứng dụng, chúng ta cần thử nghiệm các quyền mà EzyOA sẽ sử dụng khi làm việc với Facebook Messenger.
Trong Meta for Developers, quay lại Bảng điều khiển của ứng dụng và chọn Thử nghiệm trường hợp sử dụng.
Tại đây, Meta hiển thị các trường hợp sử dụng đã được thêm vào ứng dụng. Với quá trình kết nối Messenger, chúng ta sẽ sử dụng Trình khám phá API Đồ thị để kiểm tra quyền truy cập trước khi tiếp tục cấu hình.
Mở từng trường hợp sử dụng để kiểm tra các quyền API cần thiết. Sau đó nhấn Mở Trình khám phá API Đồ thị.
Trong Trình khám phá API Đồ thị, chọn ứng dụng Chatbot Ezyvora. Tại phần quyền, thêm các quyền cần thiết cho việc kết nối và xử lý Messenger:
pages_show_listpages_messagingpages_manage_metadata
Sau khi chọn quyền, nhấn Generate Access Token để tạo lại access token với các quyền vừa cấu hình.
Có thể thử gửi truy vấn /me?fields=id,name để kiểm tra token đang hoạt động.
Tiếp theo, tại mục Người dùng hoặc Trang, mở danh sách và chọn Fanpage Ezyvora để chuyển sang sử dụng Page Access Token.
Trong quá trình thử nghiệm, nếu Meta trả về lỗi OAuthException hoặc thông báo thiếu quyền truy cập như hình dưới, cần bổ sung quyền cho ứng dụng và tạo lại access token.
Cụ thể, bổ sung thêm quyền pages_read_engagement. Lúc này ứng dụng sẽ có bốn quyền cần sử dụng: pages_show_list, pages_messaging, pages_manage_metadata, pages_read_engagement.
Sau khi bổ sung quyền, nhấn lại Generate Access Token.
Meta sẽ yêu cầu xác nhận tài khoản đang sử dụng. Nhấn Tiếp tục.
Chọn Fanpage muốn cấp quyền cho ứng dụng. Trong ví dụ này, chúng ta chọn Ezyvora, sau đó nhấn Tiếp tục.
Meta sẽ hiển thị lại các quyền mà Chatbot Ezyvora yêu cầu, bao gồm quyền quản lý Messenger, đọc nội dung Trang, quản lý webhook và hiển thị danh sách Trang. Kiểm tra lại và nhấn Lưu.
Khi xuất hiện thông báo tài khoản đã được kết nối với Chatbot Ezyvora, nhấn Đã hiểu để hoàn tất quá trình cấp lại quyền.
Sau khi quay lại Trình khám phá API Đồ thị, chọn lại Mã người dùng và nhấn Gửi để kiểm tra.
Nếu API trả về id và name của tài khoản thay vì lỗi OAuthException, access token và các quyền đã được cấp thành công.
Đến đây, ứng dụng Meta đã có các quyền cần thiết để làm việc với Fanpage và Messenger. Ở bước tiếp theo, chúng ta sẽ tiếp tục cấu hình kết nối trong EzyOA để tin nhắn từ Facebook Page có thể được chuyển đến EzyChat và Chatbot Ezyvora.
Tiếp theo, tại mục Người dùng hoặc Trang, chuyển từ Mã người dùng sang Fanpage Ezyvora để kiểm tra quyền truy cập trực tiếp với Trang.
Giữ truy vấn /me?fields=id,name và nhấn Gửi một lần nữa. Lúc này yêu cầu API sẽ được thực hiện bằng quyền truy cập của Fanpage thay vì tài khoản người dùng.
Nếu kết nối thành công, kết quả trả về sẽ gồm id và name của Fanpage Ezyvora. Trong ví dụ này, id chính là Page ID mà chúng ta sẽ sử dụng khi cấu hình Messenger trên EzyOA ở bước tiếp theo.
Như vậy, chúng ta đã kiểm tra được cả quyền truy cập tài khoản và quyền truy cập Fanpage. Đồng thời, ứng dụng đã có các quyền cần thiết để EzyOA làm việc với Messenger và chúng ta cũng đã lấy được Page ID của Ezyvora.
4. Cập nhật Page ID và lấy Access Token trên EzyOA
Sau khi lấy được Page ID của Fanpage Ezyvora từ Trình khám phá API Đồ thị, quay lại EzyOA → Các dịch vụ OA và mở dịch vụ Messenger đã tạo trước đó.
Tại trường Mã UUID ứng dụng, nhập Page ID vừa lấy được từ Meta. Các thông tin như ID ứng dụng và Khóa bí mật tiếp tục giữ theo ứng dụng Chatbot Ezyvora đã cấu hình trước đó.
Kiểm tra lại thông tin, đặt Trạng thái là Đã kích hoạt, sau đó nhấn Lưu để cập nhật cấu hình.
Sau khi lưu thành công, quay lại trang chi tiết dịch vụ Messenger. Tại đây EzyOA hiển thị các thông tin phục vụ kết nối như Đường dẫn webhook, Token xác thực Webhook, Đường dẫn callback xác thực và Auth URL. Nhấn Lấy access token để EzyOA bắt đầu quá trình xác thực với Facebook.
Facebook sẽ mở cửa sổ xác nhận kết nối với ứng dụng Chatbot Ezyvora. Nếu trước đó đã cấp quyền cho ứng dụng, Facebook có thể hỏi bạn có muốn tiếp tục với các cài đặt đã sử dụng hay không. Nhấn Tiếp tục để hoàn tất quá trình xác thực.
Sau bước này, EzyOA có thể nhận access token cần thiết để làm việc với Fanpage Ezyvora. Tiếp theo, chúng ta sẽ cấu hình Webhook để Meta có thể chuyển các sự kiện và tin nhắn Messenger về EzyOA.
5. Chọn Chatbot làm kịch bản xử lý tin nhắn Messenger
Sau khi kết nối tài khoản Facebook thành công, quay lại EzyOA → Các dịch vụ OA và mở dịch vụ Messenger vừa cấu hình. Tại trang chi tiết, hệ thống sẽ hiển thị các thông tin phục vụ kết nối như Webhook URL, Webhook Verify Token, Authentication Callback URL và Auth URL.
Kéo xuống phần Các kịch bản (Scenarios). Tại mục Phản hồi tin nhắn văn bản (Text Message Response), mở danh sách các phương thức xử lý.
Hệ thống cung cấp một số lựa chọn như Chat Bot, Delivery Order Codes hoặc Task List. Trong trường hợp này, chúng ta muốn tin nhắn từ Facebook Messenger được chatbot Ezyvora xử lý, vì vậy chọn Chat Bot.
Sau khi chọn Chat Bot, hệ thống sẽ yêu cầu chọn Chat Profile tương ứng. Tuy nhiên, trước khi Chat Profile có thể xuất hiện để lựa chọn, chúng ta cần khởi động Chat Profile Indexer trong EzyChat.
6. Khởi động Chat Profile Indexer
Truy cập EzyChat → Settings. Tại Chat Profile Indexer, nhấn Start.
Khi xuất hiện thông báo Successfully, Chat Profile Indexer đã được khởi động thành công.
7. Chọn Chat Profile Ezyvora
Quay lại EzyOA → OA Services và mở lại dịch vụ Messenger. Trong phần Scenarios, giữ Text Message Response là Chat Bot.
Tại Chat Profile Id, nhập từ khóa ezy và chọn Chat Profile ezyvora<1> trong danh sách gợi ý.
Cuối cùng, nhấn Save để lưu cấu hình.
Như vậy, Messenger đã được cấu hình để chuyển tin nhắn của khách hàng sang Chatbot Ezyvora xử lý.
8. Bổ sung quyền Email cho ứng dụng Meta
Quay lại ứng dụng đã tạo trên Meta for Developers, tại phần Quyền và tính năng, tìm quyền email và nhấn Thêm.
Meta sẽ hiển thị thông báo cho biết quyền này có thể được sử dụng trong các trường hợp sử dụng khác của ứng dụng. Nhấn Add để xác nhận.
Sau khi hoàn tất, quyền email sẽ được thêm vào ứng dụng.
9. Cấu hình Webhook để nhận tin nhắn Messenger
Tiếp theo, trong trường hợp sử dụng Messenger from Meta, chọn Webhooks.
Tại danh sách sản phẩm Webhook, chọn Page. Điền hai thông tin đã lấy từ dịch vụ Messenger trên EzyOA vào:
- URL gọi lại: Webhook URL của dịch vụ Messenger.
- Xác minh mã: Webhook Verify Token tương ứng.
Sau khi nhập đầy đủ thông tin, nhấn Xác minh và lưu.
Nếu thông tin chính xác, Meta sẽ xác minh Webhook thành công và hiển thị danh sách các trường có thể đăng ký nhận sự kiện.
Lưu ý: Webhook URL và Verify Token trong hình chỉ mang tính minh họa. Khi thực hiện, hãy sử dụng thông tin của dịch vụ Messenger bạn đã cấu hình trên EzyOA.
10. Đăng ký sự kiện messages
Trong danh sách Trường webhook, tìm đến trường messages và bật Đăng ký.
Đây là sự kiện cần thiết để ứng dụng nhận được thông báo khi người dùng gửi tin nhắn đến Facebook Page.
Khi Meta hiển thị thông báo Đã đăng ký theo dõi trường webhook messages, quá trình đăng ký đã hoàn tất.
Các trường Webhook khác chưa cần sử dụng trong hướng dẫn này có thể giữ nguyên trạng thái chưa đăng ký.
11. Kiểm tra Chatbot trên Facebook Messenger
Sau khi hoàn tất cấu hình, quay lại Facebook Page Ezyvora và mở cửa sổ Messenger để kiểm tra kết nối.
Gửi thử một tin nhắn, ví dụ "xin chào". Nếu Messenger, Webhook, EzyOA và Chatbot đã được kết nối đúng, tin nhắn sẽ được chuyển đến chatbot để xử lý.
Sau một khoảng thời gian ngắn, chatbot Ezyvora sẽ tự động gửi nội dung phản hồi ngay trong cuộc trò chuyện Messenger.
Như vậy, khách hàng không cần truy cập trực tiếp website vẫn có thể trò chuyện với cùng chatbot Ezyvora ngay trên Facebook Messenger.
Kết luận
Như vậy, chúng ta đã hoàn tất việc kết nối Facebook Messenger với Chatbot Ezyvora thông qua EzyOA. Thay vì xây dựng một chatbot riêng cho từng kênh, Ezyvora có thể sử dụng cùng một Chat Profile trong EzyChat để tiếp nhận và xử lý câu hỏi từ cả website lẫn Facebook Messenger.
Điều này giúp doanh nghiệp mở rộng thêm một điểm chạm với khách hàng nhưng vẫn quản lý chatbot tập trung trên EzyPlatform. Khi cần cập nhật cách chatbot tư vấn hoặc dữ liệu mà chatbot sử dụng, chúng ta có thể tiếp tục làm việc với Chat Profile hiện có thay vì phải cấu hình lại một chatbot riêng cho Facebook.
Nguyễn Thị Thanh Tuyền - Chuyên viên Marketing