Biến trong Shopify Flow

Biến là phần giữ chỗ được thay thế bằng các giá trị khi quy trình làm việc chạy. Những biến này mô tả thuộc tính của khách hàng, đơn hàng và sản phẩm có liên quan đến quy trình làm việc. Ví dụ: Có các biến cho mã đơn hàng, giá đơn hàng, tên khách hàng, v.v.

Flow sử dụng phiên bản Liquid khác so với chủ đề Shopify và có thể truy cập mọi biến có trên API quản trị GraphQL.

Tên của hầu hết các biến đều là tự mô tả. Ví dụ: Biến hiển thị tên sản phẩm là {{ product.title }}. Khi tin nhắn được gửi đi, biến này sẽ được thay thế bằng tên của sản phẩm đã đặt hàng: Large Coffee Mug.

Thêm biến vào thao tác

Bạn có thể thêm biến vào bất kỳ trường văn bản nào có chứa liên kết Thêm biến. Nhấp vào liên kết Thêm biến bên dưới trường liên quan, rồi chọn một biến trong danh sách.

Các biến trong danh sách Thêm biến được lọc để bạn chỉ nhìn thấy những biến được dùng cho yếu tố kích hoạt bạn đã chọn. Sau khi bạn chọn một biến trong danh sách, biến này sẽ được định dạng phù hợp và thêm vào hộp văn bản giúp bạn.

Flow hỗ trợ hầu hết các trường API quản trị GraphQL.

Biến Liquid

Nếu bạn là nhà phát triển có kinh nghiệm viết mã Liquid, bạn có thể sử dụng Liquid để viết biến hoặc chỉnh sửa biến mà bạn thêm bằng liên kết Thêm biến. Để tìm hiểu thêm, hãy tham khảo tài liệu tham khảo về API quản trị GraphQL.

Thẻ có điều kiện và thẻ lặp lại

Bạn có thể thêm thủ công thẻ biến Liquid vào tin nhắn về quy trình làm việc. Bạn có thể sử dụng các thẻ này để thêm thông tin vào tin nhắn.

Ví dụ: Bạn có thể sử dụng đối tượng for loop để lặp lại thông qua danh sách đối tượng, ví dụ các mục hàng trong một đơn hàng. Với những thẻ này, bạn có thể tạo tin nhắn chứa thông tin chi tiết như tiêu đề sản phẩm, SKU, giá và số lượng cho từng mục hàng trong một đơn hàng, và giúp người nhận không phải tra cứu thông tin này trong trang quản trị Shopify của bạn.

Flow hỗ trợ các thẻ có điều kiện (hoặc thẻ điều khiển luồng) sau của Liquid:

Flow cũng hỗ trợ các thẻ lặp lại sau của Liquid:

Bộ lọc

Flow hỗ trợ các bộ lọc Liquid sau:

Các bộ lọc Liquid được Flow hỗ trợ
Tên bộ lọc Loại bộ lọc
abs Toán học
append Chuỗi
at_least Toán học
at_most Toán học
capitalize Chuỗi
ceil Toán học
concat Mảng
date Bổ sung
mặc định Bổ sung
divided_by Toán học
downcase Chuỗi
escape Chuỗi
đầu tiên Mảng
floor Toán học
join Mảng
last Mảng
lstrip Chuỗi
bản đồ Mảng
minus Toán học
modulo Toán học
newline_to_br Chuỗi
biểu tượng dấu cộng Toán học
prepend Chuỗi
xóa Chuỗi
remove_first Chuỗi
thay thế Chuỗi
replace_first Chuỗi
reverse Mảng
round Toán học
rstrip Chuỗi
kích cỡ Mảng
slice Chuỗi
sắp xếp Mảng
phân tách Chuỗi
strip Chuỗi
strip_html Chuỗi
strip_newlines Chuỗi
times Toán học
truncate Chuỗi
truncatewords Chuỗi
uniq Mảng
upcase Chuỗi
url_encode Chuỗi
where Mảng

