Skip to main content
Execute JavaScript Code cho phép bạn xử lý dữ liệu ngay trong Flow bằng JavaScript. Tính năng này phù hợp khi cần thực hiện phép tính, kiểm tra dữ liệu, phân loại khách hàng hoặc đọc một giá trị JSON mà không cần gửi dữ liệu sang hệ thống khác.

Cách hoạt động

Trong mã JavaScript, bạn có thể sử dụng dữ liệu của khách hàng bằng cú pháp {{field_name}}. Thay field_name bằng tên của Custom Field hoặc System Field cần dùng.
  • Với số, bạn có thể đặt biến trực tiếp như let age = {{user_age}};.
  • Với văn bản, hãy đặt biến trong dấu ngoặc kép như let name = "{{first_name}}";.
  • Mã phải có return để trả kết quả về Flow.
  • Chọn Output Custom Field nếu muốn lưu kết quả để dùng ở bước tiếp theo.
Action này chỉ chạy JavaScript thuần. Bạn không thể truy cập mạng, tệp, API hoặc thư viện bên ngoài. Để gọi một API, hãy sử dụng External API Request.

Thêm Action vào Flow

1

Mở Flow cần xử lý dữ liệu

Vào Flows, mở Flow cần chỉnh sửa, sau đó tạo hoặc chọn node Perform Action.
2

Chọn Execute JavaScript Code

Trong menu Action, chọn Tools rồi chọn Execute JavaScript Code.
Select Execute Javascript Code In Tools Menu
3

Nhập mã JavaScript

Nhập mã vào ô JavaScript code. Đảm bảo đoạn mã kết thúc bằng return.
4

Lưu kết quả

Trong Output Custom Field, chọn trường sẽ nhận kết quả rồi nhấn Save.
Configure Execute Javascript Code Action

Ví dụ thực tế

Tính số tiền sau giảm giá

Ví dụ đơn hàng có tổng tiền trong order_total và phần trăm giảm giá trong discount_percent:
Lưu kết quả vào Custom Field dạng số như final_total. Bạn có thể dùng {{final_total}} trong tin nhắn xác nhận đơn hàng.

Tính phí giao hàng theo khu vực

Ví dụ miễn phí giao hàng cho đơn từ 500.000, thu 30.000 tại Hà Nội hoặc Thành phố Hồ Chí Minh và 45.000 cho khu vực khác:
Lưu kết quả vào shipping_fee, sau đó cộng với giá trị đơn hàng hoặc hiển thị phí giao hàng cho khách.

Phân loại khách hàng

Ví dụ phân khách có tổng giá trị mua hàng từ 1.000.000 vào nhóm vip:
Lưu kết quả vào customer_level, sau đó dùng node Condition để chuyển khách VIP sang ưu đãi hoặc kịch bản chăm sóc riêng.

Kiểm tra địa chỉ email

Lưu kết quả vào email_status. Nếu giá trị là invalid, dùng Condition để yêu cầu khách nhập lại email.

Lấy tổng tiền từ dữ liệu JSON

Ví dụ Custom Field order_json đang lưu nội dung như {"total":750000,"status":"paid"}:
Lưu kết quả vào order_total. Giá trị 0 giúp Flow vẫn tiếp tục nếu dữ liệu JSON không hợp lệ hoặc không có thuộc tính total.

Sử dụng kết quả trong Flow

Sau khi Action chạy, giá trị trả về được lưu vào Output Custom Field đã chọn. Bạn có thể:
  • Chèn trường đó vào tin nhắn, ví dụ Tổng thanh toán của bạn là {{final_total}}.
  • Dùng node Condition để chia nhánh dựa trên kết quả.
  • Truyền kết quả sang một Action khác để tiếp tục tính toán hoặc cập nhật dữ liệu.

Lưu ý khi viết mã

  • Kiểm tra đúng tên trường được đặt trong {{...}}.
  • Đặt giá trị văn bản trong dấu ngoặc kép, nhưng không đặt số trong dấu ngoặc kép nếu cần tính toán trực tiếp.
  • Luôn có câu lệnh return.
  • Với JSON hoặc dữ liệu có thể không hợp lệ, dùng try...catch và trả về một giá trị dự phòng.
  • Chạy thử Flow với một liên hệ kiểm tra trước khi sử dụng cho khách hàng.