Action Node - Logic - Condition

I. Tổng quan

Node Condition dùng để đánh giá dữ liệu đầu vào và quyết định flow sẽ đi tiếp theo nhánh nào.

1. Vấn đề

  • Không phải mọi flow đều chạy cùng một chuỗi bước cố định; nhiều trường hợp cần rẽ nhánh theo field CRM, nội dung message hoặc giá trị do node trước trả về.

2. Giải pháp

  • Cung cấp node Condition để so sánh dữ liệu đầu vào với một hoặc nhiều điều kiện rồi chuyển flow sang nhánh phù hợp.

3. Đối tượng

  • Người cấu hình flow có logic rẽ nhánh.

4. Tầm nhìn/insight

  • Tương lai có thể hỗ trợ biểu thức phức tạp hơn, nhiều nhánh hơn hoặc điều kiện lồng nhau.

II. Yêu cầu chức năng

1. Danh sách tính năng

  • So sánh dữ liệu đầu vào.
  • Chọn nhánh đúng/sai hoặc nhánh theo nhiều điều kiện.

2. Đặc tả chi tiết

  • Use case 1.1: User thêm node Condition vào flow -> Chọn field đầu vào, toán tử và giá trị so sánh -> Khi flow chạy, hệ thống đánh giá điều kiện rồi đi tiếp sang nhánh tương ứng.

3. Danh sách nghiệp vụ

  • Node phải xác định được field đầu vào cần so sánh.
  • Toán tử so sánh phải phù hợp với kiểu dữ liệu.
  • Nếu thiếu dữ liệu đầu vào bắt buộc, node có thể trả lỗi hoặc đi nhánh mặc định theo rule hệ thống đã chốt.
  • Output của node phải cho biết nhánh đã được chọn để dễ truy vết trong run detail.

4. Giao diện

  • Panel cấu hình cần có các field chọn nguồn dữ liệu, toán tử và giá trị so sánh.
  • Nếu hỗ trợ nhiều nhánh, UI cần thể hiện rõ từng nhánh trên canvas.

III. Yêu cầu phi chức năng

  • Cơ chế đánh giá điều kiện phải nhất quán giữa builder test và runtime thực tế.

IV. Dependency (liên quan & phụ thuộc)


V. API Contract (dev viết)

  • Chưa chốt API chi tiết.

VI. Test case (BA hoặc tester viết)

  • TC1: Điều kiện đúng -> Flow đi đúng nhánh cấu hình.
  • TC2: Điều kiện sai -> Flow đi nhánh còn lại.
  • TC3: Thiếu input bắt buộc -> Node báo lỗi hoặc xử lý theo rule mặc định.