Ví dụ về biến

Ví dụ: Bạn muốn tạo quy trình làm việc để gửi email cho nhân viên khi khách hàng chi tiêu trên 500 USD cho một đơn hàng. Bạn tạo quy trình làm việc bằng yếu tố kích hoạt Đã tạo đơn hàng, đặt điều kiện là true nếu tổng giá trị đơn hàng trên 500 USD và sử dụng thao tác Gửi email nội bộ. Trong mục Thông báo của thao tác Gửi email nội bộ, bạn sử dụng các biến sau.

Ví dụ về sử dụng biến để cung cấp thông tin chi tiết về khách hàng.
Nhập vào Thông tin đầu ra
Hãy gửi ghi chú cảm ơn cá nhân cho {{ order.customer.firstName }} {{ order.customer.lastName }}({{ order.customer.email }}) vì đã đặt hàng có giá trị {{ order.totalPriceSet.shopMoney.amount }} USD. Hãy gửi ghi chú cảm ơn cá nhân cho Nguyễn Tuyết Mai (tuyetmai@example.com) vì đã đặt đơn hàng có giá trị 763,42 USD.

Bạn thấy cần thông báo cho nhân viên khi hàng trong kho của sản phẩm sắp hết và cần đặt thêm hàng để lưu kho. Bạn tạo quy trình làm việc bắt đầu bằng yếu tố kích hoạt Đã thay đổi số lượng hàng tồn kho và đặt điều kiện là true nếu số lượng hàng tồn kho trước đó nhỏ hơn hoặc bằng 10. Trong mục Thông báo của thao tác Gửi email nội bộ, bạn sử dụng các biến sau.

Ví dụ về sử dụng biến để cung cấp chi tiết mặt hàng.
Nhập vào Thông tin đầu ra
Hãy đặt hàng lại {{ product.title }}. Gửi email đến địa chỉ owner@store.com để xác minh họ đã nhận được đơn đặt hàng. Hãy đặt hàng lại Quần legging cạp cao - Màu đen. Gửi email đến địa chỉ owner@example.com để xác minh họ đã nhận được đơn đặt hàng.

Bạn muốn hủy đơn hàng có mức độ rủi ro cao nhưng ưu tiên để nhân viên hủy đơn hàng theo cách thủ công. Bạn tạo quy trình làm việc bắt đầu bằng yếu tố kích hoạt Đã tạo đơn hàng và đặt điều kiện là true nếu mức độ rủi ro của đơn hàng cao. Trong mục Thông báo của thao tác Gửi email nội bộ, bạn sử dụng các biến sau.

Ví dụ về sử dụng biến để cung cấp thông tin về đơn hàng gian lận.
Nhập vào Thông tin đầu ra
Cửa hàng Shopify của chúng tôi đã nhận được đơn hàng có nguy cơ gian lận cao. Chúng tôi muốn hủy đơn hàng này ngay lập tức trước khi gửi đơn hàng đến bộ phận sản xuất:

{{ order.name }}
{{ order.billingAddress.lastName }}, {{ order.billingAddress.firstName }}
{{ order.email }}

Vui lòng xác nhận trạng thái đơn hàng mới. Xin cảm ơn!
Cửa hàng Shopify của chúng tôi đã nhận được đơn hàng có nguy cơ gian lận cao. Chúng tôi muốn hủy đơn hàng này ngay lập tức trước khi gửi đơn hàng đến bộ phận sản xuất:

#1001
Nguyễn, Mai
tuyetmai@example.com

Vui lòng xác nhận trạng thái đơn hàng mới. Xin cảm ơn!

Ví dụ về vòng lặp for

