Skip to content

Nguồn dữ liệu (Dynamic Action) ​

Trang này để làm gì ​

Khai báo các nguồn dữ liệu động dùng trong Dynamic Form, Zalo Mini App và Vibe Code Studio - ví dụ danh sách chi nhánh cho khách chọn, kết quả tra cứu đơn hàng, hay dữ liệu lấy thời gian thực từ hệ thống khác.

Đường dẫn: Chiến dịch → Nguồn dữ liệu (/dynamic-action/data-source)

Màn hình danh sách ​

Danh sách nguồn dữ liệu
Màn hình Nguồn dữ liệu. Ảnh chụp thực tế; tên người tạo đã thay bằng tên mẫu.
  1. Cột Loại - nguồn lấy dữ liệu từ đâu: DataHub (bảng nội bộ) hoặc API (hệ thống bên ngoài).
  2. Cột Cấu trúc dữ liệu - nguồn trả về Dạng danh sách (nhiều dòng) hay Dạng chi tiết (một bản ghi). Đây là lựa chọn quan trọng nhất, xem giải thích bên dưới.
  3. Nút Tạo mới - khai báo nguồn dữ liệu mới.

Hai trục phân loại ​

Mỗi nguồn dữ liệu được xác định bởi hai lựa chọn độc lập nhau. Hiểu đúng hai trục này là hiểu xong phần khó nhất của Dynamic Action.

Trục 1 - Dữ liệu lấy từ đâuDataHubĐọc từ bảng bạn đã tạo trong Data Hub. Nhanh, ổn định.APIGọi sang hệ thống ngoài. Dữ liệu luôn mới nhất.Trục 2 - Nguồn trả về cái gìDạng danh sáchNhiều dòng - để khách chọn một trong số đó.Dropdown chi nhánh · Danh sách bác sĩ ·Danh mục sản phẩm · Khung giờ còn trốngDạng chi tiếtMột bản ghi - để hiển thị thông tin đã tra ra.Tra cứu đơn theo mã · Điểm tích luỹ của khách ·Thông tin thành viên theo số điện thoại

Hai trục kết hợp thành bốn cách dùng:

Loại × Cấu trúcVí dụ thực tế
DataHub + Danh sáchDropdown chọn chi nhánh, lấy từ bảng chi_nhanh
DataHub + Chi tiếtTra điểm tích luỹ của khách theo số điện thoại
API + Danh sáchDanh sách bác sĩ còn lịch trống hôm nay, gọi sang hệ thống phòng khám
API + Chi tiếtTra trạng thái vận đơn theo mã, gọi sang hãng vận chuyển

Chọn sai cấu trúc là lỗi khó nhận ra

Nguồn Dạng danh sách gắn vào chỗ cần một bản ghi sẽ hiển thị dòng đầu tiên và im lặng bỏ qua phần còn lại. Ngược lại, nguồn Dạng chi tiết gắn vào dropdown chỉ cho ra đúng một lựa chọn.

Không có thông báo lỗi nào - form vẫn chạy, chỉ là kết quả sai. Hãy xác định trước bạn cần một hay nhiều trước khi tạo nguồn.

Nguồn DataHub - các bước ​

  1. Chuẩn bị bảng trong Data Hub Bảng cần có đủ cột bạn muốn dùng. Xem Tạo bảng.
  2. Tạo nguồn mới, chọn Loại = DataHub Trỏ tới bảng vừa chuẩn bị.
  3. Chọn cấu trúc trả vềDạng danh sách nếu để khách chọn; Dạng chi tiết nếu để tra cứu một bản ghi.
  4. Với dạng chi tiết: khai báo điều kiện tra cứu Ví dụ tra theo cột phone khớp với số điện thoại của khách đang mở form.
  5. Chọn trường hiển thị và trường giá trị Trường hiển thị là cái khách nhìn thấy (Chi nhánh Quận 1); trường giá trị là cái được lưu (CN-Q1).

Vì sao nên lưu mã thay vì lưu tên

Tên chi nhánh có thể đổi, có thể viết hoa khác nhau, có thể thừa khoảng trắng. Mã thì ổn định. Lưu mã giúp dữ liệu cũ vẫn khớp sau khi đổi tên hiển thị, và tránh việc cùng một chi nhánh bị đếm thành hai vì khác cách viết.

Nguồn API - các bước ​

  1. Chuẩn bị endpoint từ hệ thống của bạn Cần URL, phương thức (GET/POST) và cách xác thực. Phần này thường do bộ phận kỹ thuật cung cấp.
  2. Tạo nguồn mới, chọn Loại = API Điền URL và cấu hình header xác thực nếu có.
  3. Khai báo tham số đầu vào Ví dụ mã đơn hàng khách nhập vào form sẽ được truyền sang API.
  4. Ánh xạ trường từ kết quả trả về API trả JSON; bạn chỉ định trường nào trong JSON tương ứng với trường hiển thị và trường giá trị.
  5. Kiểm tra bằng một lượt gọi thử Xác nhận dữ liệu về đúng và đủ trước khi gắn vào form thật.

Nguồn API phụ thuộc vào hệ thống bên ngoài

API chậm hoặc lỗi sẽ làm form của khách bị treo ở bước đó. Với dữ liệu ít thay đổi (danh sách chi nhánh, danh mục sản phẩm), hãy đồng bộ về Data Hub theo lịch rồi dùng nguồn DataHub - vừa nhanh vừa không phụ thuộc.

Chỉ dùng API trực tiếp khi dữ liệu buộc phải mới theo thời gian thực, ví dụ số lượng tồn kho hoặc khung giờ còn trống.

So sánh nhanh khi phân vân ​

Câu hỏiChọn DataHubChọn API
Dữ liệu đổi mấy lần một ngày?Ít, theo ngày hoặc theo tuầnLiên tục, theo phút
Sai lệch vài phút có chấp nhận được?CóKhông
Hệ thống nguồn có sẵn API chưa?Không cầnBắt buộc phải có
Cần bộ phận kỹ thuật hỗ trợ?KhôngCó

Lỗi thường gặp ​

Hiện tượngNguyên nhânCách xử lý
Dropdown trốngBảng nguồn không có dòng nào, hoặc điều kiện lọc loại hếtMở bảng Data Hub kiểm tra dữ liệu thật
Dropdown chỉ có một lựa chọnNguồn đang để Dạng chi tiếtĐổi sang Dạng danh sách
Tra cứu luôn không ra kết quảĐiều kiện tra cứu so sánh sai định dạng (số điện thoại có +84 và không có)Chuẩn hoá định dạng ở cả hai phía
Form treo khi tới bước tra cứuAPI bên ngoài không phản hồiKiểm tra endpoint; cân nhắc chuyển sang nguồn DataHub

Bước tiếp theo ​

Tài liệu hướng dẫn sử dụng nền tảng CNV CDP