Lịch trình, thao tác lấy dữ liệu và dòng công việc dạng vòng lặp trong Shopify Flow

Trong hầu hết các trường hợp, có thể xây dựng dòng công việc bằng cách liên kết nhiều điều kiện và thao tác với một yếu tố kích hoạt sẽ chạy khi có sự kiện xảy ra. Đối với các trường hợp sử dụng phức tạp hơn, bạn có thể thấy rằng không có yếu tố kích hoạt nào cho việc cần làm, cần chạy vào thời gian nhất định hoặc cần làm việc với một danh sách dữ liệu. Trong những trường hợp này, có thể sử dụng yếu tố kích hoạt theo lịch trình, thao tác lấy dữ liệu và vòng lặp để tạo các dòng công việc nâng cao.

Ví dụ: giả sử cần nhận bản tóm tắt hàng ngày về các đơn hàng chưa hoàn tất. Với nhóm tính năng này, có thể chạy một dòng công việc diễn ra hàng ngày vào một thời điểm nhất định để lấy các đơn hàng đó và gửi bản tóm tắt. Có thể khám phá thêm ví dụ và mẫu tận dụng những yếu tố kích hoạt và thao tác này.

Yếu tố kích hoạt theo lịch trình

Thay vì bắt đầu dòng công việc do có sự kiện, yếu tố kích hoạt Thời gian theo lịch trình (Scheduled time) sẽ bắt đầu dòng công việc vào ngày và giờ cụ thể do bạn chỉ định. Cũng có thể lên lịch để dòng công việc lặp lại hàng giờ, hàng ngày, hàng tuần hoặc hàng tháng. Do chạy theo lịch trình, để sử dụng dữ liệu như khách hàng, đơn hàng hoặc sản phẩm, phải sử dụng thao tác để lấy dữ liệu đó. Có thể thực hiện việc này bằng cách sử dụng các thao tác Lấy dữ liệu (Get data).

Yếu tố kích hoạt Thời gian theo lịch trình có thể chạy với tần suất 10 phút một lần.

Thao tác lấy dữ liệu

Hầu hết các thao tác đều thay đổi điều gì đó trong cửa hàng, ví dụ: thêm thẻ cho khách hàng hoặc gửi lệnh đến một ứng dụng, chẳng hạn như yêu cầu ứng dụng gửi thông báo đẩy cho khách hàng.

Các thao tác Lấy dữ liệu sẽ tìm nạp dữ liệu từ cửa hàng để sử dụng trong Flow. Các thao tác này gọi một truy vấn kèm theo bộ lọc, chẳng hạn như chỉ lấy những mục được cập nhật trong ngày qua. Thao tác trả về danh sách dữ liệu khớp với thông tin đó. Ví dụ: thao tác Lấy dữ liệu đơn hàng (Get order data) gọi Truy vấn đơn hàng trên Admin API và trả về danh sách đơn hàng khớp với truy vấn của bạn.

Các thao tác lấy dữ liệu chỉ có thể chạy trên danh sách có tối đa 100 mục.

Các thao tác sau đây truy xuất thông tin từ cửa hàng để có thể sử dụng dữ liệu đó trong dòng công việc. Tham khảo từng thao tác để biết chi tiết về cách lọc dữ liệu và dữ liệu nào được trả về:

Thẻ Liquid trong các thao tác Lấy dữ liệu

Khi sử dụng thao tác Lấy dữ liệu với ngày tháng, có thể sử dụng các thẻ Liquid date_minusdate_plus để thay đổi ngày trong truy vấn. Ví dụ: để tính ngày trước thời gian chạy theo lịch trình của một dòng công việc 5 ngày, có thể sử dụng mã Liquid sau:

{{ scheduledAt | date_minus: "5 days" }}

Để biết thêm chi tiết về cách sử dụng những thẻ này, hãy tham khảo tài liệu về Biến Liquid.

Vòng lặp For each

Khi sử dụng thao tác Lấy dữ liệu, hệ thống sẽ trả về danh sách dữ liệu khớp với truy vấn. Bạn có thể sử dụng thao tác Vòng lặp For each (lặp) để lặp qua danh sách đó. Trong vòng lặp For each, bạn có thể áp dụng các điều kiện và thao tác riêng cho mục đó.

