Điều kiện trong Shopify Flow

Trong Shopify Flow, điều kiện sẽ xác định xem có thực hiện thao tác hay không sau khi yếu tố kích hoạt bắt đầu quy trình làm việc. Khi đặt điều kiện, bạn cần chọn giá trị lấy từ dữ liệu cửa hàng, toán tử logic và đặt giá trị cần kiểm tra theo cách thủ công.

Kiểu dữ liệu được sử dụng trong Flow

Giá trị đầu tiên trong mọi điều kiện Flow là dữ liệu từ cửa hàng của bạn và API quản trị GraphQL.

Flow hỗ trợ các kiểu dữ liệu sau:

  • Float: Giá trị float là số có phần thập phân. Ví dụ: 4,25.
  • Integer: Giá trị interger là số nguyên không có phần thập phân. Ví dụ: 42.
  • Date: Giá trị date là số biểu thị ngày. Ví dụ: 01012021.
  • String: Giá trị string là văn bản. Phép so sánh sử dụng giá trị chuỗi không phân biệt chữ hoa chữ thường.
  • Boolean: Giá trị boolean là true hoặc false.
  • Enum: Giá trị enum là tập hợp dữ liệu cho phép biến là một tập hợp các hằng số định sẵn.

Toán tử logic sử dụng trong Flow

Toán tử logic xác định cách áp dụng điều kiện. Điều kiện có thể kiểm tra các thuộc tính đơn giản như tổng giá trị đơn hàng có lớn hơn một số tiền nhất định không hay khách hàng có chấp nhận thông tin tiếp thị không. Ngoài ra, toán tử logic còn có thể kiểm tra các thuộc tính phức tạp hơn.

Flow có thể sử dụng các toán tử sau:

Bằng

Toán tử Bằng so sánh các giá trị xem có giống nhau hay không. Trong ví dụ sau đây, giá trị order.currentTotalDiscountsSet.shopMoney.amount được truy xuất từ dữ liệu cửa hàng và so sánh với giá trị thứ hai là 50.

Ví dụ về quy trình làm việc sử dụng toán tử logic bằng để hủy đơn hàng nếu dữ liệu truy xuất bằng 50

Nếu giá trị đầu tiên bằng 50 thì điều kiện là true. Đơn hàng sẽ bị hủy.

Khác

Toán tử Khác so sánh các giá trị xem có giống nhau hay không. Trong ví dụ sau đây, giá trị order.currentTotalDiscountsSet.shopMoney.amount được truy xuất từ dữ liệu cửa hàng và so sánh với giá trị thứ hai là 50.

Ví dụ về quy trình làm việc sử dụng toán tử logic khác để hủy đơn hàng nếu dữ liệu truy xuất khác 50

Nếu giá trị đầu tiên bằng 93 thì điều kiện là true. Đơn hàng sẽ bị hủy.

Lớn hơn và Lớn hơn hoặc bằng

Các toán tử Lớn hơnLớn hơn hoặc bằng so sánh các giá trị xem giá trị đầu tiên lớn hơn hay lớn hơn hoặc bằng giá trị thứ hai. Trong ví dụ sau đây, giá trị order.currentTotalDiscountsSet.shopMoney.amount được truy xuất từ dữ liệu cửa hàng và so sánh với giá trị thứ hai là 50.

Ví dụ về quy trình làm việc sử dụng toán tử logic lớn hơn để hủy đơn hàng nếu dữ liệu truy xuất lớn hơn 50

Nếu giá trị từ cửa hàng là 137 thì điều kiện là true, vì 137 lớn hơn 50. Đơn hàng sẽ bị hủy.

Nhỏ hơn và Nhỏ hơn hoặc bằng

Toán tử Nhỏ hơnNhỏ hơn hoặc bằng so sánh các giá trị xem giá trị đầu tiên nhỏ hơn hay nhỏ hơn hoặc bằng giá trị thứ hai. Trong ví dụ sau đây, giá trị order.currentTotalDiscountsSet.shopMoney.amount được truy xuất từ dữ liệu cửa hàng và so sánh với giá trị thứ hai là 50.

