Xin chào ! Nếu đây là lần đầu tiên bạn đến với diễn đàn, xin vui lòng danh ra một phút bấm vào đây để đăng kí và tham gia thảo luận cùng VnPro.
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Làm sao để một chatbot trên Webex tự động nhận tin nhắn mà không cần liên tục gọi API?

    Câu trả lời nằm ở Webhook và cách Cisco Webex Teams Collaboration API hoạt động.

    Trong bài lab này, chúng ta sẽ từng bước xây dựng một Webex Bot, sử dụng Postman để gọi các REST API, quản lý Spaces, đọc Messages và cuối cùng cấu hình Webhook để Webex tự động gửi thông báo khi có tin nhắn mới. Đây là một bài lab rất phù hợp cho người mới bắt đầu với Cisco DevNet vì kết hợp đầy đủ các thành phần quan trọng như Authentication, REST API và Event Notification.

    Bước 1: Tạo Webex Bot

    Đăng nhập vào Cisco Developer Portal và tạo một Bot mới. Sau khi hoàn tất, hệ thống sẽ cung cấp Bot Access Token, đây là thông tin quan trọng nhất vì mọi API Request đều phải sử dụng Token này để xác thực.

    Tiếp theo, thêm Bot vào một Webex Room và gửi thử một tin nhắn. Mục đích của bước này là kiểm tra Bot đã có thể tham gia cuộc hội thoại hay chưa. Nếu Bot chưa được thêm vào Room, các API liên quan đến Messages sẽ không trả về kết quả như mong muốn.

    Bước 2: Cấu hình Postman

    Import bộ Webex Teams Postman Collection vào Postman, sau đó mở phần Authorization và thay giá trị Token bằng Bot Access Token vừa tạo.

    Việc cấu hình ở cấp Collection giúp tất cả các Request sử dụng chung cơ chế xác thực, thuận tiện hơn khi kiểm thử nhiều API. Đây cũng là cách làm phổ biến khi phát triển và kiểm thử các ứng dụng sử dụng REST API.

    Bước 3: Lấy danh sách Spaces

    API đầu tiên cần thực hiện là List Rooms để lấy danh sách các Spaces mà Bot đang tham gia.

    Kết quả trả về ở dạng JSON với nhiều trường thông tin, trong đó Room ID là giá trị cần lưu lại vì sẽ được sử dụng trong các Request tiếp theo.

    Tài liệu hướng dẫn lưu Room ID vào Variables của Postman. Đây là một thao tác nhỏ nhưng rất hữu ích, giúp Collection dễ tái sử dụng và hạn chế việc chỉnh sửa thủ công khi làm việc với nhiều Room khác nhau.

    Bước 4: Đọc Messages trong Room

    Sau khi đã có Room ID, tạo Request List Messages để lấy lịch sử tin nhắn của Room.

    Nếu trước đó bạn đã gửi một tin nhắn cho Bot, API sẽ trả về nội dung tin nhắn cùng các thông tin như Message ID, người gửi và thời gian gửi.

    Qua bước này có thể thấy toàn bộ dữ liệu hội thoại đều được Webex cung cấp thông qua REST API. Đây cũng là nền tảng để xây dựng chatbot có khả năng đọc nội dung tin nhắn hoặc tích hợp với các hệ thống khác.

    Bước 5: Public Local Service bằng ngrok

    Để Webex có thể gửi dữ liệu về ứng dụng đang chạy trên máy tính cá nhân, cần public Local Service ra Internet.

    Trong bài lab, chúng ta sử dụng ngrok với lệnh:

    ngrok http 5005

    Sau khi chạy, ngrok sẽ tạo một HTTPS URL và chuyển tiếp toàn bộ Request về máy Local. Đồng thời, giao diện localhost:4040 cho phép theo dõi toàn bộ lưu lượng đi qua Tunnel, rất hữu ích trong quá trình kiểm tra và xử lý lỗi. Bước 6: Đăng ký Webhook


    Tiếp theo, mở thư mục Webhooks trong Postman và kiểm tra danh sách Webhook hiện có. Ban đầu danh sách sẽ rỗng.

    Tạo một Webhook mới và thay giá trị targetUrl bằng HTTPS URL do ngrok cung cấp.

    Webhook đóng vai trò là địa chỉ nhận Notification từ Webex. Thay vì ứng dụng phải liên tục kiểm tra xem có tin nhắn mới hay không, Webex sẽ chủ động gửi HTTP POST ngay khi có sự kiện xảy ra. Đây là cơ chế được sử dụng phổ biến trong các ứng dụng tích hợp theo thời gian thực.

    Bước 7: Kiểm tra Notification

    Gửi thêm một tin nhắn đến Bot và mở giao diện Web Console của ngrok.

    Nếu cấu hình chính xác, bạn sẽ thấy một HTTP POST được Webex gửi đến Public URL và được Forward về ứng dụng Local. Điều này chứng minh Webhook đã hoạt động thành công.

    Từ dữ liệu Notification này, ứng dụng có thể xử lý nội dung tin nhắn, tự động phản hồi hoặc kích hoạt các tác vụ khác như gọi API, chạy Python Script hoặc tích hợp với hệ thống Monitoring và Automation.

    Tổng kết

    Bài lab giúp chúng ta làm quen với toàn bộ quy trình làm việc của Cisco Webex Teams Collaboration API: tạo Bot, xác thực bằng Access Token, quản lý Spaces, truy xuất Messages và cấu hình Webhook để nhận Notification theo thời gian thực.

    Mặc dù chỉ sử dụng Postman, nhưng những kiến thức trong bài là nền tảng quan trọng trước khi chuyển sang lập trình với Python hoặc Cisco SDK để xây dựng các ứng dụng DevNet và Network Automation. Nếu đang bắt đầu hành trình với Cisco DevNet, đây là một bài lab rất đáng để thực hành.

    Attached Files
Working...
X