Ví dụ: bạn tạo một dòng công việc chạy vào mỗi thứ Hai. Dòng công việc này sử dụng thao tác Lấy dữ liệu đơn hàng để lấy các đơn hàng đã đặt trong tuần đó. Sau đó, thao tác Vòng lặp For each (lặp) sẽ áp dụng thẻ New order cho từng đơn hàng trả về từ danh sách getOrderData. Sau khi gắn thẻ tất cả đơn hàng trong danh sách, hệ thống sẽ gửi một email nội bộ thông báo quá trình gắn thẻ đã hoàn tất.

Ví dụ về dòng công việc lấy danh sách đơn hàng đã đặt trong tuần qua, gắn thẻ cho từng đơn hàng rồi gửi email.

Thao tác tổng hợp

Khi làm việc với danh sách, có thể bạn sẽ muốn đếm số lượng mục để sử dụng trong các Điều kiện và Thao tác sau này. Ví dụ: bạn muốn kiểm tra xem có hơn 0 kết quả hay không trước khi gửi email. Shopify Flow cung cấp các thao tác sau để tính toán dữ liệu danh sách trong dòng công việc:

  • Đếm trả về số lượng mục nhập trong một danh sách.
  • Tổng cộng gộp giá trị của các mục nhập trong danh sách.

Ví dụ về các dòng công việc nâng cao trong Shopify Flow

Tham khảo một số ví dụ về các dòng công việc nâng cao mà bạn có thể sử dụng trong Shopify Flow:

Nhận tóm tắt hàng ngày về các đơn hàng không đáp ứng được khung thời gian hoàn tất đơn hàng trong hai ngày

Có thể sử dụng dòng công việc này để xác định xem có đơn hàng nào không đáp ứng thời gian đảm bảo vận chuyển hay không, và nếu có thì giá trị của những đơn hàng đó là bao nhiêu.

Trong ví dụ này, dòng công việc chạy vào 5:00 chiều mỗi ngày. Dòng công việc sử dụng thao tác Lấy dữ liệu đơn hàng để lấy danh sách các đơn hàng chưa được hoàn tất trong khung thời gian vận chuyển hai ngày. Sau đó, thao tác For each sẽ gắn thẻ vào tất cả đơn hàng trễ. Dòng công việc này cũng sử dụng thao tác Đếm để xác định số lượng đơn hàng trễ và thao tác Tổng để tính giá trị của những đơn hàng đó. Các biến được tạo bằng thao tác ĐếmTổng sẽ được dùng để gửi email thông báo số lượng cũng như giá trị đơn hàng.

Ví dụ về dòng công việc lấy danh sách các đơn hàng trễ, gắn thẻ cho chúng và gửi email thông báo số lượng cũng như giá trị của những đơn hàng đó.

Cài đặt mẫu dòng công việc này trong cửa hàng của bạn.

Khi đơn hàng mới được tạo, kiểm tra xem cùng khách hàng đó có đặt đơn hàng nào khác trong vòng 24 giờ qua không

Có thể sử dụng dòng công việc này để xác định xem cùng một khách hàng có đặt nhiều đơn hàng trong cùng một ngày hay không. Nếu có, hãy tạm dừng quá trình hoàn tất đơn hàng để có thể giao các đơn hàng này cùng nhau.

Trong ví dụ này, dòng công việc chạy mỗi khi có một đơn hàng mới được tạo. Dòng công việc sử dụng thao tác Lấy dữ liệu đơn hàng để lấy danh sách các đơn hàng mà khách hàng đã đặt trong ngày vừa qua. Sau đó, thao tác Đếm sẽ xác định số lượng đơn hàng khách hàng đã đặt. Nếu khách hàng đặt từ hai đơn hàng trở lên trong cùng một ngày, hệ thống sẽ tạm dừng quá trình hoàn tất đơn hàng và gắn thẻ vào các đơn hàng đó.

Ví dụ về dòng công việc lấy danh sách gồm nhiều đơn hàng, gắn thẻ và tạm dừng hoàn tất các đơn hàng đó.