Ví dụ về quy trình làm việc sử dụng toán tử logic nhỏ hơn hoặc bằng để hủy đơn hàng nếu dữ liệu truy xuất nhỏ hơn hoặc bằng 50

Nếu giá trị từ cửa hàng là 47 thì điều kiện là true, vì 47 nhỏ hơn hoặc bằng 50. Đơn hàng sẽ bị hủy.

Bất kỳ

Toán tử Bất kỳ so sánh các giá trị xem có dữ liệu đầu vào nào của giá trị đầu tiên chứa bất kỳ dữ liệu đầu vào nào của giá trị thứ hai không. Các giá trị cần kiểm tra phải được nhập riêng và theo sau là phím enter. Sử dụng toán tử Bất kỳ trên mảng trống sẽ dẫn đến kết quả đánh giá không chính xác. Trong ví dụ sau đây, giá trị order.lineitem.product.title được truy xuất từ dữ liệu cửa hàng và so sánh với tập hợp giá trị thứ hai: pineapple, guava, kiwi.

Ví dụ về quy trình làm việc sử dụng toán tử logic bất kỳ để hủy đơn hàng nếu dữ liệu truy xuất bao gồm pineapple, guava hay kiwi

Nếu giá trị từ cửa hàng là guava thì điều kiện là true, vì guava nằm trong mảng pineapple, guava, kiwi. Đơn hàng sẽ bị hủy.

Không phải bất kỳ

Toán tử Không phải bất kỳ so sánh các giá trị trong một mảng dữ liệu xem dữ liệu đầu vào của giá trị đầu tiên có chứa bất kỳ dữ liệu nào trong dữ liệu đầu vào của giá trị thứ hai hay không. Các giá trị cần kiểm tra phải được nhập riêng lẻ và theo sau là phím enter. Trong ví dụ sau đây, giá trị order.lineitem.product.title được truy xuất từ dữ liệu cửa hàng và so sánh với tập hợp giá trị thứ hai: pineapple, guava, kiwi.

Ví dụ về quy trình làm việc sử dụng toán tử logic không phải bất kỳ để hủy đơn hàng nếu dữ liệu truy xuất không bao gồm pineapple, guava, hay kiwi

Nếu giá trị từ cửa hàng là raspberry thì điều kiện là true, vì raspberry không nằm trong mảng pineapple, guava, kiwi. Đơn hàng sẽ bị hủy.

Bao gồm

Toán tử Bao gồm so sánh các giá trị xem có dữ liệu đầu vào nào của giá trị đầu tiên bao gồm dữ liệu đầu vào của giá trị thứ hai không. Trong ví dụ sau đây, giá trị order.lineitem.product.title được truy xuất từ dữ liệu cửa hàng và so sánh với giá trị thứ hai là scrape.

Ví dụ về quy trình làm việc sử dụng toán tử logic bao gồm để hủy đơn hàng nếu dữ liệu truy xuất bao gồm chuỗi scrape

Nếu giá trị từ dữ liệu cửa hàng là skyscraper thì điều kiện là true, vì chuỗi scrape hoàn toàn nằm trong chuỗi skyscraper. Đơn hàng sẽ bị hủy.

Không bao gồm

Toán tử Không bao gồm so sánh các giá trị xem có dữ liệu đầu vào nào của giá trị đầu tiên không bao gồm dữ liệu trong dữ liệu đầu vào giá trị thứ hai hay không. Trong ví dụ sau đây, giá trị order.lineitem.product.title được truy xuất từ dữ liệu cửa hàng và so sánh với giá trị thứ hai là scrape.

Ví dụ về quy trình làm việc sử dụng toán tử logic không bao gồm để hủy đơn hàng nếu dữ liệu truy xuất không bao gồm chuỗi scrape

Nếu giá trị lấy từ dữ liệu cửa hàng là scrap-metal thì điều kiện là true, vì chuỗi scrape hoàn toàn không nằm trong chuỗi scrap-metal. Đơn hàng sẽ bị hủy.

Bắt đầu bằng

Toán tử Bắt đầu bằng so sánh các giá trị xem giá trị đầu tiên có bắt đầu bằng dữ liệu trong giá trị thứ hai không. Trong ví dụ sau đây, giá trị order.shippingAddress.country được truy xuất từ dữ liệu cửa hàng và so sánh với giá trị thứ hai là United.

