Khi nào bạn cần sử dụng Dynamic Content?
Dynamic Content là giải pháp tối ưu cho doanh nghiệp trong các kịch bản tự động hóa nâng cao:- Tra cứu và cập nhật dữ liệu kho bãi: Hiển thị danh sách sản phẩm, tồn kho, giá bán trực tiếp từ máy chủ hoặc website của bạn lên chatbot.
- Tích hợp mô hình AI Agent: Cấu hình AI Agent trả về câu trả lời giàu tương tác (Rich Responses) dưới dạng thẻ Card hoặc Carousel kèm các nút bấm đặt hàng.
- Cá nhân hóa trải nghiệm khách hàng: Tra cứu lịch hẹn, điểm tích lũy, mã giảm giá hoặc trạng thái vận chuyển đơn hàng riêng cho từng liên hệ.
- Tự động phân loại và điều hướng: Vừa gửi tin nhắn giao diện đẹp mắt cho khách hàng, vừa tự động gán Tag, cập nhật Custom Field hoặc chuyển chat cho nhân viên tư vấn cùng lúc.
Cấu trúc dữ liệu JSON tổng quan
Dữ liệu Dynamic Content bắt buộc đóng gói dưới một chuỗi JSON hợp lệ với 2 mảng đối tượng chính ở cấp gốc (root level):- messages: Chứa danh sách các tin nhắn hiển thị trực tiếp cho người dùng. Bạn có thể gửi một hoặc nhiều tin nhắn liên tiếp trong mảng này.
- actions: Chứa các lệnh quản trị được hệ thống ChatbotX thực thi ngay lập tức khi tin nhắn được gửi đi.
Lưu ý: ChatbotX tự động đính kèm thông tin ID người dùng trong HTTP Header của mỗi HTTP Request gửi đến máy chủ của bạn dưới dạng X-USER-ID. Bạn có thể sử dụng thông tin này để xác định khách hàng tương tác.
Các mẫu tin nhắn được hỗ trợ (messages)
Mảngmessages hỗ trợ tất cả các định dạng tin nhắn chuẩn để hiển thị cho người dùng. Dưới đây là các mẫu cấu trúc JSON chi tiết:
Gửi tin nhắn văn bản đơn thuần
Mẫu gửi một tin nhắn văn bản đơn giản đến khách hàng:Gửi nhiều tin nhắn liên tiếp
Mẫu gửi hai hoặc nhiều tin nhắn văn bản nối tiếp nhau trong cùng một phản hồi:Gửi tin nhắn văn bản kèm nút bấm
Tin nhắn dạng văn bản có thể chứa tối đa 3 nút bấm. Tiêu đề của mỗi nút bấm hỗ trợ độ dài tối đa 20 ký tự. Có 3 loại nút bấm phổ biến:web_url: Mở liên kết trang web.postback: Kích hoạt một Flow hoặc gửi hành động tự động bằng cách điền ID của Flow hoặc mã JSON Action làm payload.phone_number: Gọi đến số điện thoại cấu hình sẵn.
Gửi tin nhắn kèm lựa chọn nhanh
Nút lựa chọn nhanh (Quick Replies) hiển thị ngay phía dưới tin nhắn thoại và sẽ biến mất sau khi khách hàng nhấn chọn. Hệ thống hỗ trợ tối đa 11 nút lựa chọn nhanh trong một tin nhắn. Bạn có thể sử dụng ID của Flow hoặc ID của Step làm payload.Gửi hình ảnh, video, âm thanh hoặc tệp tin
Bạn có thể gửi tệp truyền thông bằng cách thay đổi giá trị củatype trong phần attachment thành image (hình ảnh), video (video), audio (âm thanh), hoặc file (tệp tin tài liệu như PDF/Doc).
Gửi thẻ sản phẩm đơn lẻ
Thẻ sản phẩm (Generic Template) hiển thị hình ảnh minh họa, tiêu đề và mô tả ngắn gọn. Tiêu đề và mô tả của thẻ hỗ trợ tối đa 80 ký tự. Giá trị tùy chọn của thuộc tínhimage_aspect_ratio là horizontal (tỷ lệ ngang) hoặc square (tỷ lệ vuông).
Gửi thẻ sản phẩm kèm nút bấm
Một thẻ sản phẩm hỗ trợ đính kèm tối đa 3 nút bấm tương tác trực tiếp phía dưới:Gửi bộ sưu tập thẻ (Carousel)
Bộ sưu tập (Carousel) thực chất là tập hợp nhiều thẻ sản phẩm xếp liền kề nhau cho phép khách hàng cuộn ngang để xem lựa chọn. Một bộ sưu tập hỗ trợ tối đa 10 thẻ sản phẩm.Gửi tin nhắn riêng của WhatsApp
Kênh WhatsApp hỗ trợ một số kiểu tin nhắn đặc thù không có trên các kênh khác: ví dụ như Interactive Button Message (Tin nhắn nút bấm tương tác). Cấu trúc dữ liệu JSON cần tuân thủ đúng định dạng quy định của WhatsApp Cloud API. ChatbotX tự động gán thông tin người nhận vào tham sốto trước khi gửi đi.
Thực thi hành động tự động (actions)
Mảngactions cho phép bạn gửi các lệnh điều khiển để hệ thống tự động xử lý thông tin liên hệ của khách hàng ngay khi gửi phản hồi. Dưới đây là các hành động được hỗ trợ:
Thêm Tag
Gán một nhãn phân loại (Tag) cho khách hàng:Xóa Tag
Gỡ bỏ một nhãn phân loại khỏi thông tin khách hàng:Cập nhật Custom Field
Ghi giá trị mới vào một trường dữ liệu tùy chỉnh (Custom Field) hoặc các trường thông tin hệ thống (nhưphone, email, full_name, first_name, last_name):
Xóa Custom Field
Xóa bỏ giá trị đã lưu trong một trường dữ liệu tùy chỉnh:Kích hoạt Flow
Kích hoạt một luồng kịch bản tự động (Flow) bằng ID số cụ thể. Bạn có thể lấy ID này từ liên kết của Flow trong trang danh sách:Chuyển hội thoại cho nhân viên
Chuyển cuộc trò chuyện từ trạng thái chatbot tự động sang hàng chờ hỗ trợ trực tiếp của nhân viên:Gán hội thoại cho Admin
Chỉ định một Admin cụ thể quản lý và trả lời cuộc hội thoại:Bỏ gán hội thoại
Gỡ bỏ Admin đang phụ trách và đưa cuộc trò chuyện trở lại danh sách hàng chờ chung:Kết hợp nhiều hành động
Bạn có thể kết hợp chạy đồng thời nhiều hành động trong cùng một phản hồi:Sử dụng hành động làm Payload cho nút bấm và Lựa chọn nhanh
Do thuộc tínhpayload của nút bấm hoặc Quick Reply yêu cầu kiểu dữ liệu là chuỗi văn bản (string), bạn cần mã hóa (serialize) đối tượng chứa mảng actions thành một chuỗi JSON. Dưới đây là ví dụ cấu trúc nút bấm gọi hành động kích hoạt Flow sau khi nhấn:
2 Phương thức triển khai Dynamic Content trên ChatbotX
Qua External API Request (Webhook)
Sử dụng trong kịch bản Flow Builder khi cần kết nối hệ thống CRM, ERP, Google Sheets hoặc Server riêng của doanh nghiệp.
Qua AI Agent (Rich Responses)
Cấu hình trực tiếp trong phần System Message (Prompt) của AI Agent để AI tự động xuất ra giao diện trực quan và thực thi lệnh.
Phương thức 1: Sử dụng trong Flow Builder (External API Request)
Trong trình chỉnh sửa kịch bản (Flow Builder), bạn sử dụng khối External API Request để gửi yêu cầu HTTP (GET hoặc POST) tới máy chủ của bạn. Máy chủ xử lý dữ liệu và trả về phản hồi dưới dạng JSON Dynamic Content.Cấu hình URL và Phương thức kết nối
Nhập đường dẫn Webhook của máy chủ (Endpoint URL), chọn phương thức (POST hoặc GET) và điền các tham số Header cần thiết (như API Key hoặc Authorization token).
Thiết lập phản hồi Dynamic Content
Tại mục cấu hình Response, chọn bật chế độ Dynamic Content. Máy chủ của bạn sẽ trả về chuỗi JSON chứa mảng
messages và actions.Phương thức 2: Cấu hình cho AI Agent (Rich Responses)
Bạn dán quy tắc phản hồi JSON Dynamic Content vào ô System Message (Prompt) của AI Agent. Khi khách hàng trò chuyện, AI Agent tự động đóng vai trò như một máy chủ thông minh sinh ra chuỗi JSON Dynamic Content để ChatbotX hiển thị. Để xem hướng dẫn chi tiết và sao chép mẫu Prompt chuẩn thực tế, tham khảo bài viết Rich Responses.Mẹo thực tiễn và giới hạn hệ thống
Khi sử dụng External Request để lấy dữ liệu từ máy chủ cá nhân, hệ thống ChatbotX tự động đính kèm thông tin ID người dùng trong HTTP Header dưới dạng
X-USER-ID. Bạn có thể sử dụng Header này để xác định chính xác người dùng đang tương tác trên máy chủ của mình.Giới hạn cuộc gọi (Rate Limit): Tần suất giới hạn cuộc gọi mặc định đối với External Request là 100 requests trong mỗi 60 giây trên mỗi tài khoản bot.