Cài đặt mẫu dòng công việc này trong cửa hàng của bạn.

Mỗi ngày, nhận email tóm tắt liệt kê các sản phẩm đã hết hàng

Dòng công việc này có thể được dùng để tạo danh sách mọi sản phẩm đã hết hàng và gửi email.

Trong ví dụ này, dòng công việc chạy vào 9:00 tối mỗi ngày. Dòng công việc sử dụng thao tác Lấy dữ liệu sản phẩm để lấy danh sách các sản phẩm không có hàng tồn kho. Thao tác Đếm sẽ xác định số lượng mặt hàng hết hàng. Các biến được tạo bằng thao tác Lấy dữ liệu đơn hàngĐếm được dùng để gửi email thông báo số lượng sản phẩm kèm danh sách các sản phẩm đó.

Ví dụ về dòng công việc lấy danh sách gồm nhiều đơn hàng, gắn thẻ và tạm dừng hoàn tất các đơn hàng đó.

Cài đặt mẫu dòng công việc này trong cửa hàng của bạn.

Mỗi ngày một lần, tìm tất cả đơn hàng có liên quan đến khoản bồi hoàn và gắn thẻ khách hàng

Có thể sử dụng dòng công việc này để theo dõi những khách hàng đã yêu cầu bồi hoàn.

Trong ví dụ này, dòng công việc chạy vào 10:00 sáng mỗi ngày. Dòng công việc sử dụng thao tác Lấy dữ liệu đơn hàng để lấy danh sách các đơn hàng có khoản bồi hoàn. Sau đó, thao tác For each sẽ gắn thẻ vào tất cả khách hàng đã đặt những đơn hàng đó.

Ví dụ về dòng công việc lấy danh sách các đơn hàng có khoản bồi hoàn và gắn thẻ khách hàng liên kết với các đơn hàng đó.

Cài đặt mẫu dòng công việc này trong cửa hàng của bạn.

Khi đơn hàng mới được tạo, xác định xem khách hàng đã đặt bao nhiêu đơn hàng trong sáu tháng qua

Có thể sử dụng dòng công việc này để xác định số lượng đơn hàng khách hàng đã đặt trong sáu tháng qua và gắn thẻ khách hàng thân thiết.

Trong ví dụ này, dòng công việc chạy mỗi khi có đơn hàng mới được tạo. Dòng công việc sử dụng thao tác Lấy dữ liệu đơn hàng để lấy danh sách các đơn hàng khách hàng đã đặt trong sáu tháng qua. Sau đó, thao tác Đếm sẽ xác định số lượng đơn hàng khách hàng đã đặt, còn thao tác Tổng sẽ tính giá trị của những đơn hàng đó. Hệ thống sẽ gắn một thẻ khách hàng nếu số lượng đơn hàng từ năm trở lên, và gắn một thẻ khác nếu tổng giá trị các đơn hàng từ 100 USD trở lên.

Ví dụ về dòng công việc lấy danh sách đơn hàng, tính toán số lượng và tổng giá trị đơn hàng, sau đó gắn thẻ khách hàng.

Cài đặt mẫu dòng công việc này trong cửa hàng của bạn.

Mỗi ngày, lấy danh sách tất cả đơn hàng nháp đang mở và gửi tin nhắn Slack

Có thể sử dụng dòng công việc này để gửi tin nhắn Slack thông báo xem cửa hàng của bạn có đơn hàng nháp đang mở nào không, và nếu có thì số lượng là bao nhiêu.

Trong ví dụ này, dòng công việc chạy vào 17:00 hằng ngày. Dòng công việc sử dụng thao tác Lấy dữ liệu đơn hàng nháp để lấy danh sách đơn hàng nháp có trạng thái Mở. Sau đó, thao tác Đếm sẽ xác định số lượng đơn hàng nháp đang mở. Biến do thao tác Đếm tạo ra được dùng để gửi tin nhắn Slack nhằm cho biết số lượng đơn hàng nháp đang mở.

Ví dụ về dòng công việc lấy danh sách đơn hàng nháp, tính số lượng đơn hàng nháp đang mở và gửi tin nhắn Slack.

Cài đặt mẫu dòng công việc này trong cửa hàng của bạn.