Ví dụ về quy trình làm việc sử dụng toán tử logic bắt đầu bằng để hủy đơn hàng nếu dữ liệu truy xuất bắt đầu bằng chuỗi United

Nếu giá trị từ cửa hàng là United Kingdom thì điều kiện là true, vì chuỗi United bắt đầu chuỗi United Kingdom. Đơn hàng sẽ bị hủy.

Không bắt đầu bằng

Toán tử Không bắt đầu bằng so sánh các giá trị xem có phải giá trị đầu tiên không bắt đầu bằng dữ liệu trong giá trị thứ hai không. Trong ví dụ sau đây, giá trị order.shippingAddress.country được truy xuất từ dữ liệu cửa hàng và so sánh với giá trị thứ hai là United.

Ví dụ về quy trình làm việc sử dụng toán tử logic không bắt đầu bằng để hủy đơn hàng nếu dữ liệu truy xuất không bắt đầu bằng chuỗi United

Nếu giá trị từ cửa hàng là Canada thì điều kiện là true, vì chuỗi Canada không bắt đầu chuỗi United Kingdom. Đơn hàng sẽ bị hủy.

Kết thúc bằng

Toán tử Kết thúc bằng so sánh các giá trị xem giá trị đầu tiên có kết thúc bằng dữ liệu trong giá trị thứ hai không. Trong ví dụ sau đây, giá trị order.lineitems.product.title được truy xuất từ dữ liệu cửa hàng và so sánh với giá trị thứ hai là last-available.

Ví dụ về quy trình làm việc sử dụng toán tử logic kết thúc bằng để hủy đơn hàng nếu dữ liệu truy xuất kết thúc bằng chuỗi last-available

Nếu giá trị từ cửa hàng là athletic socks last-available thì điều kiện là true, vì chuỗi athletic socks last-available kết thúc bằng chuỗi last-available. Đơn hàng sẽ bị hủy.

Không kết thúc bằng

Toán tử Không kết thúc bằng so sánh các giá trị xem có phải giá trị đầu tiên không kết thúc bằng dữ liệu trong giá trị thứ hai hay không. Trong ví dụ sau đây, giá trị order.lineitems.product.title được truy xuất từ dữ liệu cửa hàng và so sánh với giá trị thứ hai là last-available.

Ví dụ về quy trình làm việc sử dụng toán tử logic không kết thúc bằng để hủy đơn hàng nếu dữ liệu truy xuất không kết thúc bằng chuỗi last-available

Nếu giá trị từ cửa hàng là athletic socks new thì điều kiện là true, vì chuỗi athletic socks new không kết thúc bằng chuỗi last-available. Đơn hàng sẽ bị hủy.

Điều kiện đặt hàng

Bạn có thể tạo quy trình làm việc có nhiều điều kiện, trong đó mỗi điều kiện có thể dẫn đến các thao tác khác nhau. Thứ tự điều kiện có vai trò quan trọng. Hoạt động kiểm tra điều kiện bắt đầu vào đầu quy trình làm việc và tiến hành qua từng điều kiện theo cách có hệ thống. Hoạt động kiểm tra này sẽ dừng lại khi một điều kiện được đáp ứng.

Đáp ứng nhiều điều kiện

Khi đặt điều kiện, bạn có thể đặt nhiều tiêu chí và xác định xem Flow có coi điều kiện là true nếu đáp ứng tất cả điều kiện hay đáp ứng một điều kiện bất kỳ trong những điều kiện này không.

Nếu đáp ứng tất cả điều kiện

Thao tác chọn Nếu đáp ứng tất cả điều kiện chỉ trả về phản hồi true nếu mọi tiêu chí bạn đặt là true.

Ví dụ: Bạn tạo một quy trình làm việc để gắn thẻ khách hàng ở Canada và chi tiêu trên 500 USD cho một đơn hàng.

Ví dụ về quy trình làm việc sử dụng điều kiện và

Quy trình làm việc này chỉ gắn thẻ khách hàng khi khách hàng ở Canada và chi tiêu trên 500 USD cho đơn hàng. Nếu một trong hai điều kiện này là false, khách hàng sẽ không được gắn thẻ.