Khi nhận được đơn hàng, bạn nên gửi tin nhắn chứa các sản phẩm đã được đặt. Bạn có thể gửi tin nhắn bằng cách sử dụng for loop để thực hiện một khối mã nhiều lần. Các trường văn bản hỗ trợ biến cũng hỗ trợ vòng lặp for và đối tượng forloop.

Ví dụ: Bạn muốn tạo quy trình làm việc trả về danh sách tất cả SKU và số lượng trong đơn hàng. Trong mục Thông báo của thao tác Gửi email nội bộ, bạn sử dụng các biến sau.

Ví dụ về sử dụng vòng lặp for để cung cấp thông tin đơn hàng.
Nhập vào Thông tin đầu ra
Tóm tắt đơn hàng:
{% for a in order.lineItems %}
SKU: {{a.sku}} ( {{a.quantity}} ),
{% endfor %}
Tóm tắt đơn hàng:
8987097979 (50)
8877778887 (3)
888998898B (1)

Bạn quyết định thêm thông tin vào email, bao gồm tên sản phẩm, SKU, giá mỗi mặt hàng và thông tin vận chuyển của khách hàng. Trong mục Thông báo của thao tác Gửi email nội bộ, bạn sử dụng các biến sau.

Ví dụ về sử dụng vòng lặp for để cung cấp thêm thông tin đơn hàng.
Nhập vào Thông tin đầu ra
Tóm tắt đơn hàng:
{% for a in order.lineItems %}
Sản phẩm: {{a.title}}
SKU: {{a.sku}}
Giá (trên mỗi đơn vị): $ {{a.originalUnitPriceSet.shopMoney.amount}}
Số lượng: {{a.quantity}}
{% endfor %}
Tóm tắt đơn hàng:
Sản phẩm: Quần legging cạp cao - Màu đen
SKU: 8987097979
Giá (trên mỗi đơn vị): 8.49 USD
Số lượng: 5
Sản phẩm: Tất thể thao - Màu xanh dương
SKU: 888998898B
Giá (trên mỗi đơn vị): 5,61 USD
Số lượng: 2

Bạn cần theo dõi các mặt hàng đã bán do nhà cung cấp nào đó cung cấp. Trong mục Thông báo của thao tác Gửi email nội bộ, bạn sử dụng các biến sau và thêm câu lệnh if vào for loop.

Ví dụ về sử dụng vòng lặp for và câu lệnh if để cung cấp thông tin đơn hàng cho nhà cung cấp cụ thể.
Nhập vào Thông tin đầu ra
Sản phẩm đã bán của Acme:
{% for x in order.lineItems %}
{% if x.vendor == 'acme-vendor' %}
Tên sản phẩm: {{x.title}}
SKU: {{x.sku}}
{% endif %}
{% endfor %}
Sản phẩm đã bán của Acme:
Tên sản phẩm: Quần legging cạp cao - Màu đen
SKU: 8987097979

Đối tượng dữ liệu phức tạp trong Shopify Flow

Shopify Flow không hỗ trợ xuất mảng và đối tượng vì những lý do sau:

  • API GraphQL đã ngừng việc không bắt buộc xuất dữ liệu. Điều này có thể tạo kích thước truy vấn lớn khiến quy trình làm việc không thành công.
  • Khi ra mắt tính năng mới thì sẽ có thêm các trường API mới. Điều này có thể làm hỏng quy trình làm việc của bạn.

Nếu tự động gửi quá nhiều dữ liệu, quy trình làm việc sẽ không thành công. Thay vì gọi trực tiếp mảng và đối tượng, hãy lặp lại các mảng và chỉ thêm trường bạn muốn.

Ví dụ: Thay vì gọi trực tiếp {{ order.lineItems }}, hãy sử dụng định dạng sau để gọi các trường cụ thể. Những ví dụ dưới đây bao gồm tất cả các trường được thêm vào khi gọi trực tiếp mảng hoặc đối tượng. Hãy sao chép và dán các trường bạn cần.

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

Dùng thử miễn phí