Nếu đáp ứng điều kiện bất kỳ

Thao tác chọn Nếu đáp ứng bất kỳ điều kiện nào sẽ trả về phản hồi true nếu bất kỳ tiêu chí nào bạn đặt ra là true.

Ví dụ: Bạn tạo một quy trình làm việc để gắn thẻ các đơn hàng được cho là có mức độ rủi ro cao hoặc trung bình.

Ví dụ về quy trình làm việc sử dụng điều kiện hoặc

Quy trình làm việc này sẽ gắn thẻ đơn hàng nếu có mức độ rủi ro cao hoặc trung bình. Chỉ cần một trong hai điều kiện đó là true, đơn hàng sẽ được gắn thẻ.

Kết hợp điều kiện và thao tác

Bạn có thể kết hợp các điều kiện với nhau để tạo ra một điều kiện lớn. Khi kết hợp, tất cả các điều kiện phải được đáp ứng để đảm bảo điều kiện tổng thể là true. Nếu có bất kỳ điều kiện nào không được đáp ứng, điều kiện tổng thể sẽ là false. Trong ví dụ sau đây, khách hàng phải chấp nhận tài liệu tiếp thị và tổng giá trị của đơn hàng phải đáp ứng một ngưỡng nhất định.

Ví dụ về quy trình làm việc kiểm tra tổng số tiền đã chi tiêu của khách hàng và thêm thẻ

Tương tự, bạn có thể kết hợp các thao tác với nhau để chạy nhiều thao tác. Ví dụ trên đây sử dụng nhiều điều kiện để kiểm tra xem khách hàng có đủ điều kiện tham gia chương trình khách hàng thân thiết không dựa trên tổng số tiền khách hàng đã chi tiêu trong cửa hàng. Trong ví dụ trên, các điều kiện sau đây được kiểm tra theo thứ tự xuất hiện:

  1. Gắn cho khách hàng thẻ Vàng nếu tổng giá trị lớn hơn 1.000 USD và khách hàng đồng ý nhận thông tin tiếp thị.
  2. Gắn cho khách hàng thẻ Bạc nếu tổng giá trị nhỏ hơn 1.000 USD nhưng lớn hơn 500 USD và khách hàng đồng ý nhận thông tin tiếp thị.
  3. Gắn cho khách hàng thẻ Đồng nếu khách hàng đã chi tiêu hơn 200 USD và đồng ý nhận thông tin tiếp thị.

Dữ liệu tĩnh và động trong điều kiện

Thông thường, giá trị thứ hai trong điều kiện là giá trị tĩnh được nhập thủ công. Giá trị này sẽ giữ nguyên mỗi khi quy trình làm việc chạy.

Bạn cũng có thể sử dụng giá trị động nếu trường của giá trị thứ hai hiển thị biểu tượng </>. Giá trị động được lấy từ dữ liệu cửa hàng mỗi khi quy trình làm việc chạy. Nếu muốn sử dụng giá trị động, hãy nhấp vào biểu tượng </> và chọn giá trị bạn muốn kiểm tra. Không phải trường nào cũng có thể sử dụng giá trị động.

Ví dụ: Bạn tạo một quy trình làm việc gắn thẻ đơn hàng nếu quốc gia trong địa chỉ thanh toán của đơn hàng khớp với quốc gia trong địa chỉ giao hàng.

Ví dụ về quy trình làm việc gắn thẻ đơn hàng bằng dữ liệu RHS để kiểm tra đảm bảo quốc gia thanh toán và quốc gia vận chuyển của khách hàng là giống nhau.

Trong ví dụ này, cả giá trị thứ nhất và thứ hai đều lấy từ dữ liệu cửa hàng thay vì chỉ định thủ công một chuỗi tĩnh để kiểm tra giá trị thứ hai. Nếu quốc gia trong địa chỉ thanh toán mà khách hàng cung cấp giống với quốc gia khách hàng cung cấp trong địa chỉ giao hàng thì điều kiện là true và đơn hàng sẽ được gắn thẻ.

Bạn đã sẵn sàng bán hàng với Shopify?

Dùng thử miễn phí